The first year of free-threaded Python

A recap of the first year of work on enabling support for the free-threaded build of CPython in community packages.

as someone fairly new to larger python projects, working in a team too - why does it seem like I’m always in dependency hell? Sometimes things work with venv until I forget and a notebook needs something else. Or a diff type of proj because mlflow wanted another kind of env manager?
6 years of python and I’ve never really had that problem, also working on larger projects. Use poetry or uv and you’ll probably be fine. Unless you’re doing something strange with your dependencies. The only thing I would say is non trivial is updating the dependencies. And if a library has a bug or something you have to downgrade for. You can specify dev dependencies for notebooks and such. I’ve not heard of mlflow having a problem with a manager. Perhaps you’re in a cloud environment and don’t have access to poetry for example?

never used poetry. just venv, virtualenv and such. I guess I just don’t know the current era’s idiomatic way of doing things. I’m more familiar with java/mvn, rust, etc. It seems like every manning book on a pythonic tool has a different way the author setup the env. to be expected sure. I just need to grok and settle into my own. :)

just learning is all. :) appreciate the reply!

Poetry/uv is similar to Rust’s cargo. You specify your direct dependencies in a TOML file and their version constraints and the tool takes care of the rest.

What are you doing to get into dependency hell? Never had that problem. Are you running “pip install” in your venv at will?

Anti Commercial-AI license

Deed - Attribution-NonCommercial-ShareAlike 4.0 International - Creative Commons

Why wasn’t free threading a new version of python? Having everything suddenly going from thread safe to C level insecurity is a major change, not just a small feature update. In fact, if they had to redactor the interpreter to support it, that sounds like even more of a reason to make it a major version update. Doesn’t python follow semver?

Anti Commercial-AI license

Deed - Attribution-NonCommercial-ShareAlike 4.0 International - Creative Commons

The free-threaded build is a patched version of the interpreter. This is not (currently) behavior normal users will be exposed to.