Everyone likes to complain about Python packaging, me included. It’s no fun, and it’s confusing, and it seems to be in a constant state of flux, and the languages and the distros can’t agree on who’s in charge, etc, etc.

I’ll add just one small observation: setuptools is widely used as a way to install Python packages. Look at its latest version: 0.6c11. In case it’s not familiar to you, that “c” in there means this is the eleventh release candidate for version 0.6. What!? Do we really believe that a release engineer is closely monitoring the health of this package, and is about to release 0.6, but needs this code tried first? And that this is their eleventh attempt at building an acceptable 0.6 kit?

This is crazy. According to PyPI, the first release candidate of 0.6 was posted 3 years 4 months ago, and the first beta was posted 14 months before that. What are we waiting for? Considering how widely adopted this package is, and how dependent we are on it working properly, and how little it has changed, this latest code should have just been called 1.1.

I’ve long held that it’s a plague on open source that so many project insist on staying in the zeros. But setuptools takes it even further than most with this insane charade that somehow these are release candidates.

It’s just one more small reason I say, Welcome to Distribute.