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

1.0.0 (2022-10-01)

  • Added option to build wheels (and sdists) in an isolated environment using build. Contributed by Ben Rowland in #17.

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-1.0.0.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

tox_wheel-1.0.0-py2.py3-none-any.whl (6.7 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: tox-wheel-1.0.0.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for tox-wheel-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e109135c798041901ffd07e705b51d996323de6cf0116adc044a4a59b88367b7
MD5 3878dd37e45f0496f009d0f9391a7667
BLAKE2b-256 2721b0fa59a021d480d71c2dc4f3037b87e1b2e0827f41badf75af57b7383369

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tox_wheel-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for tox_wheel-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 53033a8eabc8d25f733fd55e71d08552050b7814205f7c9688d5ac2075b683b1
MD5 52278931f5ee3ab046693bfe3832dea8
BLAKE2b-256 e90fd699f1da8a73ac64177f448e78aa4b8b5341c3aedb74ba4780425018d038

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