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 lockfiles. 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 is expected to work fully on Linux and macOS if a recent version of mamba is already available on your system. Otherwise you can currently only install (coman install) and activate (coman shell) environments. In other words: you can use CoMan on a production system without any external dependencies.

CoMan manages:

  • environment.yml:
    • add/remove dependencies with version constraints
  • conda-{platform}.lock:
    • (multi-platform) lock files for reproducable environments
  • {envs_dir}/{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/mamba are installed (the conda base environment) if you want to be able to edit your environment.yml and lock files.
conda activate base
pipx install -e --python python coman

Latest development version

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

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 conflicts between coman and the command you run)
cm run -- python --version

# activate your environment in your current shell (at least works with bash and zsh)
eval $(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.1a1.tar.gz (12.6 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.1a1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coman-0.1a1.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for coman-0.1a1.tar.gz
Algorithm Hash digest
SHA256 b3e470414b2b594162a1e7395e5c74e4902631229b92a4a252d2dff367367cba
MD5 b80b6ec1c995ffacaef87c604f5a45d9
BLAKE2b-256 65c15d53f514d72f7461c6750ef9bffad5d608c50e1cdf1cc1f50dbec17d1610

See more details on using hashes here.

File details

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

File metadata

  • Download URL: coman-0.1a1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for coman-0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 58f70ba7092f02955c1466c1927fe2f6a7d4c5a9d5dfb47df5b336cb31ddad01
MD5 d800fdda0e06bcb60a113b1a48af4843
BLAKE2b-256 e3f868f26e089ca3b406dfd643cab0218c81b89d5c578290d777ae19de6591b1

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