Skip to content(if available)orjump to list(if available)

Wheels for free-threaded Python now available for psutil

simonw

https://hugovk.github.io/free-threaded-wheels/ is looking pretty healthy - 130 of the 360 most downloaded C extension PyPI packages are now free-threaded Python compatible, up from 92 on 15th August https://web.archive.org/web/20250815071755/https://hugovk.gi...

I was curious as to how that site works - it has a build script at https://github.com/hugovk/free-threaded-wheels/blob/cdae0b45... which checks the PyPI available file downloads for a package and looks for a bdist_wheel that matches this:

  abi_tag = download["filename"].removesuffix(".whl").split("-")[-2]
  if abi_tag.endswith("t") and abi_tag.startswith("cp31"):
      has_free_threaded_wheel = True

semiinfinitely

It has never been clear to me what the term "wheels" means in software releases. seems like something along the lines of "thing that works" – does it mean anything more specific than that?

borntyping

It doesn't mean anything useful in this context. It's a leftover from when PyPI was called "the cheeseshop", which in turn was a reference to a Monty Python sketch.

morkalork

Cheese wheels?! TIL. Also, for once it isn't a car analogy.

woodruffw

It's a Python packaging specific term. A "wheel" is a built distribution, which in the most basic sense just means that it can be unarchived directly into a Python import prefix instead of needing a build step (historically `setup.py`) to prepare it for installation.

In practice, many built distributions contain binary artifacts (e.g. builds of CPython extensions). This differentiates them from source distributions, where you'd build the extension from source on your local machine.

zahlman

Wow, long time no see.

psutil is a great project and I do have some future plans involving it.