Skip to content

Releases: 1minds3t/omnipkg

omnipkg` v1.0.14 - Release Notes

17 Aug 18:53

Choose a tag to compare

omnipkg v1.0.14 Release Notes

Release Date: 2025-08-17

🎉 omnipkg v1.0.14 marks a significant leap in project clarity, user experience, and undeniable proof of concept! Building on the revolutionary features introduced in v1.0.13 (such as the omnipkgLoader context manager and new CLI commands), this release focuses on providing comprehensive documentation and robust, verifiable CI proof. Get ready for the most intuitive and transparent omnipkg experience yet!

🚀 Major Highlights

  • Comprehensive Documentation Suite: A brand-new docs/ directory provides in-depth guides covering installation, all CLI commands, runtime version switching, advanced management, and our exciting future roadmap.
  • Massive README.md Overhaul: The README has been completely redesigned to be a powerful showcase, prominently featuring live CI badges as "Undeniable CI Proof" for every major claim, directly integrating key output logs from test runs.
  • Dedicated CI Workflows for All Demos: Each interactive demo now has its own robust, automated GitHub Actions workflow, providing continuous, verifiable proof of omnipkg's functionality on real environments.

✨ Features (New in v1.0.14)

  • New docs/ Directory: Contains detailed Markdown documentation:
    • getting_started.md: Installation, Redis setup, and quick start.
    • cli_commands_reference.md: Exhaustive guide to every omnipkg command.
    • runtime_switching.md: Deep dive into omnipkgLoader and mid-script version changes.
    • advanced_management.md: Redis interaction, manual cleanup, and troubleshooting.
    • future_roadmap.md: Vision for Python interpreter hot-swapping, Time Machine technology, and AI optimization.
  • New Dedicated CI Workflows:
    • rich-module-switching-test.yml: Validates Python module switching.
    • test-uv-binary-switching.yml: Validates binary package version management.
    • numpy-scipy-c-extension-test.yml: Validates complex C-extension switching and mixing.
    • tensorflow-complex-dependency-test.yml: Validates complex dependency graph management.
    • test_uv_revert.yml: Demonstrates recovery from external environment changes.
    • test_uv_install.yml: Shows multi-version isolation for uv during installation.
  • Enhanced Badge Integration: Live CI badges are now strategically placed next to relevant feature descriptions in the README.md, providing instant visual proof.

🛠️ Improvements

  • README.md Refinements:
    • Reorganized for better flow, highlighting "Why This Matters" prominently.
    • Integrated compelling CI output excerpts directly into feature explanations.
    • Updated badge links to be more robust and specific to CI workflow runs.
    • Clarified Redis setup instructions in the "Get Started" section.
    • Refined language for increased impact and credibility, balancing bold claims with precise technical descriptions.
    • Corrected all Markdown code block formatting (bash, python, plaintext) for flawless rendering on PyPI and GitHub.
  • Improved CLI Experience (demonstrated in this release):
    • The omnipkg demo command, along with omnipkg install-with-deps and omnipkg reset-config (introduced in v1.0.13), are now fully documented and showcased by dedicated CI workflows, making their usage clearer than ever.
    • More welcoming and informative prompts for new omnipkg installations.
    • Polished help messages and command descriptions.
  • CI Workflow Robustness:
    • Fixed YAML indentation and syntax errors across various workflow files.
    • Improved omnipkg configuration within CI using a robust Python script.
    • Standardized artifact uploading and step summary reporting.
    • Adjusted pip install commands in CI to prevent conflicts with demo scripts' internal installations.
  • Logo Rendering: Fixed PyPI logo display by using absolute raw GitHub URLs.

🐛 Bug Fixes

  • Resolved various YAML syntax errors in GitHub Actions workflows.
  • Addressed pipeline failures related to incorrect initial package installations in CI.
  • Ensured PyPI logo renders correctly across all platforms.

Thank you for your incredible support and for joining us on this journey to solve Python dependency management for good!

*~ The Omnipkg Team*

omnipkg v1.0.13 - Release Notes

17 Aug 10:27

Choose a tag to compare

omnipkg v1.0.13 Release Notes

Release Date: 2025-08-17

🎉 This is a massive, foundational release for omnipkg! We've significantly refactored the core engine, introduced powerful new features for seamless package management, and dramatically enhanced stability and performance. With +3000 PyPi downloads across 35 countries 10 days after launch without advertising, omnipkg is redefining Python package management worldwide! This release cements omnipkg as the intelligent, self-healing solution for Python dependency hell, allowing unprecedented dynamic version control within a single environment.

🚀 Major Highlights

  • Introducing Runtime Context Manager (omnipkgLoader): Achieve guaranteed environment isolation and restoration for dynamic version switching using Python’s with statement, enabling truly safe and concurrent A/B testing of package versions.
  • Enhanced Downgrade Protection & Self-Healing: omnipkg now more robustly detects and manages package downgrades (even by external tools like pip or uv), automatically isolating conflicting versions into bubbles and restoring the main environment to a “last known good” state.
  • Intelligent C-Extension & Binary Management: Greatly improved handling of complex native code packages (like NumPy, SciPy, UV) within bubbles, ensuring they function correctly without conflicts and pushing the boundaries of cross-version compatibility.
  • Comprehensive Test Suite: A new, extensive test suite ensures omnipkg’s core functionalities, including rich (Python modules), uv (binaries), numpy/scipy (C-extensions), and tensorflow (complex dependencies), work flawlessly in isolated environments.
  • Modern Packaging & Transparency: Transitioned to pyproject.toml for core dependencies, and added detailed third-party license notices for full compliance and clarity.

✨ Features

  • omnipkgLoader Context Manager:
    • Introduces a Python with statement context manager for dynamically activating package bubbles.
    • Guarantees restoration of sys.path, sys.modules, and environment variables (like PATH) upon exiting the with block, ensuring zero-downtime and clean state transitions.
    • Aggressively cleans sys.modules and invalidates caches for reliable module re-import.
    • Implements “cloaking” of main environment packages by temporarily renaming them to prevent interference with bubbled versions.
  • New omnipkg demo Command:
    • An interactive CLI experience to showcase omnipkg’s capabilities across various package types.
    • Includes dedicated demos for rich (Python modules), uv (binaries), numpy/scipy (C-extensions), and tensorflow (complex dependency chains).
    • Features real-time, live-streaming output from demo subprocesses with user-friendly warnings to prevent Ctrl+C panic.
    • Easter eggs for tensorflow (😎 TensorFlow escaped the matrix! 🚀) and uv (🔥 UV’s speeding through the matrix like a Python outlaw! 😈).
  • New omnipkg install-with-deps Command: Allows users to specify a main package along with explicit versions for its dependencies, facilitating precise bubble creation for specific integration scenarios.
  • New omnipkg reset-config Command: Provides a safe way to delete the omnipkg configuration file, allowing for a fresh setup.
  • Enhanced omnipkg status Output: Now includes fun, descriptive messages for Pip and UV “in jail,” a summary table for installed packages and bubbles, comma-separated size formatting, >100 MB warnings, and improved readability.
  • First-Time Setup Experience: Improved welcome message and guidance for new users when omnipkg is run without an existing configuration.
  • PyPI Wheel Extraction: omnipkg can now directly download and extract .whl files from PyPI into bubbles, offering more control over installation strategy.

🛠️ Improvements

  • Core Engine Refactor: Significant internal restructuring of omnipkg/core.py for better modularity, maintainability, and extensibility.
  • More Robust Deduplication Logic:
    • C-extension packages, binary packages, and complex Python packages (those with submodules) are now explicitly copied into bubbles for guaranteed functionality, while remaining files are deduplicated where safe (e.g., 75% space savings on typing_extensions).
    • Improved detection of package types and internal structure for more intelligent copying decisions.
    • Enhanced integrity verification during bubble creation to ensure all critical modules (e.g., flask_login.config) are present.
  • Faster Knowledge Base Indexing: Optimized _get_or_build_main_env_hash_index to prioritize faster indexing via package metadata, with fallbacks to full filesystem scans, greatly speeding up initial setup and updates.
  • Comprehensive Bubble Metadata in Redis: Bubbles are now registered with rich metadata (size, file types, package lists, creation time) in Redis, enabling future advanced features like intelligent cleanup.
  • Threaded Metadata Building: omnipkg/package_meta_builder.py now leverages concurrent.futures and tqdm for faster and more visual metadata gathering.
  • Smarter smart_install: Improved sorting of packages for optimal installation order and special handling for bubbling omnipkg itself.
  • Enhanced smart_uninstall: Offers more granular control when uninstalling multiple versions, including interactive prompts and protection for omnipkg’s core dependencies.
  • Improved Logging: More detailed and informative output during operations, making it easier to follow omnipkg’s actions.
  • Updated pyproject.toml: Standardized dependency declaration, broadened requires-python to >=3.10 for wider compatibility, and included tests in the package distribution.
  • Dependency Updates: Added tomli and filelock as explicit dependencies to support new features.
  • Cleaned up MANIFEST.in: Ensures necessary files are included in the distribution.
  • Removal of examples/testflask.py: Streamlined the repository by removing an outdated demo, replaced by the new comprehensive omnipkg demo command.

🐛 Bug Fixes

  • Addressed various minor issues related to path resolution and file handling during bubble creation and activation.
  • Reduced deduplication significantly to ensure the core functionality of isolated versions in bubbles remains intact.

🌟 Get Involved

Try omnipkg v1.0.13 today and experience dependency management like never before! Check out the CI workflows to witness omnipkg’s power in action! Share your feedback on GitHub, contribute to our growing community, or run omnipkg demo to see the magic in action. Let’s make Python dependency hell a thing of the past!

Thank you for your incredible support and for joining us on this journey to solve Python dependency management for good!

v1.0.12 - Dependency Cleanup & Enhanced Project Clarity

14 Aug 12:40

Choose a tag to compare

Release v1.0.12 - Dependency Cleanup & Enhanced Project Clarity
This release focuses on meticulous internal project hygiene, ensuring a cleaner and more transparent dependency landscape for omnipkg.

What's Improved:

Streamlined requirements.txt: We've thoroughly cleaned up the requirements.txt file, removing obsolete or example dependencies (such as specific, conflicting versions of poetry and uv) that were not intended for core installation.
Crystal Clear Dependency Management: This update reinforces pyproject.toml as the singular, authoritative source for omnipkg's essential runtime dependencies, simplifying how contributors and automated tools understand our project's needs.
Proactive Security & Maintenance: Prompted by a recent Dependabot alert (which, thankfully, confirmed no actual vulnerabilities), this cleanup demonstrates our proactive commitment to maintaining a secure and tidy codebase. It ensures omnipkg remains robust and ready for future advancements.
Why this matters:

While this release introduces no new groundbreaking features (those are coming!), it refines our foundational setup. A pristine and unambiguous dependency list means a smoother experience for everyone interacting with omnipkg, from first-time users to core contributors. It's all part of building the most intelligent and reliable Python package manager the world has ever seen.

No functional changes to omnipkg's core operations or its revolutionary capabilities have been introduced by this update.

v1.0.11 - CLI Enhancements

14 Aug 03:12

Choose a tag to compare

Release Notes for v1.0.11

v1.0.11: CLI Enhancements & The Road to the Time Machine

This release focuses on hardening the Command-Line Interface (CLI) and laying the groundwork for one of our most ambitious features: the Time Machine. We've polished existing commands for a rock-solid user experience and added critical guardrails to ensure our demonstrations are both impressive and reliable.

Highlights & Key Changes:

  • CLI Stability & Polish:

  • Paving the Way for the "Time Machine":

    • demo Command Under Construction: The omnipkg demo command has been temporarily redirected to stress-test. The true demo, which will showcase installing legacy packages like flask-login==0.4.1, requires our upcoming "Time Machine" feature.
    • 🔮 The Time Machine Vision: This future capability will allow omnipkg to fetch a package's dependencies based on its original release date, build it using a period-correct Python interpreter and build tools, and then create a modern, compatible wheel for bubbling. This is the key to true legacy compatibility.
    • Coming Soon: Hot-Swapping Python Interpreters! The foundational piece of the Time Machine is automatic Python interpreter switching. We are actively developing this feature, which will be integrated soon.
  • 🛡️ Demo Safety for stress-test:

    • To ensure maximum reliability for current demonstrations, the stress-test command is now strictly limited to Python 3.11 environments.
    • Users on other Python versions will see a clear, professional message explaining the requirement and teasing the future hot-swapping capability that will remove this limitation.

v1.0.10 - Bumping version to fix TOML.

12 Aug 04:36

Choose a tag to compare

v1.0.10

  • Fixed syntax errors in pyproject.toml (removed trailing commas and corrected license field formatting).
  • No functional changes to the omnipkg codebase; this is a patch release to ensure successful package building and publishing.

omnipkg v1.0.8: The Self-Healing, Adaptive Environment

11 Aug 15:02

Choose a tag to compare

omnipkg v1.0.8: The Self-Healing, Adaptive Environment

This release redefines package management, transforming omnipkg into an intelligent system that heals and adapts your development environment on the fly.

Forget the pain of incompatible Python versions—tearing down environments, wrestling with Conda or venv, and reinstalling everything. With v1.0.8, that’s history.

Automatic Environment Upgrading detects suboptimal runtimes (e.g., Python 3.12) and offers a one-click fix. It:

  • Downloads a sandboxed Python 3.11 into a dedicated spot in your virtual environment, complete with build tools and system dependencies for max compatibility.
  • Registers a tailored omnipkg version to that interpreter, ensuring seamless integration.
  • Relaunches to finish your command without losing context or reactivating your shell.

This live interpreter hot-swapping is battle-tested across macOS, Windows, and Linux, proving multiple Python versions can coexist and activate dynamically in one environment—each with isolated build ecosystems.

This foundation unlocks a vision no other tool has dared to pursue:

  • Per-package interpreter hot-swapping: Dynamically selecting the optimal Python version for each dependency mid-script, automatically.
  • Legacy package revival: Spinning up temporary environments with historically accurate dependencies to build compatible wheels, seamlessly integrated into bubbles for modern setups.

This is the dawn of an adaptive runtime where environment conflicts are extinct. Experience it with omnipkg --help.

omnipkg v1.0.7 - Your requirements.txt File, Unlocked

08 Aug 23:30

Choose a tag to compare

Release v1.0.7 - Your requirements.txt File, Unlocked
Hello, omnipkg community!
We are excited to announce v1.0.7, a major quality-of-life update that brings omnipkg's unparalleled power to your existing workflows. This release introduces full support for installing packages directly from a requirements.txt file.
Now, you can leverage omnipkg's intelligence on any project by simply pointing it to your requirements file. The tool handles everything from there, making it the smartest drop-in replacement for pip install -r.
Key Features in v1.0.7:

  • Seamless requirements.txt Integration: The omnipkg install -r requirements.txt command is now fully operational. It processes your package list and versions with the same power and precision as the direct command-line interface.
  • Intelligent Multi-Version Handling: omnipkg doesn't just blindly install from the file. It applies its unique smart sorting logic, ensuring that if your requirements.txt lists conflicting versions of a complex library, the newest version is safely installed in your main environment while the older version and its entire dependency tree are perfectly isolated in a bubble.
  • Unwavering Downgrade Protection: This new feature is powered by the same robust engine that prevents cascading dependency conflicts. Even with a requirements file, omnipkg will detect downgrades and create a clean, isolated bubble to protect your environment from corruption.
    This update solidifies omnipkg as a versatile, powerful tool for both command-line tinkerers and developers working with established project requirements.
    Thank you for your support, and we look forward to seeing omnipkg become an indispensable part of your workflow.

omnipkg v1.0.6 - Restoring the Multi-Version Smart Install

08 Aug 20:32

Choose a tag to compare

v1.0.6 - Restoring the Multi-Version Smart Install
Hello, Omnipkg community!
We are thrilled to announce the release of v1.0.6, a critical update that reintroduces the multi-version smart installation loop. This isn't just a bug fix; it's the triumphant return of a core feature that makes omnipkg the most intelligent dependency manager on the planet.
This release proves that omnipkg can now handle even the most complex dependency landscapes with elegance and ease. We've watched in real-time as omnipkg performed tasks considered impossible for traditional package managers, and now you can too.
What's Restored in v1.0.6:

  • Multi-Version Smart Installation: You can once again install multiple, conflicting versions of a package in a single command. omnipkg intelligently sorts them, installs the newest version into the main environment, and then safely tucks away older versions into isolated bubbles.
  • Intelligent C-Extension Handling: The true test of a package manager is how it handles low-level C-extensions. In a recent demo, omnipkg flawlessly installed conflicting versions of tensorflow. The logs show it wasn't just working; it was brilliant enough to specifically disable deduplication for native binary packages like numpy, grpcio, and protobuf to prevent runtime corruption.
    This release represents a profound step forward. Your main environment stays pristine while you gain the flexibility to work with any version of any package you need.
    Thank you for your support. Happy coding!

omnipkg v1.0.5: NumPy + SciPy Version Mixing Without Crashes. Every Time.

08 Aug 17:39

Choose a tag to compare

omnipkg v1.0.5: NumPy + SciPy Version Mixing Without Crashes. Every Time.
Release Date: August 8, 2025
Version: 1.0.5
We are thrilled to announce omnipkg v1.0.5, a landmark release that solves a critical, long-standing challenge in Python dependency management. While omnipkg has always provided fluid, in-runtime version swapping, this release is a true "mission accomplished" milestone. We have successfully implemented a nuclear-grade stress test that proves our runtime can consistently and reliably mix the versions of Python's most notorious C-extension libraries, NumPy and SciPy, without crashes or errors.
✨ What's New in 1.0.5
Validated Nuclear Stress Test: The Holy Grail of Dependency Management
This release marks a major breakthrough. We have validated that omnipkg can perform the previously unstable: using different, conflicting major versions of C-extension packages like numpy and scipy within the same Python script runtime.

  • The Problem: The complexity of C-extensions often makes reliable combo-swapping impossible. While omnipkg could sometimes perform these swaps in the past, inconsistencies—especially with NumPy's intricate C-API—made it unreliable for production use.
  • The omnipkg Solution: Our stress test has been validated to pass 100% of the time. It proves that omnipkg can:
    • Dynamically Juggle: Fluidly activate and deactivate isolated package "bubbles" in a running Python environment.
    • Perform C-Extension Combos: Run a single script that successfully uses numpy==1.24.3 and scipy==1.12.0 simultaneously.
    • Guarantee Consistency: This fix provides a new benchmark for reliability, making multi-version C-extension environments a practical reality.
      This functionality is a game-changer for scientific computing, machine learning, and data analysis, where projects often require a complex mix of libraries with strict version requirements.
      Improved omnipkgLoader for C-Extension Robustness
  • We've enhanced the omnipkgLoader with more sophisticated logic to handle C-extension modules. By intelligently determining when to perform a full process-level isolation (the "nuclear option"), we ensure that package juggling remains fast and efficient for pure-Python libraries while being rock-solid and reliable for complex binary packages.
    Updated Build & Packaging
  • Minor fixes and optimizations to the build and bubble creation process.
  • The project now includes a validated stress test script (omnipkg/stress_test.py) that users can run to see this unique capability in action.
    This release is a testament to the power of a new approach to dependency management. With omnipkg, developers can say goodbye to the overhead of multiple environments and hello to unprecedented flexibility and control.
    Thank you for your support,
    The omnipkg Team

Release v1.0.4 — The Guardian Protocol

06 Aug 21:08

Choose a tag to compare

Release v1.0.4 — The Guardian Protocol

Modern tools promise speed, but often just accelerate environment destruction. This release introduces the ultimate undo button for your Python workspace: omnipkg revert.

omnipkg now functions as a guardian for your environment. After every successful omnipkg operation, it automatically saves a “last known good” snapshot. If you ever make a mistake with another package manager, omnipkg can now restore your environment to its last pristine state in seconds.

✨ Highlights

  • ↩️ Introducing omnipkg revert: A new top-level command to instantly restore your environment from damage.
  • 📸 Automatic Environment Snapshots: Every successful omnipkg operation now automatically creates a recovery point.
  • ❤️‍🩹 Self-Healing Workflow: omnipkg is no longer just a preventative tool; it can now actively repair damage done by others.

💥 The Proof: Reverting a High-Speed Disaster

Let’s see it in action.

Step 1: Create a Complex “Last Known Good” State

First, we'll demonstrate omnipkg's core intelligence. We'll install an older version of a package, forcing the Downgrade Protection to activate and create our snapshot.

# We ask omnipkg to install an older version over a newer one.
$ omnipkg install flask-login==0.4.1```
Instead of failing, `omnipkg` performs surgery:
```bash
# It detects the conflict and activates its core feature.
🛡️  DOWNGRADE PROTECTION ACTIVATED!
    -> Fixing downgrade: flask-login from v0.6.3 to v0.4.1
🫧 Creating isolated bubble for flask-login v0.4.1
    📊 Space efficiency: 55.5% saved.
    🔄 Restoring 'flask-login' to safe version v0.6.3 in main environment...
✅ Environment protection complete!

# Finally, it saves the perfect state as our recovery point.
📸 Saving snapshot of the current environment as 'last known good'...
   ✅ Snapshot saved.

At the end of this operation, our environment is pristine: flask-login==0.6.3 is active, and the older 0.4.1 is safely isolated in a bubble.

Step 2: The “Accident” with uv

Now, we simulate a user accidentally using uv to downgrade the package.

$ uv pip install flask-login==0.4.1
Uninstalled 1 package in 0.41ms
Installed 1 package in 2ms
 - flask-login==0.6.3
 + flask-login==0.4.1

# Fast? Yes. Correct? No. The environment is now broken.

Step 3: The Guardian Protocol

With the environment in a damaged state, we call on omnipkg to fix it.

$ omnipkg revert

# omnipkg loads the snapshot and instantly knows what's wrong.
⚖️  Comparing current environment to the last known good snapshot...

📝 The following actions will be taken to restore the environment:
  - Fix Version: flask-login==0.6.3

🤔 Are you sure you want to proceed? (y/N): y

# It executes the plan with surgical precision.
🚀 Starting revert operation...
# ... (omnipkg uninstalls the wrong version and installs the right one) ...
✅ Environment successfully reverted to the last known good state.

The Final State: Perfection

A final check confirms the environment has been perfectly restored.

$ omnipkg info flask-login

📋 KEY DATA for 'flask-login':
----------------------------------------
🎯 Active Version: 0.6.3
🫧 Bubbled Versions: 0.4.1

The magic is in the details: omnipkg not only restored the correct active version (0.6.3) but also ensured the bubbled version (0.4.1) was still perfectly preserved. It has a complete memory of the ideal state, ensuring your workflow continues uninterrupted.


This isn’t just a new feature; it’s peace of mind. You can now work, knowing that omnipkg always has your back.