Skip to main content

Simpler Conda dependency management

Project description

CoMan: Conda Manager

PyPI PyPI - License

A simple CLI for Conda dependency management. CoMan gives you simple commands to manage dependencies in your environment.yml and properly uses lock files. Moreover, it manages unique Conda environments per project directory. CoMan mimicks the workflow of Poetry (or any other modern dependency manager), but then for Conda.

Warning: CoMan is work in progress and may not work in every scenario.

CoMan manages:

  • environment.yml:
    • add/remove dependencies with version constraints
  • conda-{platform}.lock:
    • (multi-platform) lock files for reproducable environments
  • requirements.txt:
    • (optional) pinned pip dependencies from environment.yml
  • {CONDA_ROOT}/envs/{basename}-{hash}:
    • unique environments for your project in your default environments directory

Installation

There is currently no CoMan conda recipe. CoMan is designed to work independently of Conda, so that it can install and run Conda environments on any system (with Micromamba).

pip install -U coman

# pipx (recommended)
# make sure that pipx uses the python environment in which conda is installed (the conda base environment) if you have those installed
conda activate base
pipx install -e --python python coman

Latest development version

pip install --user --upgrade git+https://github.com/wietsedv/coman.git

Development

git clone git@github.com:wietsedv/coman.git
cd coman && pip install -e .

Quick start

cd projects/MyProject

# "cm" is short for "coman"; use the command you prefer

# show system and environment status
cm info

# create environment.yml and lock file
cm init

# install the environment
cm install

# add "requests" dependency to environment.yml, the lock file(s) and your installed environment
cm add requests

# show the installed packages
cm show

# run a command (use -- to avoid argument conflicts)
cm run -- python --version
cm python -- --version  # available for bash and python
coman-python --version  # available for bash and python

# activate your environment in your current shell (at least works with bash and zsh)
cm shell

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

coman-0.1a5.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coman-0.1a5-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file coman-0.1a5.tar.gz.

File metadata

  • Download URL: coman-0.1a5.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for coman-0.1a5.tar.gz
Algorithm Hash digest
SHA256 3603d33a870b49c32734eaae078d5e1d5cf2abfb87c1ac1d3a4856fdac375176
MD5 d06c3bd73b7bb1da2898642f5f38345f
BLAKE2b-256 8680ab01bbe53ee3a1ec3573f71cbd2b70bcdcb7b2df589b1219ea7378526aa5

See more details on using hashes here.

File details

Details for the file coman-0.1a5-py3-none-any.whl.

File metadata

  • Download URL: coman-0.1a5-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for coman-0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 0e6305bc0ab030c31159f15b05637e791de30dcab91b72d68972cfa1d0d200d8
MD5 ec4c932f8274c32e69dd83e75b4103d9
BLAKE2b-256 872b1331fb5b44ce84dc7ecb60d57de1edb3de6ef3a40ea1116e9bc8b3a42058

See more details on using hashes here.

Supported by

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