/tox-wheel

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

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Overview

docs |docs|
tests
Travis-CI Build Status AppVeyor Build Status Requirements Status

package

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

  • Free software: BSD 2-Clause License

What does this plugin actually do? What it doesn't?

  • It builds wheels for all the active environments. Unfortunately it's done in a batch before any testing starts (in order to support tox --parallel mode).

    However, you can configure it so it builds only once, if your project can build universal wheels.

  • Universal wheels are not detected.

  • No support for pyproject.toml yet.

What projects use this?

  • hunter (also publishes the wheels built by this plugin)

Installation

pip install tox-wheel

Documentation

Two ways to use:

  • Run tox --wheel

  • Have this in your tox.ini:

    [testenv]
    wheel = true

Additional settings:

  • You can also disable build directory removal (dirty builds, use at your own peril):

    [testenv]
    wheel_clean_build = false
  • By default the build environment is the same environment that the wheel gets installed to. You can change it, eg:

    [tox]
    envlist = py27{,-build}
    
    [testenv]
    wheel_build_env = {envname}-build
    deps =
        build: cython

    Or, if you have universal wheels you can have a single build env:

    [testenv]
    wheel_build_env = build
    
    [testenv:build]
    deps = setuptools_scm

Development

To run the all tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows
set PYTEST_ADDOPTS=--cov-append
tox
Other
PYTEST_ADDOPTS=--cov-append tox