(I’m new to this site, please let me know if this is not the place for this comment or if there’s anything else wrong with it)
I’ve thought about python packaging before, and it’s a mess right now. It really scared me off in the beginning when I wanted to make a python package, as there are way too many choices, there isn’t one simple way to make a package. Looking at how other python projects do it, I still see lots of different things, poetry, setup.py, etc.
I thought about how it could be simpler, and IMO python packaging should just start from scratch, and make one single tool and format to manage everything.
There are multiple advantages:
- You don’t need to support other/old things
- It can be way simpler and more intuitive to create, distribute and install a package, for example:
- By default, it could use
src
as directory for packages - With a single option in the config file, scripts/entry points/executables in the bin can be created
- By default, it could use
- Backwards incompatible changes can be made, like:
- Enforcing every package to use semantic versioning (which a lot of packages already use, and enforcing it can make dependency management a lot simpler)
- “Looking back” changes can be made, for example:
- Exposing metadata with the API, so downloading packages just for the dependency information is no longer needed