Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
50 lines (42 loc) · 1.37 KB
/
Copy pathpyproject.toml
File metadata and controls
50 lines (42 loc) · 1.37 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
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "chess-crawl"
version = "0.1.0"
description = "Provider-neutral, raw-first PostgreSQL chess data archive"
readme = "README.md"
license = {file = "LICENSE"}
requires-python = ">=3.11"
dependencies = ["httpx>=0.27,<1.0", "psycopg[binary]>=3.2,<4", "pgn-read==2.7.3"]
[project.optional-dependencies]
dev = ["pytest>=8,<10"]
api = ["fastapi>=0.115,<1", "uvicorn>=0.30,<1"]
s3 = ["boto3>=1.36,<2"]
[project.scripts]
chess-crawl-admin = "chess_crawl.operations:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
"chess_crawl.storage" = ["*.sql"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
markers = [
"integration: offline integration tests that cross package boundaries",
"slow: slow tests excluded from default CI unless explicitly selected",
"live: requires explicit --run-live to use provider APIs or network access; skipped by default",
]
[dependency-groups]
dev = [
"bandit[toml]==1.9.4",
"fastapi>=0.115,<1",
"mypy>=2.1.0",
"pytest>=8,<10",
"pytest-cov>=7.1.0",
"ruff>=0.15.20",
]
[tool.bandit.assert_used]
# This executable test uses assertions and rejects optimized Python in main().
# All other rules still apply to it; application assertions remain findings.
skips = ["scripts/compose_smoke.py"]