Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
85 lines (78 loc) · 2.53 KB
/
Copy pathpyproject.toml
File metadata and controls
85 lines (78 loc) · 2.53 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
77
78
79
80
81
82
83
84
85
[build-system]
build-backend = "setuptools.build_meta"
requires = [ "setuptools", "wheel" ]
[project]
name = "template-python"
version = "0.1.0"
description = "Template python repository."
readme = "README.md"
keywords = [ "python" ]
license = { file = "LICENSE.txt" }
authors = [ { name = "Max" } ]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
# PyPI rejects direct references (name @ git+...), so only version ranges go here; the
# max-models packages come from their devel branches through [tool.uv.sources]
dependencies = [
"numpy",
"scope-profiler>=0.7.5",
]
optional-dependencies.dev = [
"jupyterlab",
"pre-commit",
"pyproject-fmt",
"pyright",
"ruff",
"template-python[docs,test]",
]
optional-dependencies.docs = [
"griffe",
"ipykernel",
"matplotlib>=3.10.9",
"nbclient>=0.11",
"nbformat>=5.11.1",
]
optional-dependencies.test = [ "pytest", "pytest-cov" ]
urls.Source = "https://github.com/max-models/template-python"
scripts.template-python = "app.main:main"
[tool.setuptools]
package-data."*" = [ "py.typed" ]
packages.find.where = [ "src" ]
[tool.ruff]
target-version = "py310"
line-length = 88
extend-include = [ "*.ipynb" ]
# pycodestyle, pyflakes, isort, pyupgrade, bugbear and pydocstyle
lint.select = [ "B", "D", "E", "F", "I", "UP", "W" ]
lint.ignore = [ "E501" ] # line length is handled by the formatter
lint.per-file-ignores."**/tests/**" = [ "D" ]
lint.per-file-ignores."*.ipynb" = [ "D" ]
lint.per-file-ignores."docs/tools/*" = [ "D" ]
lint.pydocstyle.convention = "google"
[tool.pyright]
include = [ "src" ]
exclude = [ "**/tests" ]
pythonVersion = "3.10"
typeCheckingMode = "standard"
[tool.pytest]
ini_options.pythonpath = [ "src" ]
ini_options.testpaths = [ "src" ]
ini_options.addopts = "-ra"
[tool.coverage]
run.omit = [ "*/tests/*" ]
run.source = [ "app" ]
report.show_missing = true
# PRs to devel test against the devel branches of the max-models packages (pinned in
# uv.lock); PRs to main and the release use PyPI only (CI sets UV_NO_SOURCES).
[tool.uv.sources]
# one entry per max-models package in [project], spelled exactly like this in every repo:
# cunumpy = { git = "https://github.com/max-models/cunumpy", branch = "devel" }
scope-profiler = { git = "https://github.com/max-models/scope-profiler", branch = "devel" }