Recently, Pradyun posted a tweet commenting not on the state of Python packaging, but more on the state of the documentation and guidance.
I'm feeling more and more that realising that a lot of people's frustration with Python Packaging stems from the lack of clear guidance and difficult-to-understand-and-navigate documentation.— Pradyun Gedam (@pradyunsg) September 19, 2021
Now, at the time, I figured that was the case for people new to packaging, not myself. I’m not really an old timer with packaging, but:
- I have a few published packages.
- I’ve used both Flit and setuptools.
- I’ve interviewed Brett Cannon 3 times on the packaging in episodes of Test & Code.
- There’s also a pip interview with Stéphane Bidoul:
- and a couple solo episodes talking about flit:
Mostly trying to say that I’ve followed the story enough that I should be able to figure this out for a new package. At least, for a Python only package, which is really all I’ve done in the past.
My confidence ended this morning.
I tried to put together another pytest plugin today.
Trouble in flit paradise, at least for pytest plugin authors.
- For Python source only packages, Flit has been my goto for some time.
pip install flit,
flit initproduces a starter
- It’s always gotten the name wrong if you want a dash in the name, like
pytest-myplugin, but it’s been a simple enough change to fix it.
- Until … DUN DUN DUUUUN!!! (Dramatic Sound Effect) … flit 3.2 and New style metadata
- I actually like where flit is going with this, more toward standardized metadata.
- But … DUN DUN DUUUUN!!! (Dramatic Sound Effect) … it doesn’t work yet for plugins. It makes it worse.
flit initcreates a new style metadata