Skip to main content

Minimalist wheel building

Project description

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

You probably don’t want to use this. It doesn’t have many features yet (no support for entrypoints, dependencies, extras).

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.3-py2.py3-none-any.whl (12.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: whl-0.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for whl-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5da624184b18fd960669f9b7b037b7a0f3d82a2d388716453a3f22b365544390
MD5 d4084c20d94bc697ee78e3ff67af9097
BLAKE2b-256 006877519fd4a60972ff155ded8992c2655dcc6b4edf6f0c210ca87d4fcc613e

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