-
-
Notifications
You must be signed in to change notification settings - Fork 1
Release v1.0.3 — The Sequential Synthesizer #3
-
This release elevates omnipkg from a powerful tool to a true dependency orchestration engine. We've introduced a revolutionary installation logic capable of handling multiple, conflicting package versions in a single command—a task that instantly crashes other package managers.
✨ Highlights
- Sequential Installation Engine: Intelligently processes conflicting requirements (e.g.,
torch==2.7.1 torch==2.0.0) synchronously, mimicking how a human expert would solve the problem. - Intelligent Task Reordering: Automatically sorts packages to install newest versions first, ensuring downgrade protection and bubbling are triggered with surgical precision.
- Atomic Environment Cleansing: A core design principle demonstrated below, where the environment is surgically prepared before complex operations.
💥 The Proof: Orchestrating an "Impossible" Install
To prove the power of this new engine, we'll do something no other tool can: install two conflicting versions of PyTorch in the "wrong" order.
Step 1: Prepare the Environment
As a prerequisite, omnipkg first ensures a clean state. This includes clearing out any residual packages or tools that might interfere.
# As a prerequisite, we first uninstall any unnecessary tools. $ omnipkg uninstall uv -y 🗑️ Uninstalling 'uv' from main environment... Successfully uninstalled uv-0.7.14 🗑️ Deleting bubble: uv-0.7.13 ✅ Uninstallation complete. # Next, we purge all existing torch versions for a clean slate. $ omnipkg uninstall torch -y 🗑️ Uninstalling 'torch' from main environment... 🗑️ Deleting bubble: torch-2.7.0 🗑️ Deleting bubble: torch-2.0.1 🗑️ Deleting bubble: torch-2.0.0 ✅ Uninstallation complete.
Step 2: Request the Impossible
We now ask omnipkg to install two conflicting torch versions, providing them in the logically incorrect order (older version first).
$ omnipkg install torch==2.0.0 torch==2.7.1
Step 3: Watch the Magic
omnipkg doesn't fail. It orchestrates.
# It intelligently reorders the user's request for optimal execution. 🔄 Reordered packages for optimal installation: torch==2.7.1, torch==2.0.0 ──────────────────────────────────────────────────────────── 📦 Processing: torch==2.7.1 # ... (Installation of the newest version proceeds) ... ✅ No downgrades detected. Installation completed safely. 🧠 Updating knowledge base... ──────────────────────────────────────────────────────────── 📦 Processing: torch==2.0.0 # ... (pip attempts to install 2.0.0 over 2.7.1) ... 🔬 Analyzing post-installation changes... # The engine detects the downgrade and activates its core feature. 🛡️ DOWNGRADE PROTECTION ACTIVATED! -> Fixing downgrade: torch from v2.7.1 to v2.0.0 🫧 Creating isolated bubble for torch v2.0.0 # ... (Bubble created with 33.4% space saved via deduplication) ... 🔄 Restoring 'torch' to safe version v2.7.1 in main environment... ✅ Environment protection complete!
The Final State: Perfect Isolation
The operation completes, leaving a pristine main environment and a perfectly isolated older version, ready for use.
$ omnipkg info torch 📋 KEY DATA for 'torch': ---------------------------------------- 🎯 Active Version: 2.7.1 🫧 Bubbled Versions: 2.0.0
"Other tools attempt dependency resolution.
Omnipkg orchestrates dependency symphonies."
🔥 Get It Now:
pip install omnipkg==1.0.3
This discussion was created from the release Release v1.0.3 — The Sequential Synthesizer.
Beta Was this translation helpful? Give feedback.