[Code scan] Align build hook annotations with the advertised Python 3.7/3.8 support

Open Beginner friendly
#557 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
78/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
build-system

Research direction

Read the Python version metadata in pyproject.toml and the initialize annotation in hatch_build.py. Check how the Hatch build hook is imported under Python 3.7 and 3.8, then verify source builds on those advertised versions. Done means the build hook no longer fails because of the runtime annotation while the supported-version metadata remains accurate.

Written by the indexing model from the issue text.

Description

This issue was found during a Codex global code scan of the repository.

Baseline commit: e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3

Problem

The project advertises Python 3.7 and 3.8 support, but the Hatch build hook uses dict[str, Any] in a runtime-evaluated annotation. Built-in collection generics require Python 3.9 unless annotations are postponed.

Code references:
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/pyproject.toml#L19-L35
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/hatch_build.py#L23

Relevant snippet:

def initialize(self, version: str, build_data: dict[str, Any]) -> None:

Impact

Source builds on the advertised Python 3.7/3.8 versions can fail when Hatch imports the build hook, before the frontend build step starts.

Suggested fix

Either add from __future__ import annotations, replace the annotation with typing.Dict[str, Any], or drop Python 3.7/3.8 from the supported metadata if they are no longer intended.

Dominant language
Vue
Stars
9
Forks
5
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from deepmodeling/dpgui

All issues in deepmodeling/dpgui

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.