News for hackers. Stuff that matters.
Re:GIL Become Optional in Python 3.13 by scrollaway on Monday August 12, 2024 @03:12AM (#41221910)
Because libraries also change, for the same reason as python changes: To keep up with compatibility of newer devices, systems, and usage patterns.

Beside, "figure out which ones work" is a solved issue with a package manager such as poetry.

Re:GIL Become Optional in Python 3.13 by rowanG077 on Monday August 12, 2024 @03:16AM (#41221932)
That is if all libraries were super stringent in their dependency bounds. Which in my experience no one is. So it's a crapshoot if it will work or not.
Re:GIL Become Optional in Python 3.13 by SOLAR_FIELDS on Monday August 12, 2024 @03:57AM (#41222164)
This is more of an indictment on how bad Python is about mixing system level packages with library dependencies than anything else. The classic example I always give is psycopg2 depending on a system install of Postgres client library.
Re:GIL Become Optional in Python 3.13 by imtringued on Monday August 12, 2024 @09:16AM (#41224030)
The irritating thing about python is that since it is mostly glue around C, all the annoying things about C leak through.
Re:GIL Become Optional in Python 3.13 by wakawaka28 on Monday August 12, 2024 @01:53PM (#41227353)
It's not a solved issue, as others have pointed out. To elaborate, most packages are not maintained continuously. Some don't get updates anymore and some get updates that break older versions of Python. The authors of these libraries definitely aren't rooting out all the problems that can occur due to mismatched versions. And when you change one library, any other related library can be affected. It's like solving a puzzle sometimes. In many cases people throw up their hands and say "forget this, I'm not upgrading anything!" This is also the big driver of solutions like virtualenv and Docker. All languages have this issue to some extent but Python breaks stuff more often than anything else I use.

I don't especially like language-specific package downloaders either but that's not a Python-only problem, and there are tradeoffs to pushing the work downstream into more stable systems.