-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathpyproject.toml
More file actions
129 lines (118 loc) · 3.91 KB
/
pyproject.toml
File metadata and controls
129 lines (118 loc) · 3.91 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
[build-system]
requires = ["setuptools>=79.0", "setuptools-scm", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "autofit"
dynamic = ["version"]
description = "Classy Probabilistic Programming"
readme = { file = "README.md", content-type = "text/markdown" }
license = { text = "MIT" }
requires-python = ">=3.9"
authors = [
{ name = "James Nightingale", email = "James.Nightingale@newcastle.ac.uk" },
{ name = "Richard Hayes", email = "richard@rghsoftware.co.uk" },
]
classifiers = [
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Physics",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13"
]
keywords = ["cli"]
dependencies = [
"autoconf",
"array_api_compat",
"anesthetic>=2.9.0",
"corner==2.2.2",
"decorator>=4.2.1",
"dill>=0.3.1.1",
"dynesty==2.1.5",
"typing-inspect>=0.4.0",
"emcee>=3.1.6",
"gprof2dot==2021.2.21",
"matplotlib",
"numpydoc>=1.0.0",
"h5py>=3.11.0",
"SQLAlchemy>=2.0.32,<2.1.0",
"scipy<=1.17.1",
"astunparse==1.6.3",
"threadpoolctl>=3.1.0",
"timeout-decorator==0.5.0",
"xxhash<=3.4.1",
"networkx==3.1",
"pyvis==0.3.2",
"psutil==6.1.0"
]
[project.urls]
Homepage = "https://github.com/PyAutoLabs/PyAutoFit"
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
exclude = ["docs", "test_autofit", "test_autofit*"]
[tool.setuptools_scm]
version_scheme = "post-release"
local_scheme = "no-local-version"
[project.optional-dependencies]
jax = ["autoconf[jax]"]
optional = [
"autofit[jax]",
"astropy>=5.0",
"blackjax>=1.2.0",
"getdist==1.4",
"nautilus-sampler==1.0.5",
"zeus-mcmc==2.5.4",
]
# Phase 4 of nss_first_class_sampler — support package for `af.NSS`.
#
# The `handley-lab/blackjax` fork (BSD-3-Clause) carries the
# `blackjax.ns.adaptive.init` entrypoint that mainline blackjax lacks, and
# `yallup/nss` (BSD-3-Clause) sits on top. Both are pinned to specific SHAs
# below — but installed manually rather than declared here, because PyPI and
# TestPyPI reject direct `git+https://` URLs in uploaded wheels with:
#
# 400 Can't have direct dependency: blackjax @ git+...
#
# After `pip install autofit[nss]`, complete the install with:
#
# pip install \
# "blackjax @ git+https://github.com/handley-lab/blackjax.git@ef45acd2f2fa0cca15adbdcd3ff7cb3a98987cb5" \
# "nss @ git+https://github.com/yallup/nss.git@69159b0f4a3a53123b9eec7df91e4ed3885e4dc4"
#
# blackjax SHA `ef45acd2` is the May 2026 "Merge PR #60 — double_compile"
# revision, locally validated against the Phase 1-3 work. blackjax HEAD
# (5dbf89a9 at pin time) introduced `numpy>=1.25`. autofit's anesthetic
# pin has since been bumped to `>=2.9.0` (numpy>=2 compatible) so the
# previous "bump only after both pins move together" constraint is now
# resolved. See PyAutoPrompt/issued/nss_install_simplification.md notes
# #3-4 for the historic context.
#
# `fastprogress<1.1` stays here as a regular PyPI dep — it keeps fastprogress
# from pulling `python-fasthtml` (1.1.5 transitively requires it).
nss = [
"fastprogress<1.1",
]
docs=[
"sphinx",
"furo",
"myst-parser",
"sphinx_copybutton",
"sphinx_design",
"sphinx_inline_tabs",
"sphinx_autodoc_typehints"
]
test = ["pytest"]
dev = ["pytest", "black"]
[tool.setuptools.package-data]
"autofit.config" = ["*"]
[tool.pytest.ini_options]
testpaths = ["test_autofit"]
filterwarnings = [
"ignore:cuda_plugin_extension:UserWarning",
"ignore::DeprecationWarning:jax",
"ignore:relationship .* will copy column:sqlalchemy.exc.SAWarning",
]