Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
76 lines (68 loc) · 2.29 KB
/
Copy pathpyproject.toml
File metadata and controls
76 lines (68 loc) · 2.29 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 = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "pilot"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = []
[project.scripts]
pilot = "pilot.cli:main"
[project.optional-dependencies]
admin = ["flask>=3.0", "psutil>=5.9", "pymysql>=1.1", "gunicorn>=21.2", "boto3==1.43.39", "psycopg2-binary>=2.9", "pyjwt[crypto]>=2.8", "litellm==1.93.0", "PyOTP==2.10.0", "datum @ git+https://github.com/frappe/datum@main"]
test = ["pytest>=8.0", "pytest-cov>=5.0", "requests>=2.31", "hypothesis>=6.0"]
e2e = ["pytest>=8.0", "pytest-playwright>=0.5", "playwright>=1.51"]
type-check = ["mypy>=1.13"]
[tool.setuptools.packages.find]
where = ["."]
include = ["pilot*", "admin*"]
exclude = ["benches*", "tests*", "docs*", "admin.frontend*"]
[tool.pytest.ini_options]
testpaths = ["tests/admin", "tests/pilot"]
norecursedirs = ["benches", "admin/frontend/dashboard/node_modules", ".hypothesis", ".*"]
markers = [
"incremental: run tests in order and stop dependent checks after a failure",
"integration: requires local services or a full bench environment",
"production: exercises production setup paths",
]
[tool.setuptools.package-data]
"admin.backend" = [
"templates/*.html",
"static/dashboard/**/*",
"static/editor/**/*",
]
"pilot.core" = [
"assets/*",
"templates/*.template",
]
"pilot.managers.nginx" = [
"templates/*.template",
]
"pilot.managers.gunicorn" = [
"templates/*.template",
]
"pilot.managers.fluentbit" = [
"templates/*",
]
"pilot._vendor.packaging" = [
"py.typed",
"LICENSE*",
]
[tool.mypy]
python_version = "3.11"
ignore_missing_imports = true
warn_unused_ignores = true
exclude = ["^build/", "^benches/", "^admin/frontend/dashboard/", "^pilot/_vendor/"]
# Vendored upstream source; not ours to fix.
[[tool.mypy.overrides]]
module = "pilot._vendor.*"
ignore_errors = true
follow_imports = "skip"
# Every requires_bench=True command's self.bench is guaranteed non-None by the
# CLI dispatch layer (pilot/registry.py) before run() executes - an invariant
# the type checker can't see from Command's shared `Bench | None` attribute.
# This is the one known, accepted gap in the type-checking baseline; every
# other module is expected to be clean.
[[tool.mypy.overrides]]
module = "pilot.commands.*"
disable_error_code = ["union-attr", "arg-type"]