deepmodeling / deepmodeling/dftio

[Code scan] Align Python 3.12 support with pinned h5py wheels

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.