Metadata-Version: 2.1
Name: tox-wheel
Version: 0.4.2
Summary: A Tox plugin that builds and installs wheels instead of sdist.
Home-page: https://github.com/ionelmc/tox-wheel
Author: Ionel Cristian Mărieș
Author-email: contact@ionelmc.ro
License: BSD 2-Clause License
Project-URL: Changelog, https://github.com/ionelmc/tox-wheel/blob/master/CHANGELOG.rst
Project-URL: Issue Tracker, https://github.com/ionelmc/tox-wheel/issues
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
License-File: LICENSE
License-File: AUTHORS.rst

========
Overview
========



A `tox <http://tox.readthedocs.org>`_ 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 <https://pypi.org/project/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``:

  .. code-block:: ini

    [testenv]
    wheel = true

Additional settings:

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

  .. code-block:: ini

    [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:

  .. code-block:: ini

    [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:

  .. code-block:: ini

    [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:

.. list-table::
    :widths: 10 90
    :stub-columns: 1

    - - Windows
      - ::

            set PYTEST_ADDOPTS=--cov-append
            tox

    - - Other
      - ::

            PYTEST_ADDOPTS=--cov-append tox


Changelog
=========

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.


