Skip to main content

PyPM - Python Package Manager

True version isolation with zero duplication - Multiple package versions coexist, environments use specific versions!

🚀 Quick Start

# Install PyPM
pip install pypm-manager

# Create environment  
pypm create myproject

# Activate it
pypm activate myproject  # Shows activation command
# Run the activation command shown

# Install packages with version isolation
pypm install pandas numpy scikit-learn

# Deactivate when done
deactivate

✨ The Problem PyPM Solves

Problem 1 - Duplication:

project1/venv/ → pandas 1.5.0 (100 MB)
project2/venv/ → pandas 1.5.0 (100 MB)  [DUPLICATE!]
project3/venv/ → pandas 1.5.0 (100 MB)  [DUPLICATE!]
Total: 300 MB wasted

Problem 2 - Version Conflicts:

project1 needs requests 2.28.0
project2 needs requests 2.31.0
❌ Can't have both with venv/conda!

With PyPM v2.1:

~/.pypm_central/packages/
  ├── requests/2.28.0/  [Version 1]
  ├── requests/2.31.0/  [Version 2]
  └── pandas/1.5.0/     [Shared dependency - stored once!]

✅ Both versions coexist
✅ Environments use specific versions
✅ Shared dependencies stored once
Total: Zero duplication + True isolation!

🎯 How It Works

  1. Create: pypm create myenv - Creates lightweight environment
  2. Activate: pypm activate myenv - Shows activation command
  3. Install: pypm install pandas==1.5.0 - Stores in version-specific directory
  4. Isolation: Each environment's PYTHONPATH points to its specific package versions

📦 Installation

pip install pypm-manager

🔧 Commands

# Environment Management
pypm create <name>         # Create environment
pypm activate <name>       # Show activation command
pypm install <package>     # Install with version isolation
deactivate                 # Deactivate current environment
pypm delete <name>         # Delete environment
pypm list                  # List all environments
pypm info <name>           # Show environment details

# Central Store
pypm store-info            # View central store stats

💡 Complete Example

# Create data science environment
pypm create datascience
pypm activate datascience
# Run activation command shown (e.g., C:\...\datascience\Scripts\Activate.ps1)

# Install packages with specific versions
pypm install pandas==2.1.0 numpy scikit-learn

# Work on your project...
python my_analysis.py

# Deactivate
deactivate

# Create another project with different pandas version
pypm create ml-project
pypm activate ml-project
# Activate...

pypm install pandas==2.3.0 tensorflow
# ✅ Both pandas 2.1.0 and 2.3.0 coexist!
# ✅ numpy/scikit-learn shared between projects

🌟 Features

  • ✅ True version isolation - Multiple package versions coexist
  • ✅ Environment-specific versions - Each env uses its own package versions
  • ✅ Zero duplication - Shared dependencies stored once
  • ✅ Familiar workflow - Similar to venv activation
  • ✅ Cross-platform - Windows, macOS, Linux
  • ✅ No dependencies - Pure Python stdlib

🆚 vs Other Tools

venv conda PyPM v2.1
Multiple versions No Limited Yes
Duplication Yes Yes No
Workflow activate + pip activate + conda activate + pypm
Version Isolation No Yes Yes
Storage Efficiency Low Low High

📁 Storage Locations

  • Environments: ~/.pypm_envs/
  • Versioned packages: ~/.pypm_central/packages/{name}/{version}/
  • Environment configs: {env}/.pypm_requirements.json

🤝 Contributing

https://github.com/Avishek8136/pypm

📜 License

MIT License


PyPM v2.1 - True version isolation with zero duplication! 🎉

Metadata

Release files for pypm-manager 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypm-manager 2.2.0
File Size Uploaded
pypm_manager-2.2.0.tar.gz 20.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypm-manager 2.2.0
File Interpreter ABI Platform
pypm_manager-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 36.2 kB

Release files / pypm_manager-2.2.0.tar.gz

Download URL pypm_manager-2.2.0.tar.gz
Size 20.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d390401929270665d172e4812f430e206aa8b3ccddb16903a7b87234531629be
BLAKE2b-256 checksum
How to use checksums
4c5248119c0ce22d5851363b3a74d0358040fa80fa6e73c33dd089004a195bc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release files / pypm_manager-2.2.0-py3-none-any.whl

Download URL pypm_manager-2.2.0-py3-none-any.whl
Size 15.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14e6aac34e8c74a15243c74a090c5bfea80b7ab9e1993161c699a9d67b36b242
BLAKE2b-256 checksum
How to use checksums
ad83b9d6ffa8811852d16230f326ea473855d39536cc8a050da11f7d4a7c1e01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.0

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page