Deploy Python, Rust, shell, and collective CLI environments behind GNU environment modulefiles
Project description
module-manager
module-manager deploys versioned Python, Rust, shell, and collective CLI
environments behind GNU environment modulefiles for Linux/HPC systems.
It writes tools and modulefiles into predictable versioned locations:
/prod/tools/<name>/<version>/bin
/prod/modulefiles/<name>/<version>
Installation
Install from PyPI:
pip install env-module-manager
Or install as a uv-managed tool:
uv tool install env-module-manager
Quick Start
Deploy a Python CLI with uv tool install:
module-manager deploy-python ruff 0.8.0 \
--package 'ruff==0.8.0' \
--prefix /prod/tools \
--module-root /prod/modulefiles \
--execute-install
Deploy a Rust binary:
module-manager deploy-rust ripgrep 14.1.1 \
--binary ./target/release/rg \
--prefix /prod/tools \
--module-root /prod/modulefiles
Deploy a shell script:
module-manager deploy-script my-tool 1.0.0 \
--script ./scripts/my-tool \
--prefix /prod/tools \
--module-root /prod/modulefiles
Deploy a collective environment from a TOML manifest:
module-manager deploy-env --file dev-tools.toml --dry-run
module-manager deploy-env --file dev-tools.toml
Use the generated module:
module use /prod/modulefiles
module load ruff
ruff --version
Deployments make the deployed version the module default. Add --no-default
when you want to write the versioned modulefile without changing the default.
Remove a deployed version:
module-manager uninstall ruff 0.8.0 \
--prefix /prod/tools \
--module-root /prod/modulefiles
Documentation
Read the full documentation on Read the Docs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file env_module_manager-0.4.0.tar.gz.
File metadata
- Download URL: env_module_manager-0.4.0.tar.gz
- Upload date:
- Size: 88.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35634cfbb9b0c451b72f1befa31266745c431bdb66c972b73626bfaa52b2de57
|
|
| MD5 |
c7e140d1ae95780bb1670f2c0b7da439
|
|
| BLAKE2b-256 |
ccdba9ccc41bc16566bb643a527a1a4c0db00b5f90115f278d2fec02c7863045
|
File details
Details for the file env_module_manager-0.4.0-py3-none-any.whl.
File metadata
- Download URL: env_module_manager-0.4.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b61bf8dc2b82d1c02dfae166d9aa7b2757253ee663fdfa083ac7afc74a3217a
|
|
| MD5 |
79d2d2b84b911d0fd8570df9fd4a7a07
|
|
| BLAKE2b-256 |
5bf49be6950a98f80a4a2730bf5ae04310ae738c9f696ba331ef94f38d74113a
|