Skip to main content

Deploy Python, Rust, and shell CLI tools behind GNU environment modulefiles

Project description

module-manager

tests Coverage License Ruff Documentation PyPI Python versions

module-manager deploys versioned Python, Rust, and shell CLI tools 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>

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

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

Full documentation lives in docs/ and can be served with MkDocs:

uv run mkdocs serve

Start with docs/index.md for installation, configuration, Python tools, Rust tools, shell scripts, uninstall, and local development notes.

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

env_module_manager-0.2.0.tar.gz (80.0 kB view details)

Uploaded Source

Built Distribution

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

env_module_manager-0.2.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file env_module_manager-0.2.0.tar.gz.

File metadata

  • Download URL: env_module_manager-0.2.0.tar.gz
  • Upload date:
  • Size: 80.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for env_module_manager-0.2.0.tar.gz
Algorithm Hash digest
SHA256 50b5a7d358bdf036bbf849c8487ef6bb8950c786d26851d923a5d3639e6106ec
MD5 fbc22e70d4303b952698c5c822d74510
BLAKE2b-256 cb1d9a9dcb74de97c5212bdfcd0351b44f3df0115bb23147589d8f3e058274c9

See more details on using hashes here.

File details

Details for the file env_module_manager-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for env_module_manager-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5750a529c962efb281d1f084e93dc5bede88959c889a92ab9d5dab02c1a10125
MD5 ae77db5e3c66986d8f2b8a3dae6bd659
BLAKE2b-256 5a07227969f3211ebde66ba787d5a626c5e80f339a8543e45fec21d1d48b45e6

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