-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
139 lines (131 loc) · 3.98 KB
/
Copy pathpyproject.toml
File metadata and controls
139 lines (131 loc) · 3.98 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools", "setuptools-scm"]
[project]
authors = [
{email = "arc.collaborations@ucl.ac.uk", name = "Collaborations team, UCL Centre for Advanced Research Computing"},
]
classifiers = [
"Operating System :: POSIX",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Typing :: Typed",
]
dependencies = [
"flax",
"jax",
"networkx",
"numpy",
"numpyro",
"optax",
"quadraturerules",
"tqdm",
"typing_extensions",
]
description = "A Python package for causal modelling and inference with stochastic causal programming"
dynamic = ["version"]
keywords = []
name = "causalprog"
optional-dependencies = {dev = [
"build",
"mypy",
"pre-commit",
"ruff",
"tox",
"twine",
], docs = [
"mkdocs",
"mkdocs-include-markdown-plugin",
"mkdocs-material",
"mkdocstrings",
"mkdocstrings-python",
], test = [
"nbmake",
"numpy",
"pytest",
"pytest-cov",
"pytest-mock",
]}
readme = "README.md"
requires-python = ">=3.11"
license.file = "LICENSE.md"
urls.homepage = "https://github.com/UCL/causalprog"
[tool.coverage]
report = {sort = "cover"}
run = {branch = true, parallel = true, source = ["causalprog"]}
paths.source = ["src", ".tox*/*/lib/python*/site-packages"]
[tool.mypy]
exclude = ["tests"]
explicit_package_bases = true
[tool.pytest.ini_options]
addopts = ["--color=yes", "--import-mode=importlib", "--verbose"]
testpaths = ["tests"]
[tool.ruff]
fix = true
force-exclude = true
lint.ignore = [
"ANN002", # missing typehints for *args
"ANN003", # missing typehints for **kwargs
"COM812", # trailing commas (ruff-format recommended)
"D105", # missing docstrings on magic (dunder) methods
"D203", # no-blank-line-before-class
"D212", # multi-line-summary-first-line
"D407", # removed dashes lines under sections
"D417", # argument description in docstring (unreliable)
"FIX002", # Lines marked with "todo" are OK for now:
"ISC001", # simplify implicit str concatenation (ruff-format recommended)
"PLR0913", # More than 5 function inputs
"TD002", # Lines marked with "todo" are OK for now
"TD003", # Lines marked with "todo" are OK for now
]
lint.per-file-ignores = {"__init__.py" = [
"F401", # Unused import
], "examples*" = [
"D103", # Allow missing docstrings in examples
"FBT001", # Allow boolean traps in examples
"FBT002", # Allow boolean traps in examples
"T201", # Allow print statements in examples
], "tests*" = [
"ANN",
"D",
"FBT001", # Boolean trap in func definition
"INP001", # File is part of an implicit namespace package.
"PLR0913", # Too many arguments in function definition
"PLR2004", # Magic value used in comparison
"PT028", # Test function parameters have default arguments
"S101", # Use of `assert` detected
]}
lint.select = ["ALL"]
lint.flake8-unused-arguments.ignore-variadic-names = true
lint.isort.known-first-party = ["causalprog"]
lint.mccabe.max-complexity = 18
lint.pep8-naming.classmethod-decorators = ["classmethod"]
[tool.setuptools_scm]
local_scheme = "no-local-version"
write_to = "src/causalprog/_version.py"
[tool.tomlsort]
all = true
spaces_indent_inline_array = 4
trailing_comma_inline_array = true
overrides."project.classifiers".inline_arrays = false
overrides."tool.coverage.paths.source".inline_arrays = false
overrides."tool.tox.env.docs.commands".inline_arrays = false
overrides."tool.tox.env_run_base.commands".inline_arrays = false
[tool.tox]
env_list = ["py311", "py312", "py313"]
env_run_base = {commands = [
[
"pytest",
"--cov",
"--cov-report=xml",
],
], extras = [
"test",
]}
env.docs = {commands = [["mkdocs", "build", "--strict"]], extras = ["docs"]}
gh.python."3.11" = ["py311"]
gh.python."3.12" = ["py312"]
gh.python."3.13" = ["py313"]