Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
71 lines (56 loc) · 1.9 KB
/
Copy pathpyproject.toml
File metadata and controls
71 lines (56 loc) · 1.9 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
[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
name = "hypagent"
version = "1.0.0"
description = "HypAgent: a value-gated causal hypothesis discovery agent and a do()-grounded SCM benchmark"
readme = "README.md"
license = "CC-BY-NC-4.0"
license-files = ["LICENSE", "NOTICE"]
requires-python = ">=3.10"
dependencies = [
"numpy>=2.0.2",
"pandas>=2.3.3,<3", # pandas 3 changes string dtypes; the gates assume object dtype
"scipy>=1.13.1",
"scikit-learn>=1.6.1",
"statsmodels>=0.14.6",
]
[project.optional-dependencies]
parquet = ["pyarrow>=21.0.0"]
bedrock = ["boto3>=1.42.97"]
anthropic = ["anthropic>=0.40"]
openai = ["openai>=1.40"]
test = ["pytest>=7"]
[project.scripts]
HypAgent = "hyp_agent.cli:main"
[tool.setuptools.packages.find]
where = ["src"]
namespaces = false # ship only hyp_agent and scm, not the examples/ dirs
[tool.setuptools.package-data]
hyp_agent = ["py.typed"]
[tool.pytest.ini_options]
xfail_strict = true
addopts = "--verbose --durations=5"
testpaths = ["test"]
pythonpath = ["src"]
[tool.black]
line-length = 100
[tool.isort]
known_first_party = ["hyp_agent", "scm"]
# required for compatibility with black:
profile = "black"
# To maintain consistency with other settings
line_length = 100
[tool.mypy]
# See https://mypy.readthedocs.io/en/latest/config_file.html for more mypy options.
# Enables the type-checker on the interior of functions without type annotations.
check_untyped_defs = true
# Displaying specific error codes makes it easier to silence specific errors
# See also https://mypy.readthedocs.io/en/latest/error_codes.html
show_error_codes = true
# Show source code snippets and location markers in error messages
pretty = true
# Suppresses errors about packages which do not implement type-hint sharing.
# See also https://mypy.readthedocs.io/en/latest/running_mypy.html#missing-imports.
ignore_missing_imports = true