Safely merge multiple Python virtual environments by reconstructing dependencies.
Project description
pyvenvmerge
A CLI utility that safely merges multiple Python virtual environments by reconstructing dependencies instead of modifying venv internals.
Features (v0.2.0)
- Validates input virtual environments.
- Enforces Python version consistency.
- Extracts dependencies using
pip freeze. - Multiple conflict resolution strategies:
highest(default)strictunpinned
- Determines environment rebuild.
- Dependencies integrity verification (
pip check). - Dry-run mode
- Conflict reporting
- JSON merge plan output
Installation
pip install pyvenvmerge
Usage
pyvenvmerge envA envB -o mergedEnv
Conflict Resolution Strategies:
pyvenvmerge envA envB -o mergedEnv --strategy highest
# default
pyvenvmerge envA envB -o mergedEnv --strategy strict
pyvenvmerge envA envB -o mergedEnv --strategy unpinned
Dry-Run Mode
Preview the merge plan without creating an environment:
pyvenvmerge envA envB --dry-run
JSON Report
pyvenvmerge envA envB --dry-run --report json
Limitations
Current limitations:
- Editable installs not supported.
- Git dependencies not supported.
- File dependencies not supported.
Support for these may be added in future versions.
Architecture
Detailed architecture documentation:
Key fixes:
- Version updated to 0.2.0
- Dry-run and JSON features added
- Absolute GitHub architecture link (fixes PyPi 404)
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyvenvmerge-0.2.0.tar.gz.
File metadata
- Download URL: pyvenvmerge-0.2.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0381c14da028378903fc3af815211fdf8aceb38806f0589d2846a00977214e72
|
|
| MD5 |
c71bd66faafa648fb8b73a3379bf712b
|
|
| BLAKE2b-256 |
6326543a552e9fc6b1ec8e9c8f5a69ba80f22200cd22059dceac5ab5c066b2cb
|
File details
Details for the file pyvenvmerge-0.2.0-py3-none-any.whl.
File metadata
- Download URL: pyvenvmerge-0.2.0-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.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adfce41f4c3345794acf1797f09c098c38dd7865dcb175b5335b6359f40d7cd3
|
|
| MD5 |
2512944dec786328cf2030ee21e3f5a7
|
|
| BLAKE2b-256 |
f4173811b0881324efa15be01f2b30edcdd9ddb13c1339da40f7e46eb019d754
|