-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
47 lines (43 loc) · 1.2 KB
/
pyproject.toml
File metadata and controls
47 lines (43 loc) · 1.2 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
[project]
name = "unearthed"
version = "0.1.0"
requires-python = ">=3.12"
license = { file = "LICENSE" }
dependencies = [
"fastapi>=0.115,<1",
"uvicorn[standard]>=0.34,<1",
"snowflake-connector-python>=4.4,<5",
"pydantic>=2,<3",
"pydantic-settings>=2,<3",
"cryptography>=46.0.6,<47",
"requests>=2.31,<3",
"duckdb>=1.5,<2",
"h3>=4.1,<5",
]
[dependency-groups]
dev = [
"pytest>=9.0.3,<10",
"httpx>=0.28,<1",
"pytest-timeout>=2,<3",
"pytest-cov>=6,<7",
"ruff>=0.11,<1",
# scripts/ and fixture builders only — not used by the FastAPI runtime
"pyarrow>=24,<25",
"boto3>=1.40,<2",
# MSHA ingestion pipeline (scripts/msha_*): HTML scrape only — every Final
# Report has an HTML interstitial that mirrors the PDF, so no PDF parser
# ships in this branch. lxml is the parser for the search index and the
# interstitial pages; cssselect is lxml's CSS-selector backend.
"lxml>=6.0,<7",
"cssselect>=1.3,<2",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"e2e: end-to-end tests (timing-sensitive, excluded from CI)",
]
[tool.ruff]
target-version = "py312"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "W"]