Skip to main content

Python package manager with centralized storage and zero duplication - works like venv + pip

Project description

PyPM - Python Package Manager

Zero-duplication package management for Python - Works like venv + pip but stores packages centrally!

🚀 Quick Start

# Install PyPM
pip install pypm-manager

# Create environment  
pypm create myproject

# Activate it (opens new shell)
pypm activate myproject

# Use pip normally - packages stored centrally!
pip install pandas numpy scikit-learn

# Deactivate when done
deactivate

✨ The Problem PyPM Solves

Before PyPM:

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

With PyPM:

~/.pypm_central/ → pandas 1.5.0 (100 MB)  [STORED ONCE!]
All projects reference the same files
Total: 100 MB  (66% savings!)

🎯 How It Works

  1. Create: pypm create myenv - Creates environment
  2. Activate: pypm activate myenv - Opens activated shell
  3. Install: pip install pandas - Packages go to central store
  4. Use Anywhere: Activate same environment from any directory!

📦 Installation

pip install pypm-manager

🔧 Commands

# Environment Management
pypm create <name>         # Create environment
pypm activate <name>       # Activate (opens new shell)
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
pypm store-install <pkg>   # Install to central store
pypm store-uninstall <pkg> # Remove from central store

💡 Complete Example

# Create data science environment
pypm create datascience
pypm activate datascience

# In activated shell - use pip normally:
pip install pandas numpy matplotlib seaborn scikit-learn jupyter

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

# Deactivate
deactivate

# Later, from anywhere:
pypm activate datascience  # Same environment!

🌟 Features

  • Works like venv - Same familiar workflow
  • Use standard pip install - No new commands
  • Zero package duplication - 12-90% storage savings
  • Machine-wide environments - Activate from anywhere
  • Cross-platform - Windows, macOS, Linux
  • No dependencies - Pure Python stdlib

🆚 vs Other Tools

venv conda PyPM
Duplication Yes Yes No
Workflow activate + pip activate + conda activate + pip
Learning Curve None Moderate None
Storage Waste High High Zero

📁 Storage Locations

  • Environments: ~/.pypm_envs/
  • Central packages: ~/.pypm_central/site-packages/

🤝 Contributing

https://github.com/Avishek8136/pypm

📜 License

MIT License


PyPM v2.0 - No more duplicate packages! 🎉

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

pypm_manager-2.0.2.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

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

pypm_manager-2.0.2-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file pypm_manager-2.0.2.tar.gz.

File metadata

  • Download URL: pypm_manager-2.0.2.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for pypm_manager-2.0.2.tar.gz
Algorithm Hash digest
SHA256 eb23e3c6c1fbd6e232cb1fe45f7261a471ce0658809ec4ba2416e31185f1108d
MD5 9e625de5682825b06b86473c743fcea3
BLAKE2b-256 3652fa527238082ae2e88a84a7fb40e5974e408bbc4df1c625194fa7de9ca41e

See more details on using hashes here.

File details

Details for the file pypm_manager-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: pypm_manager-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for pypm_manager-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a0f3d9f02fb760f236301fdf4cd4ec3cde235f99a8124c8d6787d0ba5e0e063f
MD5 4f4d336b6e7fede4b65c5c2322c22924
BLAKE2b-256 c1d632500ec069f8f957517444e70b41cdd2649cdd9093617f0293cbd48425ac

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