Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
executable file
·119 lines (112 loc) · 3.34 KB
/
Copy pathpyproject.toml
File metadata and controls
executable file
·119 lines (112 loc) · 3.34 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
[project]
name = "causalml"
version = "0.18.0"
description = "Python Package for Uplift Modeling and Causal Inference with Machine Learning Algorithms"
readme = { file = "README.md", content-type = "text/markdown" }
authors = [
{ "name" = "Huigang Chen" },
{ "name" = "Totte Harinen" },
{ "name" = "Jeong-Yoon Lee" },
{ "name" = "Jing Pan" },
{ "name" = "Mike Yung" },
{ "name" = "Zhenyu Zhao" }
]
maintainers = [
{ name = "Jeong-Yoon Lee" }
]
classifiers = [
"Programming Language :: Python",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
]
requires-python = ">=3.11"
dependencies = [
"forestci==0.6",
"pathos==0.2.9",
"numpy>=1.25.2",
"scipy>=1.16.0",
"matplotlib",
"pandas>=0.24.1",
"scikit-learn>=1.6.0",
"statsmodels>=0.14.5",
"seaborn",
"xgboost",
"pydot>=3.0.0",
"tqdm",
"shap",
"dill",
"lightgbm",
"packaging",
"graphviz",
"black>=26.1.0",
]
[project.optional-dependencies]
polars = ["polars>=1.0.0"]
test = [
"pytest>=4.6",
"pytest-cov>=4.0",
"causalml[polars]"
]
tf = [
"tensorflow>=2.4.0"
]
torch = [
"torch",
"pyro-ppl"
]
jax = [
"jax>=0.4.1",
"flax>=0.11.0",
"optax>=0.1.4",
"orbax-checkpoint>=0.10.0",
]
# The Sphinx toolchain only. Everything the docs import -- numpy, scikit-learn,
# matplotlib and the rest -- already comes from the package's own dependencies,
# and the neural backends are mocked in docs/conf.py rather than installed.
# nbsphinx also needs the `pandoc` binary, which is not a Python package.
docs = [
"sphinx>=8.2,<10",
"pydata-sphinx-theme>=0.20.0",
"sphinxcontrib-bibtex",
"nbsphinx",
# nbsphinx renders every notebook code cell as `ipython3`, and that Pygments
# lexer ships with IPython. 8.10.0 clears GHSA-29gw-9793-fvw7.
"ipython>=8.10.0",
# Sphinx pulls Pygments in regardless; < 2.20.0 carries a ReDoS in AdlLexer
# (GHSA-5239-wwwm-4pmq).
"pygments>=2.20.0",
]
[build-system]
requires = [
"setuptools>=18.0",
"wheel",
"Cython",
"numpy>=1.18.5",
"scikit-learn>=1.6.0",
]
[project.urls]
homepage = "https://github.com/uber/causalml"
[tool.pytest.ini_options]
markers = [
# The benchmark dataset loaders fetch from their original hosts. Tests that
# touch the network are opt-in (`pytest -m network`) so the ordinary suite
# stays offline and a source URL moving cannot redden an unrelated PR.
"network: needs a benchmark dataset, downloaded or already cached",
]
filterwarnings = [
# CausalML's own #854 argument-order deprecation must never fire during the
# suite: it means the library called a shimmed method positionally, and a
# user calling the API correctly would see the warning with nothing to fix.
# Scoped to this one message rather than all FutureWarnings, so a warning
# from numpy, pandas or scikit-learn cannot fail the build on a dependency
# release. Tests that assert the warning use `pytest.warns`, which is
# unaffected.
'error:Passing .treatment. and/or .y. to \w+\(\) by position is deprecated:FutureWarning',
]
[tool.cibuildwheel]
build = ["cp311-*", "cp312-*"]
build-verbosity = 1
manylinux-x86_64-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"
# Skip 32-bit builds
skip = ["*-win32", "*-manylinux_i686", "*-musllinux*"]