Python wheel

A Python wheel is the file a piece of Python software is delivered in, already built and ready to be put in place.

In more detail

Some software is delivered as its own text, and the machine receiving it has to turn that text into something it can run. That takes tools, time, and patience when a tool is missing. A wheel is the other way round: the turning was done beforehand, once, and what arrives is the result.

Putting one in place is therefore a copy. A wheel is built for one family of machines — a kind of processor, a kind of system — so a package that runs everywhere ships several, and the machine takes the one that fits it.

What it does on a real document

The Python side of this engine is delivered this way, with the drawing itself written in another language and already compiled inside. Nothing has to be built where it lands and no other software has to be there first.

One wheel serves every version of Python on a platform, because it is built against the part of Python that is promised not to move. A new version of the interpreter therefore costs nothing.

Where it comes from, and why

Python packages travelled for years as their own source, and every installation rebuilt them. The format was agreed on in 2012 to stop that, and it has been the ordinary way to deliver Python software ever since.

The name is a joke about cheese: the language is named after a comedy troupe, the store the packages come from was once called the cheese shop, and a wheel is how cheese is sold.

See it on a finished document

The rules behind this word, and the texts they are read from

Back to the whole glossary