Skip to main content

A Tox plugin that builds and installs wheels instead of sdist.

Project description

A tox plugin that builds and installs wheels instead of sdist.

  • Free software: BSD 2-Clause License

Installation

pip install tox-wheel

You can also install the in-development version with:

pip install https://github.com/ionelmc/tox-wheel/archive/master.zip

Documentation

Enabling

To enable either use tox --wheel or change your tox.ini if you always want the plugin to be enabled:

[testenv]
wheel = true

You can also use factors in tox.ini:

[tox]
envlist = {py27,py35,py36,py37,py38,pypy,pypy3}-{cover,nocov}

[testenv]
wheel =
    cover: false
    nocov: true

Build configuration

This plugin will build wheels for all the active environments. Note that building will be done in a batch before any testing starts (in order to support tox --parallel mode).

If you can produce universal wheels you might want to configure the build env so that the wheel is only built once for all the envs:

[testenv]
wheel_build_env = build

[testenv:build]

Note that you can also use wheel_build_env for situation where you have many environments for the same interpreter:

[testenv:py38]
; regular testing

[testenv:py38-extras]
; tests with optional dependencies
wheel_build_env = py38

[testenv:docs]
; docs building
wheel_build_env = py38

The plugin cleans the build dir by default, in case you want to speed things further (at the risk of build caching problems) you could use tox --wheel-dirty.

You can also place this configuration in tox.ini but there will be a unpleasant surprise factor if you ever hit the aforementioned build problems:

[testenv]
wheel_dirty = true

PEP517 support

If you have a custom [build-system] build-backend in your pyproject.toml you need to enable the PEP517 builder by having this in your tox.ini:

[testenv]
wheel_pep517 = true

Enabling this will delegate building to pip wheel --use-pep517.

Development

To run the all tests run:

tox

Changelog

0.7.0 (2021-12-29)

  • Fixed build dir not being cleaned up in PEP 517 mode. Contributed by Michael Rans in #16.

  • Switched CI from Travis/AppVeyor to GitHub Actions.

0.6.0 (2020-11-06)

  • Fixed unnecessary build directory cleanup and removed dead code. Contributed by Thomas Grainger in #9.

  • The isolated_build tox option is now an alias for wheel_pep517. Contributed by Thomas Grainger in #6.

  • Added more configuration examples.

0.5.0 (2020-08-06)

  • Added support for PEP 517/518. Contributed by Antonio Botelho in #5.

0.4.2 (2019-05-15)

  • Improved logging a bit so messages are less confusing (don’t emit wheel-make path/to/setup.py).

  • Moved dist/build cleanup right before bdist_wheel.

0.4.1 (2019-05-15)

  • Improved error handling when no dists are built.

0.4.0 (2019-05-05)

  • Fixed compatibility with tox and changed requirement for minimum tox version to 3.9.0.

0.3.0 (2019-01-26)

  • Added support for tox --parallel mode.

  • Added wheel_build_env config option.

  • Renamed wheel_clean_build config option to wheel_dirty.

  • Added --wheel-dirty CLI argument.

0.2.1 (2019-01-12)

  • Added wheel to dependencies.

0.2.0 (2019-01-12)

  • Remove --wheel-clean-build CLI option. Build directory cleaning is now on by default. Correct behavior should be the default.

  • Added support for [testenv] wheel (default: false) and [testenv] wheel_clean_build (default: true) in tox.ini.

0.1.0 (2019-01-09)

  • First release on PyPI.

Project details


Download files

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

Source Distribution

tox-wheel-0.7.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

tox_wheel-0.7.0-py2.py3-none-any.whl (6.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file tox-wheel-0.7.0.tar.gz.

File metadata

  • Download URL: tox-wheel-0.7.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for tox-wheel-0.7.0.tar.gz
Algorithm Hash digest
SHA256 bc71d6f5264d495825f5b8b09e1f20e9e4dc1f87ba90fbceb8de681feb261b91
MD5 496b7dc687ac3c2ba1c69047661d6e5a
BLAKE2b-256 1e8cbdcf73158e17077c0adb881e40b3b7c537609d3428833433f9d074a239d8

See more details on using hashes here.

File details

Details for the file tox_wheel-0.7.0-py2.py3-none-any.whl.

File metadata

  • Download URL: tox_wheel-0.7.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

File hashes

Hashes for tox_wheel-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d13b53615ac35d0da8aac86a06e7f1f33a511112e33fea68ca4fb6417398aa4b
MD5 069370473f69fa355959b60119d6b4dc
BLAKE2b-256 059cddb63f4573848d4812d5a77d696781a5755f553b3335f13ccd2fbdeade60

See more details on using hashes here.

Supported by

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