Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
113 lines (104 loc) · 2.63 KB
/
Copy pathpyproject.toml
File metadata and controls
113 lines (104 loc) · 2.63 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "dynestyx"
version = "0.7.1"
description = "Probabilistic programming for dynamical systems; support for NumPyro, continuous & discrete-time systems, stochastic & deterministic processes."
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.12,<3.14"
authors = [
{ name = "Basis" },
]
keywords = [
"machine learning",
"statistics",
"dynamical systems",
"bayesian modeling",
"jax",
]
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dependencies = [
"effectful>=0.4.0",
"cuthbert>=0.1.1",
"cuthbertlib>=0.1.1",
"cd-dynamax>=0.4.3",
"matplotlib>=3.10.7",
# numpyro<0.21.0 fails to import against jax>=0.10 (removed xla_pmap_p);
# keep this floor aligned with the jax floor below.
"numpyro>=0.21.0",
"blackjax>=1.6",
"equinox>=0.13.2",
"jaxtyping>=0.3.9",
"diffrax>=0.7.2",
"numpy>=2.0",
"jax>=0.8.2",
"jaxlib>=0.8.2",
"tfp-nightly>=0.26.0dev20250530",
"orbax-checkpoint<0.11.3; sys_platform == 'win32'"
]
[tool.hatch.build.targets.wheel]
packages = ["dynestyx"]
[tool.hatch.metadata]
allow-direct-references = true
[dependency-groups]
dev = [
"arviz>=1.0",
"ipywidgets>=8.1.8",
"jupyter>=1.1.1",
"mike>=2.1.0",
"mkdocs-material>=9.7.1",
"mkdocs>=1.6.1,<2",
"mkdocstrings[python]>=1.0.1",
"pytest>=9.0.1",
"pytest-xdist>=3.8.0",
"pytkdocs-tweaks>=0.0.8",
"ruff>=0.14.11",
"ty>=0.0.81",
"typeguard>=2.13.3,<3",
"mkdocs-jupyter>=0.25.1,<0.26.0",
"nbconvert>=7",
"seaborn>=0.13.2",
"imageio>=2.37.2",
"optax>=0.2.0"
]
[tool.ruff.lint]
select = [
"F", # pyflakes
"I", # isort
"PERF", # performance
"UP" # pyupgrade
]
ignore = [
"F722", # jaxtyping shape annotations use strings ruff treats as forward annotations
]
[tool.ty.src]
include = ["dynestyx", "tests"]
[tool.ty.rules]
unused-type-ignore-comment = "ignore"
[tool.ty.analysis]
replace-imports-with-any = [
"blackjax.**",
"cd_dynamax.**",
"cuthbert.**",
"cuthbertlib.**",
"diffrax.**",
"effectful.**",
"equinox.**",
"numpyro.**",
"optax.**",
"tensorflow_probability.**",
]
respect-type-ignore-comments = true
[tool.pytest.ini_options]
addopts = "--jaxtyping-packages=dynestyx,typeguard.typechecked"