omnipkg v1.5.14 - The Time Traveler's Update
omnipkg v1.5.14 - The Time Traveler's Update
This is a landmark release. omnipkg now travels through time.
The Dependency Time Machine is now fully operational, solving one of the most painful problems in package management: installing legacy software that fails to build with modern toolchains. With this update, omnipkg can resurrect packages from the past, making "impossible" installations not just possible, but trivial.
The successful test_old_flask.py demo is a testament to this power, flawlessly installing flask-login==0.4.1 (from 2017!) alongside a modern version in the same environment—a task that would utterly destroy a standard pip installation.
✨ Key Features & Major Enhancements
-
Time Machine is Now Fully Operational: The
smart_installcommand now seamlessly integrates the Time Machine. When a modernpip installfails due to legacy build errors (e.g.,metadata-generation-failed),omnipkgautomatically:- Travels back to the package's original release date.
- Finds the contemporary versions of all its dependencies.
- Installs an ancient version of
setuptools(40.x) to handle the old build system. - Builds the complete, historical dependency tree in a fully isolated sandbox.
- Bubbles the resulting installation, preserving the main environment perfectly.
-
The Repair Bot v7: A Hyper-Aware Knowledge Base: This release introduces a completely redesigned discovery engine that finally solves the challenge of tracking identical package versions across multiple locations.
- The Problem: Previously, the discovery logic would find the first instance of a package (e.g.,
requestsin the main environment) and stop. It would fail to process other instances of the same version located in bubbles or nested inside other packages (likepygmentsinsiderich). This led to "blank" or incomplete Knowledge Base entries. - The Solution: The new Repair Bot is "hyper-aware." It performs a comprehensive, concurrent scan of the entire environment to find all physical instances of every package. It then uses the unique, resolved file path of each instance to generate a stable
installation_hash. - The Result: This hash allows for surgical, high-performance KB updates. The system now intelligently skips already-synced instances, finds and registers new ones, and instantly exorcises ghosts. This guarantees the KB is always a perfect reflection of reality and makes synchronization dramatically faster.
- The Problem: Previously, the discovery logic would find the first instance of a package (e.g.,
-
⚡ Ultra-Fast Pre-Flight Checks:
omnipkg installis now faster than ever. It performs a new, ultra-fast check that determines if your requested packages are already satisfied (in the main environment or a bubble). If they are, the command exits immediately with success in milliseconds, avoiding all unnecessary processing.
🐛 Bug Fixes & Refinements
- Guaranteed Bubble Isolation: The bubble creation process (
create_isolated_bubble) has been hardened to ensure all installations, including Time Machine operations, occur within a temporary sandbox. This completely prevents the mainsite-packagesfrom being polluted during a build. - Demo Overhaul: The
test_old_flask.pyscript has been transformed into a powerful, interactive demo that first shows howpipviolently destroys an environment when trying to install a legacy package, and then demonstrates howomnipkghandles the same task with intelligence and grace. - Quantum Healing™ Pre-Flight:
omnipkgnow detects Python version incompatibility before an install even starts, triggering Quantum Healing immediately to download the correct Python interpreter and seamlessly retry the command. - Hyper-Aggressive Module Cleanup: The
omnipkgLoadernow performs an "exorcism" on exit, purging every single module loaded from a bubble out of memory to guarantee zero state leakage between version swaps.
This release marks a significant step forward in solving dependency hell. Welcome to the era of time travel for your Python packages.