Skip to content

Repository files navigation

pymgr

A blazing-fast Python environment manager written in Rust.

pymgr is a unified tool for managing Python installations, virtual environments, and package dependencies. It aims to replace PIP, Virtualenv, Pyenv, and pip-tools with a single cohesive interface, focusing on speed through parallel downloads, strict lockfile reproducibility, and an integrated cache layer.

Installation

Unix (macOS / Linux)

curl -sSfL https://raw.githubusercontent.com/ashavijit/pymgr/main/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/ashavijit/pymgr/main/install.ps1 | iex

Build from Source

Requires Rust 1.75+.

cargo install --path .

Global Options

The following options can be passed before any subcommand:

Commands

Command Arguments Description
init [PYTHON_VERSION] Initialize a new environment in the current directory
create <NAME> [PYTHON_VERSION] Create a named environment
activate Print activation script
deactivate Deactivate current environment
run <CMD> [ARGS]... Run a command inside the environment
shell Spawn a subshell with the environment active
python [SUBCOMMAND] Manage Python installations (list, install, use, remove)
add <PACKAGES>... [--dev] [--editable] Add packages and update lockfile
remove <PACKAGES>... Remove packages
install [--frozen] Install from lockfile or pyproject.toml
update [PACKAGES]... Update packages to latest compatible versions
sync Sync environment exactly to lockfile
list List installed packages
env [SUBCOMMAND] Manage environments (list, info, remove)
shell-init <SHELL> Print shell integration script
self-update Update pymgr itself
doctor Diagnose environment problems
workspace [SUBCOMMAND] Manage workspaces (init, add, list, run)
export <FORMAT> [--hashes] Export environment (requirements, conda)
import <FILE> Import environment requirement files
snapshot [SUBCOMMAND] Manage rollbacks and snapshots (create, list, restore)
audit [--json] Audit dependencies for vulnerabilities via OSV
cache [SUBCOMMAND] Manage caches (info, clear, warm, gc)
ide <NAME> Configure IDE integrations (vscode, pycharm, pyright)

Project Configuration

pymgr relies on pyproject.toml (specifically under the [tool.pymgr] block). If missing, pymgr init will scaffold this configuration. The lockfile (pymgr.lock) dictates reproducible builds and tracks exact version hashes.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages