Comment by paulmd

3 years ago

41% of the top packages don't support the new version? And looking back, the numbers aren't even much better for previous versions, 3.8 is several versions old now and they've still got over 20% breakage.

That is actually pathetic and I'm not blaming the package authors here - Python needs to stop making big breaking changes that rototill the codebase continuously.

Breaking changes are pretty serious business in the Java world and there is an incredible amount of thought and research put into even something like modules let alone the JDK17 changes where reflection is being fundamentally changed. Python seems to have an absolutely carefree attitude to language breakage, and I guess why wouldn't they? It's always worked for them.

> is several versions old now and they've still got over 20% breakage.

I don't think that's illustrating breakage, just the lack of an explicit declaration that the package supports a newer version of python (which may be newer than the latest release of a given package).

  • Yeah... I always develop against the latest Python available and have probably run into 1 package in my career with a version incompatibility, and that was with a C API portion. 20-40% is not correct.

    • I assume you weren’t working with Python during the 2 to 3 transition? There were at least six years, if not more, of major libraries not supporting Python 3, of as a library author trying to write code that was 2/3 compatible, etc.

      I agree that post Python 3 it is less common for a language update to break third-party libraries, but I also don’t think sweeping the 2 to 3 years under the rug is fair.

Explicit support, meaning that the package author has added the "3.X" tag in the package metadata.