# PyPI release tools (make twine-upload), hash-locked in requirements-release.lock.
# twine<6: newer twine refuses ~/.pypirc on GitLab CI (needs Trusted Publishing).
# setuptools<77: twine<6 caps pkginfo, which cannot parse Metadata-Version 2.4.
pip>=26.2.2
twine<6
build
setuptools<77
wheel
