Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.12 support tracking #2372

Closed
matthewfeickert opened this issue Oct 27, 2023 · 5 comments · Fixed by #2460
Closed

Python 3.12 support tracking #2372

matthewfeickert opened this issue Oct 27, 2023 · 5 comments · Fixed by #2460
Labels
tests pytest

Comments

@matthewfeickert
Copy link
Member

At the moment all of pyhf's base depenendies support Python 3.12 🎉

pyhf/pyproject.toml

Lines 46 to 55 in 6a347f4

dependencies = [
"click>=8.0.0", # for console scripts
"importlib_resources>=1.4.0; python_version < '3.9'", # for resources in schema
"jsonpatch>=1.15",
"jsonschema>=4.15.0", # for utils
"pyyaml>=5.1", # for parsing CLI equal-delimited options
"scipy>=1.5.1", # requires numpy, which is required by pyhf and tensorflow
"tqdm>=4.56.0", # for readxml
"numpy", # compatible versions controlled through scipy
]

and JAX supports Python 3.12 as of jaxlib v0.4.17

pyhf/pyproject.toml

Lines 76 to 79 in 6a347f4

jax = [
"jax>=0.4.1", # c.f. PR #2079
"jaxlib>=0.4.1", # c.f. PR #2079
]

. However, both torch and tensorflow do not have releases with Python 3.12 wheels out as of 2023-10-27.

root@39c7d1045ec7:/# python --version
Python 3.12.0
root@39c7d1045ec7:/# python -m pip index versions torch
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
ERROR: No matching distribution found for torch
root@39c7d1045ec7:/# python -m pip index versions tensorflow
WARNING: pip index is currently an experimental command. It may be removed/changed in a future release without prior warning.
ERROR: No matching distribution found for tensorflow
root@39c7d1045ec7:/#
@matthewfeickert
Copy link
Member Author

Though now that we have PR #2340 in, we can start bringing in the backends as they support the releases.

@matthewfeickert
Copy link
Member Author

Interestingly enough, apparently scrapbook

pyhf/pyproject.toml

Lines 90 to 107 in 6a347f4

test = [
"pyhf[all]",
"scikit-hep-testdata>=0.4.11",
"pytest>=6.0",
"coverage[toml]>=6.0.0",
"pytest-mock",
"requests-mock>=1.9.0",
"pytest-benchmark[histogram]",
"pytest-console-scripts>=1.4.0",
"pytest-mpl",
"ipympl>=0.3.0",
"pydocstyle",
"papermill~=2.3.4",
"scrapbook~=0.5.0",
"jupyter",
"graphviz",
"pytest-socket>=0.2.0", # c.f. PR #1917
]

requires pyarrow and pyarrow v13.0.0 doesn't support Python 3.12 yet either.

@matthewfeickert matthewfeickert added the tests pytest label Oct 27, 2023
@matthewfeickert
Copy link
Member Author

matthewfeickert commented Oct 27, 2023

Also iminuit doesn't have Python 3.12 support yet either as of iminuit v2.24.0, though that makes sense as it requires numba for testing and numba needs to do a huge amount of work for each CPython release (c.f. numba/numba#9197).

minuit = ["iminuit>=2.7.0"] # c.f. PR #1895

@matthewfeickert
Copy link
Member Author

Resolved by PR #2460.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tests pytest
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant