deepmodeling / deepmodeling/dpti

[Code scan] Legacy setup_requires path can break package metadata builds

Open
#140 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
42
Forks
27
PR merge metrics
No merged PRs in 30d

Description

Source: Codex global repository scan of deepmodeling/dpti at commit b719828e7eeb571bd26411430197cd74ea78e38c.
Project: https://github.com/orgs/deepmodeling/projects/27

Problem
`setup.py` uses legacy `setup_requires=['setuptools_scm']`. In a current Python 3.13/setuptools environment, `python setup.py egg_info` tried to fetch/build an egg and failed while importing `setuptools_scm` with `ModuleNotFoundError: No module named 'vcs_versioning'`. This can break source distribution or install metadata generation paths that still run setup commands.

Code references
https://github.com/deepmodeling/dpti/blob/b719828e7eeb571bd26411430197cd74ea78e38c/setup.py#L16
https://github.com/deepmodeling/dpti/blob/b719828e7eeb571bd26411430197cd74ea78e38c/setup.py#L17
https://github.com/deepmodeling/dpti/blob/b719828e7eeb571bd26411430197cd74ea78e38c/.github/workflows/release.yml#L13

Reproduction
Run:

```bash
python setup.py egg_info
```

Expected result
Package metadata generation should use a modern PEP 517/518 build configuration, for example `pyproject.toml` build requirements, instead of relying on deprecated `setup_requires` egg fetching.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with setup.py lines 16-17 and .github/workflows/release.yml line 13, then reproduce the failure with `python setup.py egg_info` in a current Python 3.13/setuptools environment. Replace the legacy metadata-build path with a modern PEP 517/518 configuration, and verify that package metadata generation succeeds without the reported setuptools_scm import error.

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
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.