Skip to main content

Tox plugin that provides integration with conda

Project description

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. PyPI version Python versions See Build Status on Travis CI See Build Status on AppVeyor

tox-conda is a plugin that provides integration with the conda package and environment manager for the tox automation tool. It’s like having your cake and eating it, too!

By default, tox creates isolated environments using virtualenv and installs dependencies from pip.

In contrast, when using the tox-conda plugin tox will use conda to create environments, and will install specified dependencies from conda. This is useful for developers who rely on conda for environment management and package distribution but want to take advantage of the features provided by tox for test automation.

Installation

The tox-conda package is available on pypi. To install, simply use the following command:

$ pip install tox-conda

To install from source, first clone the project from github:

$ git clone https://github.com/tox-dev/tox-conda

Then install it in your environment:

$ cd tox-conda
$ pip install .

To install in development mode:

$ pip install -e .

The tox-conda plugin expects that tox and conda are already installed and available in your working environment.

Usage

Details on tox usage can be found in the tox documentation.

With the plugin installed and no other changes, the tox-conda plugin will use conda to create environments and use pip to install dependencies that are given in the tox.ini configuration file.

tox-conda adds two additional (and optional) settings to the [testenv] section of configuration files:

  • conda_deps, which is used to configure which dependencies are installed from conda instead of from pip. All dependencies in conda_deps are installed before all dependencies in deps. If not given, no dependencies will be installed using conda.

  • conda_channels, which specifies which channel(s) should be used for resolving conda dependencies. If not given, only the default channel will be used.

An example configuration file is given below:

[tox]
envlist =
    {py35,py36,py37}-{stable,dev}

[testenv]
deps=
    pytest-sugar
    py35,py36: importlib_resources
    dev: git+git://github.com/numpy/numpy
conda_deps=
    pytest<=3.8
    stable: numpy=1.15
conda_channels=
    conda-forge
commands=
    pytest {posargs}

More information on tox configuration files can be found in the documentation.

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the MIT license, “tox-conda” is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

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-conda-0.2.1.tar.gz (13.3 kB view hashes)

Uploaded Source

Built Distribution

tox_conda-0.2.1-py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 3

Supported by

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