-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
76 lines (64 loc) · 1.9 KB
/
Copy pathpyproject.toml
File metadata and controls
76 lines (64 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "openjobradar"
version = "0.1.0"
description = "Multi-tenant career intelligence: customizable job discovery, scoring, and alerting."
requires-python = ">=3.12"
readme = "README.md"
license = { file = "LICENSE" }
dependencies = [
"boto3>=1.40",
"PyYAML>=6.0",
"jsonschema>=4.24",
]
[project.optional-dependencies]
# The `playwright` ats_type (poll/render.py) js-renders careers pages with no machine-readable
# API. It's a heavy, browser-shipping dependency most of this repo's adapters don't need, so it's
# an extra rather than a base dependency — `render.py` imports `playwright.sync_api` lazily
# inside `scrape()`, so importing the module (or the rest of this package) works without it
# installed; only calling `scrape()` requires `pip install openjobradar[playwright]` plus
# `playwright install chromium`.
playwright = ["playwright>=1.40"]
[dependency-groups]
dev = [
"ruff==0.16.4",
"mypy==1.18.2",
"pytest==8.4.2",
"pytest-cov==7.0.0",
"hypothesis==6.140.3",
"types-PyYAML",
"moto[dynamodb,ses]==5.2.3",
"boto3-stubs[dynamodb,ses,bedrock-runtime]==1.43.78",
]
[tool.hatch.build.targets.wheel]
packages = ["src/openjobradar"]
[tool.ruff]
line-length = 115
target-version = "py312"
[tool.ruff.lint]
select = ["E", "W", "F", "I", "UP", "B", "SIM", "S", "C90", "RUF"]
ignore = ["E731", "E741"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["S101"]
[tool.mypy]
ignore_missing_imports = true
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--strict-markers --strict-config"
markers = [
"unit: fast, fully-mocked behavior test (default tier)",
]
[tool.coverage.run]
source = ["src/openjobradar"]
branch = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if __name__ == .__main__.:",
"raise NotImplementedError",
]
fail_under = 85