The goal of this repository is to create a versioned and scripted method for creating stackable Mamba environments that can be loaded in an HPC environment.
- Reproducible environments based on
json
config files - Scoped environments so users can load packages most useful to them without additional bloat
- Reduced reliance on per user created environments which has caused needless and excessive duplication of packages on high performance storage
- Base environments
json
files are created without versions, when possible- All builds are scripted
- When building environmnents, versions are specified as necessary and otherwise try to use the latest compatible version
- Dated and versioned
yml
files are saved when an environment is built with the exact packages used - Dated and versioned
lua
module files are generated to load the environment - All
json
,yml
andlua
files and any associated scripts are tracked in Github- Environments that trigger security alerts may be depricated and archived
- Dated and versioned
- Environments are nested, e.g. access to environments built with
Python 3.11
first requires loading the module associated withpython/3.11
- Environmnets should build basic documentation
- At minimum creates a markdown file with a brief summary of the expected use and included packages / versions.
- Environments should have unit tests that can be run on the installed system.
- At minumun verify
import package_name
works for all specified packages in environment - Verify dependencies are correctly loaded, e.g. Cuda enabled packages can see a GPU (if present)
- Job scripts to submit unit tests
- At minumun verify