twine is broken: AttributeError: 'Wheel' object has no attribute 'dynamic'
While trying to release cdist-7.0.0 I get:
[22:43] nb2:cdist% twine upload dist/cdist-7.0.0*
Uploading distributions to https://upload.pypi.org/legacy/
Traceback (most recent call last):
File "/usr/bin/twine", line 8, in <module>
sys.exit(main())
File "/usr/lib/python3.10/site-packages/twine/__main__.py", line 28, in main
result = cli.dispatch(sys.argv[1:])
File "/usr/lib/python3.10/site-packages/twine/cli.py", line 68, in dispatch
return main(args.args)
File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 197, in main
return upload(upload_settings, parsed_args.dists)
File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 141, in upload
resp = repository.upload(package)
File "/usr/lib/python3.10/site-packages/twine/repository.py", line 189, in upload
resp = self._upload(package)
File "/usr/lib/python3.10/site-packages/twine/repository.py", line 144, in _upload
data = package.metadata_dictionary()
File "/usr/lib/python3.10/site-packages/twine/package.py", line 181, in metadata_dictionary
"dynamic": meta.dynamic,
AttributeError: 'Wheel' object has no attribute 'dynamic'
OS packages:
[22:43] nb2:cdist% apk list -I | grep -e twine -e ^python
twine-3.8.0-r1 x86_64 {twine} (Apache-2.0) [installed]
python3-dev-3.10.5-r1 x86_64 {python3} (PSF-2.0) [installed]
python3-3.10.5-r1 x86_64 {python3} (PSF-2.0) [installed]
Comparing with pip install gives same error / same version:
[22:45] nb2:cdist% python3 -m venv ~/venv2
[22:46] nb2:cdist% . ~/venv2/bin/activate
(venv2) [22:47] nb2:cdist% pip install twine
(venv2) [22:47] nb2:cdist% which twine
/home/nico/venv2/bin/twine
(venv2) [22:47] nb2:cdist% twine --version
twine version 3.8.0 (pkginfo: 1.5.0.1, readme-renderer: 29.0, requests: 2.28.1, requests-toolbelt: 0.9.1, urllib3: 1.26.10, tqdm: 4.63.2,
importlib-metadata: 0.0.0, keyring: 23.7.0, rfc3986: 2.0.0, colorama: 0.4.5)
(venv2) [22:47] nb2:cdist%
(venv2) [22:47] nb2:cdist% twine upload dist/cdist-7.0.0*
Uploading distributions to https://upload.pypi.org/legacy/
Traceback (most recent call last):
File "/usr/bin/twine", line 8, in <module>
sys.exit(main())
File "/usr/lib/python3.10/site-packages/twine/__main__.py", line 28, in main
result = cli.dispatch(sys.argv[1:])
File "/usr/lib/python3.10/site-packages/twine/cli.py", line 68, in dispatch
return main(args.args)
File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 197, in main
return upload(upload_settings, parsed_args.dists)
File "/usr/lib/python3.10/site-packages/twine/commands/upload.py", line 141, in upload
resp = repository.upload(package)
File "/usr/lib/python3.10/site-packages/twine/repository.py", line 189, in upload
resp = self._upload(package)
File "/usr/lib/python3.10/site-packages/twine/repository.py", line 144, in _upload
data = package.metadata_dictionary()
File "/usr/lib/python3.10/site-packages/twine/package.py", line 181, in metadata_dictionary
"dynamic": meta.dynamic,
AttributeError: 'Wheel' object has no attribute 'dynamic'