Skip to main content

Minimalist wheel building

Project description

Quickly makes Python wheels from a bunch of .py files without needing a setup.py at all.

You probably don’t want to use this. It’s intentionally minimal for my own use-cases, and doesn’t have many features yet (no support for dependencies, extras). If all you’re looking for is a fast build, then consider using flit build --format wheel with a pyproject.toml, this should be nearly as fast.

Usage

For a single file distribution:

python whl.py path/to/myfile.py

For a package (directory with an __init__.py file in it):

python whl.py path/to/dir

whl.py will look in some sensible places to autodetect the package name/version.

Rationale

If all you want to do is package some .py file(s) into a .whl, that’s essentially just making a zipfile. Executing a setuptools / distutils style installer script or a PEP517 / PEP518 style build system is bloated with features which you don’t need, and it can be done much cheaper/faster:

$ time python whl.py mypkg
./mypkg-0.1-py2.py3-none-any.whl
python whl.py mypkg  0.06s user 0.02s system 86% cpu 0.091 total

Compared with doing things the correct way:

$ time python -m build --wheel .
* Creating venv isolated environment...
...
<blah blah>
...
Successfully built mypkg-0.1-py2.py3-none-any.whl
python -m build --wheel .  5.05s user 0.53s system 96% cpu 5.776 total

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

whl-0.0.5-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file whl-0.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: whl-0.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for whl-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a224bf188bb538778ee3cd466ec82cb24739922e356719c4ff241dd6a3744482
MD5 f3aac8dc73168ff3db471bb7cd1112ed
BLAKE2b-256 8113e8edb8e3a49f0030a72bfc0e3aece616240fc494bca76ef5f82e65664654

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page