Skip to main content

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)
    • strict
    • unpinned
  • 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:

ARCHITECTURE

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvenvmerge-0.2.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

pyvenvmerge-0.2.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

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

Hashes for pyvenvmerge-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0381c14da028378903fc3af815211fdf8aceb38806f0589d2846a00977214e72
MD5 c71bd66faafa648fb8b73a3379bf712b
BLAKE2b-256 6326543a552e9fc6b1ec8e9c8f5a69ba80f22200cd22059dceac5ab5c066b2cb

See more details on using hashes here.

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

Hashes for pyvenvmerge-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 adfce41f4c3345794acf1797f09c098c38dd7865dcb175b5335b6359f40d7cd3
MD5 2512944dec786328cf2030ee21e3f5a7
BLAKE2b-256 f4173811b0881324efa15be01f2b30edcdd9ddb13c1339da40f7e46eb019d754

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