|
18 | 18 |
|
19 | 19 | --- |
20 | 20 |
|
| 21 | +<details> |
| 22 | + |
| 23 | +<summary><strong>🔬 Click to see what the demo shows you</strong></summary> |
| 24 | +# The demo first shows you what happens when you use pip... |
| 25 | +💀 You: pip install flask-login==0.4.1 |
| 26 | +... |
| 27 | +💥 BOOM! Look what pip did: |
| 28 | + ❌ Uninstalled flask-login 0.6.3 |
| 29 | + ❌ Downgraded Flask and Werkzeug |
| 30 | + ❌ Your modern project is now BROKEN |
| 31 | + |
| 32 | +# Then, it shows you the omnipkg way... |
| 33 | +🧠 Smart choice! Using omnipkg instead... |
| 34 | +🫧 Creating a protective bubble for the old version... |
| 35 | +$ omnipkg install flask-login==0.4.1 |
| 36 | +✅ omnipkg install successful! |
| 37 | +🎯 BOTH versions now coexist peacefully! |
| 38 | + |
| 39 | +</details> |
| 40 | + |
| 41 | +🔥 The Gauntlet: Surviving the Stress Test |
| 42 | +Talk is cheap. Here’s what happens when omnipkg is pushed to its absolute limit with the built-in omnipkg stress-test command. This isn't a simulation; it's omnipkg seamlessly activating different, often incompatible, versions of C-extension-heavy libraries in the same Python process. |
| 43 | + |
| 44 | +<details> |
| 45 | + |
| 46 | +<summary><strong>🤯 Click to view the full stress test output.</strong></summary> |
| 47 | +Generated bash |
| 48 | +# Creating bubbles for older, conflicting versions... |
| 49 | +--- Creating bubble for numpy==1.24.3 --- |
| 50 | +✅ Bubble created: 1363 files copied, 0 deduplicated. |
| 51 | +--- Creating bubble for scipy==1.12.0 --- |
| 52 | +✅ Bubble created: 3551 files copied, 0 deduplicated. |
| 53 | + |
| 54 | +# Executing the test... |
| 55 | +💥 NUMPY VERSION JUGGLING: |
| 56 | + |
| 57 | +⚡ Switching to numpy==1.24.3 |
| 58 | +🌀 omnipkg loader: Activating numpy==1.24.3... |
| 59 | + ✅ Activated bubble: /path/to/.omnipkg_versions/numpy-1.24.3 |
| 60 | + ✅ Version: 1.24.3 |
| 61 | + 🔢 Array sum: 6 |
| 62 | + |
| 63 | +⚡ Switching to numpy==1.26.4 |
| 64 | +🌀 omnipkg loader: Activating numpy==1.26.4... |
| 65 | + 🧹 Deactivated bubble: numpy-1.24.3 |
| 66 | + ✅ Activated bubble: /path/to/.omnipkg_versions/numpy-1.26.4 |
| 67 | + ✅ Version: 1.26.4 |
| 68 | + 🔢 Array sum: 6 |
| 69 | + |
| 70 | +🔥 SCIPY C-EXTENSION TEST: |
| 71 | + |
| 72 | +🌋 Switching to scipy==1.12.0 |
| 73 | +🌀 omnipkg loader: Activating scipy==1.12.0... |
| 74 | + ✅ Activated bubble: /path/to/.omnipkg_versions/scipy-1.12.0 |
| 75 | + ✅ Version: 1.12.0 |
| 76 | + ♻️ Sparse matrix: 3 non-zeros |
| 77 | + |
| 78 | +🌋 Switching to scipy==1.16.1 |
| 79 | +🌀 omnipkg loader: Activating scipy==1.16.1... |
| 80 | + 🧹 Deactivated bubble: scipy-1.12.0 |
| 81 | + ✅ System version already matches requested version (1.16.1). No bubble activation needed. |
| 82 | + ✅ Version: 1.16.1 |
| 83 | + ♻️ Sparse matrix: 3 non-zeros |
| 84 | + |
| 85 | + 🚨 OMNIPKG SURVIVED NUCLEAR TESTING! 🎇 |
| 86 | + |
| 87 | +</details> |
| 88 | + |
| 89 | +--- |
| 90 | + |
21 | 91 | `omnipkg` lets you install *any version* of *any package* without breaking your environment, downgrading dependencies, or needing Conda, Docker, or `pipx`. **Dependency hell? Obliterated.** |
22 | 92 |
|
23 | 93 | ## Installation & Quick Start |
|
0 commit comments