Skip to content

[Code scan] Align Python support metadata across pyproject, conda, and CI #617

Description

@njzjz

Found by a Codex global repository scan of deepmodeling/dpdispatcher at commit 98a9e08.

Problem
Python support and dependency metadata are inconsistent across PyPI metadata, conda metadata, and CI. pyproject.toml requires dargs>=0.5.0 and requires-python >=3.7; uv run cannot resolve the project because that range includes Python 3.7.0-3.7.3 while dargs depends on typeguard>=4, which requires at least Python 3.7.4. Conda metadata still advertises Python >=3.6 and omits runtime dependencies present in pyproject.toml.

Relevant code

dependencies = [
'paramiko',
'dargs>=0.5.0',
'requests',
'tqdm>=4.9.0',
'typing_extensions; python_version < "3.7"',
'pyyaml',
'tomli >= 1.1.0; python_version < "3.11"',
]
requires-python = ">=3.7"

- python >=3.6
- pip
- setuptools_scm
- dargs
- paramiko
- requests
- tqdm
run:
- python >=3.6
- dargs
- paramiko
- requests
- tqdm

python-version:
- 3.7
- 3.9
- '3.10'
- '3.11'
- '3.12'

Observed locally
uv run --no-dev python -c 'import sys; print(sys.version)' fails with an unsatisfiable dependency split for python_full_version >= '3.7' and < '3.7.4'.

Impact
New development environments can fail to resolve. Conda packages can miss imports such as pyyaml and tomli on older Python versions. CI also skips Python 3.8 while the package classifier declares support.

Suggested fix
Align the supported Python floor and CI matrix with dependency reality, for example requires-python >=3.7.4 or a higher version if intended. Update conda runtime dependencies to include pyyaml and conditional tomli, and align conda's Python requirement with PyPI metadata.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency file

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions