deepmodeling / deepmodeling/dftio
[Code scan] Align Python 3.12 support with pinned h5py wheels
- Dominant language
- Jupyter Notebook
- Stars
- 16
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
This issue comes from a Codex global repository scan.
## Problem
The project declares Python 3.12 support:
https://github.com/deepmodeling/dftio/blob/c9d128f24a74ef2911e1a28f5640357488beb196/pyproject.toml#L10
But `h5py` is pinned below 3.11 and excludes 3.10:
https://github.com/deepmodeling/dftio/blob/c9d128f24a74ef2911e1a28f5640357488beb196/pyproject.toml#L21
On a Python 3.12 environment, `uv sync` selected `h5py==3.9.0` and attempted a source build, which failed without system HDF5/pkg-config. This makes the advertised Python 3.12 installation path fragile, especially for users following the README or `install.sh` with their current Python.
The install script uses the current Python interpreter:
https://github.com/deepmodeling/dftio/blob/c9d128f24a74ef2911e1a28f5640357488beb196/install.sh#L47-L50
## Suggested fix
Either restrict `requires-python` to versions with available pinned binary wheels, or loosen/adjust the `h5py` constraint so Python 3.12 can install from wheels. The install docs/script should also make the expected Python version explicit.
Contributor guide
Research direction
Start with the Python version declaration and h5py constraint in pyproject.toml, then inspect install.sh lines 47–50 and the README installation instructions. Reproduce the failure with uv sync on Python 3.12 and verify that the chosen version constraints install successfully from wheels, while the expected Python version is explicit in the installation guidance.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100