-
Notifications
You must be signed in to change notification settings - Fork 65
/
pyproject.toml
131 lines (119 loc) · 3.51 KB
/
pyproject.toml
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
[build-system]
# Minimum requirements for the build system to execute.
build-backend = "setuptools.build_meta"
requires = ["setuptools>=61.0"]
# This is configuration specific to the `setuptools` build backend.
# If you are using a different build backend, you will need to change this.
[tool.setuptools.packages.find]
exclude = ["causalpy.test*", "docs*"]
[tool.setuptools.package-data]
"causalpy.data" = ["*.csv"]
[project]
name = "CausalPy"
version = "0.4.0"
description = "Causal inference for quasi-experiments in Python"
readme = "README.md"
license = { file = "LICENSE" }
authors = [{ name = "Ben Vincent", email = "[email protected]" }]
requires-python = ">=3.10"
# This field lists other packages that your project depends on to run.
# Any package you put here will be installed by pip when your project is
# installed, so they must be valid existing projects.
#
# For an analysis of this field vs pip's requirements files see:
# https://packaging.python.org/discussions/install-requires-vs-requirements/
dependencies = [
"arviz>=0.14.0",
"graphviz",
"ipython!=8.7.0",
"matplotlib>=3.5.3",
"numpy",
"pandas",
"patsy",
"pymc>=5.15.1",
"scikit-learn>=1",
"scipy",
"seaborn>=0.11.2",
"statsmodels",
"xarray>=v2022.11.0",
]
# List additional groups of dependencies here (e.g. development dependencies). Users
# will be able to install these using the "extras" syntax, for example:
#
# $ pip install causalpy[dev]
#
# Similar to `dependencies` above, these must be valid existing projects.
[project.optional-dependencies]
dev = ["pathlib", "pre-commit", "twine", "interrogate", "codespell", "nbformat", "nbconvert"]
docs = [
"ipykernel",
"daft",
"linkify-it-py",
"myst-nb!=1.1.0",
"pathlib",
"sphinx",
"sphinx-autodoc-typehints",
"sphinx_autodoc_defaultargs",
"labs-sphinx-theme",
"sphinx-copybutton",
"sphinx-rtd-theme",
"statsmodels",
"sphinxcontrib-bibtex",
"sphinx-notfound-page",
"ipywidgets",
"sphinx-design",
]
lint = ["interrogate", "pre-commit", "ruff"]
test = ["pytest", "pytest-cov", "codespell", "nbformat", "nbconvert"]
[metadata]
description-file = 'README.md'
license_files = 'LICENSE'
[project.urls]
Homepage = "https://github.com/pymc-labs/CausalPy"
"Bug Reports" = "https://github.com/pymc-labs/CausalPy/issues"
"Source" = "https://github.com/pymc-labs/CausalPy"
[tool.pytest.ini_options]
addopts = [
"-vv",
"--strict-markers",
"--strict-config",
"--cov=causalpy",
"--cov-report=term-missing",
"--doctest-modules",
]
testpaths = "causalpy/tests"
markers = [
"integration: mark as an integration test.",
"slow: mark test as slow.",
]
[tool.interrogate]
ignore-init-method = true
ignore-init-module = true
ignore-magic = false
ignore-semiprivate = false
ignore-private = false
ignore-property-decorators = false
ignore-module = false
ignore-nested-functions = false
ignore-nested-classes = true
ignore-setters = false
fail-under = 85
exclude = ["setup.py", "docs", "build", "dist"]
ignore-regex = ["^get$", "^mock_.*", ".*BaseClass.*"]
# possible values: 0 (minimal output), 1 (-v), 2 (-vv)
verbose = 1
quiet = false
whitelist-regex = []
color = true
omit-covered-files = false
generate-badge = "docs/source/_static/"
badge-format = "svg"
[tool.ruff.format]
docstring-code-format = true
[tool.ruff.lint]
extend-select = [
"I", # isort
]
[tool.codespell]
ignore-words = "./docs/source/.codespell/codespell-whitelist.txt"
skip = "*.ipynb,*.csv,pyproject.toml,docs/source/.codespell/codespell-whitelist.txt"