Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

342
Views
Which files are binaries in a python wheel?

The documentation says that Python Wheel is a binary distribution format. To understand the difference between the source code and binaries distributed within a Python wheel, I am manually inspecting a .whl file from the package django. The specific .whl I am looking at is this. I decompressed the wheel file and the top-level directory of the file looks like this:

.
├── Django-3.2.9.data
├── Django-3.2.9.dist-info
└── django

The Django-3.2.9.data file contains a script called admin.py. The directory structure for Django-3.2.9.dist-info looks like this:

.
├── AUTHORS
├── LICENSE
├── LICENSE.python
├── METADATA
├── RECORD
├── WHEEL
├── entry_points.txt
└── top_level.txt

The WHEEL file in this directory seems to contain information of the WHEEL version that was used to build this .whl.

The top-level directory structure for the django file looks like this:

.
├── __init__.py
├── __main__.py
├── apps
├── bin
├── conf
├── contrib
├── core
├── db
├── dispatch
├── forms
├── http
├── middleware
├── shortcuts.py
├── template
├── templatetags
├── test
├── urls
├── utils
└── views

Here, except the bin folder, all the other files are source code files that are present on the django repository. Therefore, my guess was that the bin folder would contain binaries of the package. However, the folder only contains another python file named django-admin.py.

Therefore, my question is:

(1) Does python wheel actually contain a binary? If yes, then how to locate the binary within the .whl file?

(2) If the python wheel distributes a binary, then how does wheel distribution ensure that the binary is built from the same source code present in the .whl file? For this question, my guess is the source-to-binary integrity is ensured through checksums for each file stored in the Django-3.2.9.dist-info/RECORD file. Is that correct?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Therefore, my guess was that the bin folder would contain binaries of the package.

That's incorrect. Django just happens to have a bin directory, since it houses the django-admin command line tool.

Does python wheel actually contain a binary? If yes, then how to locate the binary within the .whl file?

Yes, if there is something that needs to be a compiled binary. For instance, a NumPy wheel would have multiple .so (Linux/macOS) or .pyd (Windows) files (Python extension modules). Their location within the .whl depends on the package.

You can tell whether a .whl contains binary Pyt .whl does not contain binary modules from the name: Django-3.2.9-py3-none-any.whl. Compare to e.g. Numpy's numpy-1.21.4-cp310-cp310-win_amd64.whl (containing binary modules for CPython 3.10 on Windows, AMD64 architecture).

If there's other binary package data, such as an image that the package requires, that would be in the .whl too. For Django, you will likely find Gettext .mo files.

If the python wheel distributes a binary, then how does wheel distribution ensure that the binary is built from the same source code present in the .whl file?

Source code for binary modules is just generally not included in .whls.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!