Package: ezconda
EZcondaCreate, Manage, Re-createconda environments & specifications with ease.EZcondais a command line interface application that helps practitioners create and managecondaenvironment and related specifications with ease.It provides an easy to use higher level abstraction for creating and managing reproduciblecondaenvironments.Key FeaturesEnvironment Management: Create and managecondaenvironments with ease.Specifications Management: Add and remove packages from thespecifications fileas you install & remove them.No manual file edits! No exporting entire environments!Reproducible Environments: Auto lock current environment state and re-create it exactly anywhere!Easy & Intuitive: Intuitive commands and autocompletions by default.Fast & Reliable Environment Resolution: Get fast and reliable environment solves by default.EZcondausesmambaby default, but you can easily switch betweenmambaandconda.Built-in Good Practices & Guardrails: Enables the user to follow good practices, by default.RequirementsCondainstallationInstallationThe recommended way to installEZcondais usingcondaormambain thebaseenvironment :Usingconda:$condainstallezconda-cconda-forge-nbaseUsingmamba:$mambainstallezconda-cconda-forge-nbaseA Minimal ExampleCreate a new environmentCreate a new environment withPython 3.9installed -$ezcondacreate-nds-projpython=3.9// Creates ds-proj with Python=3.9 installedEZcondacreates thecondaenvironment as well as a specifications fileds-proj.yml(named after the environment name) -name:ds-projchannel:-defaultsdependencies:-python=3.9Install packagesAs you install packages, the specifications file is also updated accordingly.$ezcondainstall-nds-proj-cconda-forgenumpypandasscipy// Installs numpy, scipy, pandas from conda-forge channelname:ds-projchannel:-conda-forge-defaultsdependencies:-python=3.9-numpy-pandas-scipyTheconda-forgechannel was also added to the specifications along with the packages.Remove packagesThe specifications file is also updated when you remove packages.$ezcondaremove-nds-projpandas// Removes pandas from ds-projname:ds-projchannel:-conda-forge-defaultsdependencies:-python=3.9-numpy-scipyInformed Package Removal:
If you try to remove a package that is a dependency for an installed package,EZcondawill inform you before removing the package. Seedocsfor more details.Sync environment with changesLet's say you are working with collaborators and they update the specifications file (ds-proj.yml) with a new dependency. Now, your local conda environment is out of sync with the new dependencies.To bring it back in sync, you can use thesynccommand.$ezcondasync-nds-proj--withspecfile// Syncs ds-proj environment with new changes in specifications file (ds-proj.yml)Sync changes:
Learn more about syncing environments in theuser guide.Re-create environmentAs you create, install and remove packages, in addition to the specifications file,EZcondaalso generates and maintains a lock file.You can use this lock file to reproducibly re-create an environment.Lock file:
You can learn more aboutreproducible environmentsandlock filein docs.$ezcondacreate--fileds-proj-darwin-x86_64.lock// Creates a new environment 'ds-proj-darwin-x86_64.lock'SummaryIn summary,EZcondaprovides an easy to use higher level abstraction for creating and managing reproduciblecondaenvironments.To learn more, check out theUser GuideContributing GuidelinesRun testsdocker-composeup--buildtestLocal iterative developmentdocker-composebuilddev&&docker-composerundevbash