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.1.tar.gz (17.0 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.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pypm_manager-2.0.1.tar.gz
  • Upload date:
  • Size: 17.0 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.1.tar.gz
Algorithm Hash digest
SHA256 18b73654cc71ee5cb6a362c64e983f9dac6fdbd762782a286df62497f5693802
MD5 d3cb1982d0765eaa13a37adbf81c8908
BLAKE2b-256 46fe10347798104b6f81c37bdc7fce2d8fba827b0b9cbbb2eea619143eb3dab8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pypm_manager-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.1 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc1c2c29f0adbb2e4b696bec780bc1eb45160214277a7401dce660c5921d71ae
MD5 53636c5281fbda0b3fda036d88f5659f
BLAKE2b-256 293eb084ac7c16a9188aac8ecab7548410dd242540f012552805fa88a8081eb9

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