/hatch-conda

Hatch plugin for conda environments

Primary LanguagePythonMIT LicenseMIT

hatch-conda

CI/CD CI - Test CD - Build
Package PyPI - Version PyPI - Python Version
Meta code style - black types - Mypy imports - isort License - MIT

This provides a plugin for Hatch that allows the use of conda environments.

This project is a copied and modified version of the hatch-containers plugin by Ofek Lev.

Table of Contents

Installation

pip install hatch-conda

Configuration

The environment plugin name is conda.

  • pyproject.toml

    [tool.hatch.envs.<ENV_NAME>]
    type = "conda"
  • hatch.toml

    [envs.<ENV_NAME>]
    type = "conda"

Python

If the Python version is set to a multi-character integer like 310 then it will be interpreted as its <MAJOR>.<MINOR> form e.g. 3.10.

If not set, then the <MAJOR>.<MINOR> version of the first python found along your PATH will be used, defaulting to the Python executable Hatch is running on.

Command

The command option specifies the command that will be used to setup the environment. The possible options are conda, mamba and micromamba.

Default:

[envs.<ENV_NAME>]
command = "conda"

Conda-forge

Indicates if the conda-forge index should be used.

Default:

[envs.<ENV_NAME>]
conda-forge = true

Environment file

By default packages will be installed using pip. However, to install packages using conda, conda-forge, or any other channel, you can specify a conda environment file:

[envs.<ENV_NAME>]
environment-file = "environment.yml"

When using an environment file, the channel and python version specified in the environment file will be used. After installing the environment, any extra packages specified in the dependencies will be installed, as well as the local package.

Prefix environments

It's possible to identify environment py prefix (the path in the filesytem) rather than by name.

[envs.<ENV_NAME>]
prefix = .venv/

Will create a conda environment in the .venv/ folder. This is useful because a text editor might check for this location to use the virtual environment.

Notes

License

hatch-conda is distributed under the terms of the MIT license.