Skip to content

omnipkg v1.5.14 - The Time Traveler's Update

Choose a tag to compare

@1minds3t 1minds3t released this 07 Nov 16:03
· 1588 commits to main since this release

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_install command now seamlessly integrates the Time Machine. When a modern pip install fails due to legacy build errors (e.g., metadata-generation-failed), omnipkg automatically:

    1. Travels back to the package's original release date.
    2. Finds the contemporary versions of all its dependencies.
    3. Installs an ancient version of setuptools (40.x) to handle the old build system.
    4. Builds the complete, historical dependency tree in a fully isolated sandbox.
    5. 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., requests in the main environment) and stop. It would fail to process other instances of the same version located in bubbles or nested inside other packages (like pygments inside rich). 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.
  • ⚡ Ultra-Fast Pre-Flight Checks: omnipkg install is 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 main site-packages from being polluted during a build.
  • Demo Overhaul: The test_old_flask.py script has been transformed into a powerful, interactive demo that first shows how pip violently destroys an environment when trying to install a legacy package, and then demonstrates how omnipkg handles the same task with intelligence and grace.
  • Quantum Healing™ Pre-Flight: omnipkg now 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 omnipkgLoader now 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.