{"id":20784151,"url":"https://github.com/tox-dev/tox-conda","last_synced_at":"2025-05-15T14:04:52.465Z","repository":{"id":39713542,"uuid":"128598679","full_name":"tox-dev/tox-conda","owner":"tox-dev","description":"Make tox cooperate with conda envs","archived":false,"fork":false,"pushed_at":"2025-03-31T16:45:01.000Z","size":160,"stargazers_count":154,"open_issues_count":25,"forks_count":39,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-15T14:04:51.055Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tox-dev.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-08T04:45:39.000Z","updated_at":"2025-04-21T19:54:26.000Z","dependencies_parsed_at":"2023-12-11T17:46:10.374Z","dependency_job_id":"db65143e-b284-44da-b69c-87d28df7094f","html_url":"https://github.com/tox-dev/tox-conda","commit_stats":{"total_commits":184,"total_committers":21,"mean_commits":8.761904761904763,"dds":0.7445652173913043,"last_synced_commit":"1bebdc94f3f183437ed8e90c57e30f960495da53"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-conda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-conda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-conda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tox-dev%2Ftox-conda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tox-dev","download_url":"https://codeload.github.com/tox-dev/tox-conda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254355334,"owners_count":22057354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T14:26:32.036Z","updated_at":"2025-05-15T14:04:52.407Z","avatar_url":"https://github.com/tox-dev.png","language":"Python","readme":"tox-conda\n=========\n\n.. image:: https://www.repostatus.org/badges/latest/wip.svg\n   :alt: Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.\n   :target: https://www.repostatus.org/#wip\n\n.. image:: https://img.shields.io/pypi/v/tox-conda.svg\n    :target: https://pypi.org/project/tox-conda\n    :alt: PyPI version\n\n.. image:: https://img.shields.io/pypi/pyversions/tox-conda.svg\n    :target: https://pypi.org/project/tox-conda\n    :alt: Python versions\n\n.. image:: https://github.com/tox-dev/tox-conda/workflows/check/badge.svg\n    :target: https://github.com/tox-dev/tox-conda/actions?query=workflow%3Acheck+branch%3Amaster\n    :alt: CI\n\n.. image:: https://codecov.io/gh/tox-dev/tox-conda/branch/master/graph/badge.svg?token=yYBhrEf4MN\n    :target: https://codecov.io/gh/tox-dev/tox-conda\n    :alt: Code coverage\n\n``tox-conda`` is a plugin that provides integration with the `conda\n\u003chttps://conda.io\u003e`_ package and environment manager for the `tox\n\u003chttps://tox.readthedocs.io\u003e`__ automation tool. It's like having your cake and\neating it, too!\n\nBy default, ``tox`` creates isolated environments using `virtualenv\n\u003chttps://virtualenv.pypa.io\u003e`_ and installs dependencies from ``pip``.\n\nIn contrast, when using the ``tox-conda`` plugin ``tox`` will use ``conda`` to create\nenvironments, and will install specified dependencies from ``conda``. This is\nuseful for developers who rely on ``conda`` for environment management and\npackage distribution but want to take advantage of the features provided by\n``tox`` for test automation.\n\n``tox-conda`` has not been tested with ``conda`` version below 4.5.\n\nGetting Started\n---------------\n\n``tox-conda`` can be used in one of two ways: by installing it globally and by\nenabling it on a per-project basis. When the plugin is installed globally, the\ndefault behavior of ``tox`` will be to use ``conda`` to create environments. To\nuse it on a per-project basis instead, use ``tox``'s auto-provisioning feature\nto selectively enable the plugin.\n\nTo enable the use of ``tox-conda`` by default, follow the `Installation`_\ninstructions. To use the plugin selectively, do not manually install it, but\ninstead enable it by adding ``tox-conda`` as a provisioning requirement to a\nproject's ``tox`` config:\n\n::\n\n    [tox]\n    requires = tox-conda\n\nMore information on auto-provisioning can be found in the `tox documentation\n\u003chttps://tox.readthedocs.io/en/latest/example/basic.html#tox-auto-provisioning\u003e`__.\n\nInstallation\n------------\n\nThe ``tox-conda`` package is available on ``pypi``. To install, simply use the\nfollowing command:\n\n::\n\n   $ pip install tox-conda\n\nTo install from source, first clone the project from `github\n\u003chttps://github.com/tox-dev/tox-conda\u003e`_:\n\n::\n\n   $ git clone https://github.com/tox-dev/tox-conda\n\nThen install it in your environment:\n\n::\n\n   $ cd tox-conda\n   $ pip install .\n\nTo install in `development\nmode \u003chttps://packaging.python.org/tutorials/distributing-packages/#working-in-development-mode\u003e`__::\n\n   $ pip install -e .\n\nThe ``tox-conda`` plugin expects that ``tox`` and ``conda`` are already installed and\navailable in your working environment.\n\nUsage\n-----\n\nDetails on ``tox`` usage can be found in the `tox documentation\n\u003chttps://tox.readthedocs.io\u003e`_.\n\nWith the plugin enabled and no other changes, the ``tox-conda`` plugin will use\n``conda`` to create environments and use ``pip`` to install dependencies that are\ngiven in the ``tox.ini`` configuration file.\n\n``tox-conda`` adds six additional (and optional) settings to the ``[testenv]``\nsection of configuration files:\n\n* ``conda_deps``, which is used to configure which dependencies are installed\n  from ``conda`` instead of from ``pip``. All dependencies in ``conda_deps`` are\n  installed before all dependencies in ``deps``. If not given, no dependencies\n  will be installed using ``conda``.\n\n* ``conda_channels``, which specifies which channel(s) should be used for\n  resolving ``conda`` dependencies. If not given, only the ``default`` channel will\n  be used.\n\n* ``conda_spec``, which specifies a ``conda-spec.txt`` file that lists conda\n  dependencies to install and will be combined with ``conda_deps`` (if given). These\n  dependencies can be in a general from (e.g., ``numpy\u003e=1.17.5``) or an explicit\n  form (eg., https://conda.anaconda.org/conda-forge/linux-64/numpy-1.17.5-py38h95a1406_0.tar.bz2),\n  *however*, if the ``@EXPLICIT`` header is in ``conda-spec.txt``, *all* general\n  dependencies will be ignored, including those given in ``conda_deps``.\n\n* ``conda_env``, which specifies a ``conda-env.yml`` file to create a base conda\n  environment for the test. The ``conda-env.yml`` file is self-contained and\n  if the desired conda channels to use are not given, the default channels will be used.\n  If the ``conda-env.yml`` specifies a python version it must be compatible with the ``basepython``\n  set for the tox env. A ``conda-env.yml`` specifying ``python\u003e=3.8`` could for example be\n  used with ``basepython`` set to ``py38``, ``py39`` or ``py310``.\n  The above ``conda_deps``, ``conda_channels``, and ``conda_spec`` arguments, if used in\n  conjunction with a ``conda-env.yml`` file, will be used to *update* the environment *after* the\n  initial environment creation.\n\n* ``conda_create_args``, which is used to pass arguments to the command ``conda create``.\n  The passed arguments are inserted in the command line before the python package.\n  For instance, passing ``--override-channels`` will create more reproducible environments\n  because the channels defined in the user's ``.condarc`` will not interfer.\n\n* ``conda_install_args``, which is used to pass arguments to the command ``conda install``.\n  The passed arguments are inserted in the command line before the dependencies.\n  For instance, passing ``--override-channels`` will create more reproducible environments\n  because the channels defined in the user's ``.condarc`` will not interfer.\n\n``tox-conda`` will usually install a python version compatible with your specified ``basepython``\nto the conda environment. To disable this behavior set ``basepython`` to ``none``.\n\nIf `mamba \u003chttps://mamba.readthedocs.io\u003e`_ is installed in the same environment as tox,\nyou may use it instead of the ``conda`` executable by setting the environment variable\n``CONDA_EXE=mamba`` in the shell where ``tox`` is called.\n\nAn example configuration file is given below:\n\n::\n\n   [tox]\n   envlist =\n       {py35,py36,py37}-{stable,dev}\n\n   [testenv]\n   deps=\n       pytest-sugar\n       py35,py36: importlib_resources\n       dev: git+git://github.com/numpy/numpy\n   conda_deps=\n       pytest\u003c=3.8\n       stable: numpy=1.15\n   conda_channels=\n       conda-forge\n   conda_install_args=\n       --override-channels\n   commands=\n       pytest {posargs}\n\nMore information on ``tox`` configuration files can be found in the\n`documentation \u003chttps://tox.readthedocs.io/en/latest/config.html\u003e`_.\n\nContributing\n------------\nContributions are very welcome. Tests can be run with `tox`_, please ensure\nthe coverage at least stays the same before you submit a pull request.\n\nLicense\n-------\n\nDistributed under the terms of the `MIT`_ license, \"tox-conda\" is free and open source software\n\nIssues\n------\n\nIf you encounter any problems, please `file an issue`_ along with a detailed description.\n\n.. _`Cookiecutter`: https://github.com/audreyr/cookiecutter\n.. _`@obestwalter`: https://github.com/tox-dev\n.. _`MIT`: http://opensource.org/licenses/MIT\n.. _`BSD-3`: http://opensource.org/licenses/BSD-3-Clause\n.. _`GNU GPL v3.0`: http://www.gnu.org/licenses/gpl-3.0.txt\n.. _`Apache Software License 2.0`: http://www.apache.org/licenses/LICENSE-2.0\n.. _`cookiecutter-tox-plugin`: https://github.com/tox-dev/cookiecutter-tox-plugin\n.. _`file an issue`: https://github.com/tox-dev/tox-conda/issues\n.. _`pytest`: https://github.com/pytest-dev/pytest\n.. _`tox`: https://tox.readthedocs.io/en/latest/\n.. _`pip`: https://pypi.org/project/pip/\n.. _`PyPI`: https://pypi.org\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Ftox-conda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftox-dev%2Ftox-conda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftox-dev%2Ftox-conda/lists"}