The pre-commit package is listed as a runtime dependency in the PyPI release of 0.25.1, but it should only be a dev dependency. Expected behavior: According to pyproject.toml, pre-commit is correctly placed in [dependency-groups] dev:
[dependency-groups]
dev = [
"pytest~=8.3",
"pylint~=3.3",
"rope~=1.13",
"isort~=6.0",
"black~=24.4",
"pre-commit~=4.0",
]
Actual behavior: The published package metadata on PyPI includes pre-commit<5,>=4.0.1 in requires_dist:
$ pip show diagrams
Requires: graphviz, jinja2, pre-commit
This causes pre-commit and its transitive dependencies to be installed for all users of the library.
Affected versions: 0.25.0, 0.25.1