Unknown v0.2.0 uploaded with `twine upload`, and metadata wrong on TestPyPI

I published my v0.0.1 release of my library with

python -m build
python -m twine upload --repository testpypi dist/*

(both are the commands in the packaging tutorial)

It puzzles me that there is now a v0.2.0 in the TestPyPI page. I remember when I only uploaded v0.0.0 before; I don’t even have v0.2.0 artifacts in dist/

(.venv) >dir dist /B                                     
stde_pegen-0.0.0-py3-none-any.whl                                             
stde_pegen-0.0.0.tar.gz                                                       
stde_pegen-0.0.1-py3-none-any.whl                                             
stde_pegen-0.0.1.tar.gz

Though v0.2.0 exists in the original pegen repo which my repo bases upon, I deleted the ancient version tags today before publishing.[1]

And I noticed for the first time that the Author is wrong, the email looks like Pablo Galindo Salgado’s instead of Guido’s, and furthermore my pyproject.toml lists 4 authors, not one. Error can be seen in all 3 versions, v0.0.0, v0.0.1, v0.2.0. Here’s screenshot of mouseover:

Anyone know what’s wrong?


  1. and I can’t think of any way to explain why only one of them (v0.1.0, v0.2.0, v0.3.0) got uploaded, anyway ↩︎

That corresponds to the state of your repo at the date of upload: GitHub - studyingegret/stde.pegen at d751d2f72192b9765fbeedc29d4a59ebef2c0403 · GitHub

Most likely, you previously uploaded this.

I tried rebuilding wheel and .tar.gz from that commit but got artifacts that don’t compare equal to those on TestPyPI. I don’t think I’ll ever know for sure what happened :sweat_smile: will just delete the version later and be more careful to prevent release heisenbugs.

Also, do you know why the author metadata is wrong?

For various reasons, only the first Author and first Author email is displayed on the pypi page. Search for core metadata author and you are going to find a few previous discussions around this.

A project’s metadata should be defined by the project team in pyproject.toml.

If you didn’t write it, then what generated your pyproject.toml?

I don’t get what you mean, I edited the pyproject.toml of the pegen project I’m basing on, I didn’t use a generator, and what do you mean by “project team”? (I’m the only maintainer though other people have been maintaining pegen)

Oh I see sorry. I thought you didn’t want the extra authors there at all, but you were being nice.

Copy your entry from authors and paste it in maintainers too - that gets listed on PyPi, and makes the roles clear. When you’re ready to assert your rights as lead author (e.g. if you think the fork has become distinct enough from the original) then just switch the order of the authors, and put yourself first.

I’ll consider that, but not now when I can’t guarantee enough time to work on the library.