Skip to content

Home

Python dependency isolation
for multi-module projects.

Written in C++ · ~1ms overhead · Zero conflicts

Install with one command
curl -sSL https://raw.githubusercontent.com/NoahPodcast/adiboupk/main/install.sh | bash

Group Isolation

One venv per directory. Each module gets its own dependencies without conflicts.

Package Isolation

Fine-grained control — isolate individual packages when needed.

Native Performance

C++ binary with ~1ms overhead. No Python runtime needed for the CLI.

Dependency Audit

Detect version conflicts across groups before they break production.

Smart Lock File

Reinstalls only when requirements.txt changes. No wasted time.

Cross-Platform

Linux and Windows from the same codebase.


The Problem

When a project contains multiple Python modules each with their own requirements.txt, a global pip install causes version conflicts — the last install wins, silently breaking other modules.

project/
├── Analytics/
│   ├── script1.py
│   └── requirements.txt    ← requests==2.28.0
├── Notifications/
│   ├── script2.py
│   └── requirements.txt    ← requests==2.32.5

script1.py expects requests 2.28.0 but gets 2.32.5 (or vice versa).

The Solution

adiboupk creates an isolated venv per group of scripts and transparently routes each execution to the correct environment.

graph LR
    A[adiboupk run script1.py] --> B{Which group?}
    B -->|Analytics| C[".venvs/Analytics/"]
    B -->|Notifications| D[".venvs/Notifications/"]
    C --> E["python script1.py<br/>requests==2.28.0"]
    D --> F["python script2.py<br/>requests==2.32.5"]

Quick Start

# Install
curl -sSL https://raw.githubusercontent.com/NoahPodcast/adiboupk/main/install.sh | bash

# Initialize & run
cd my-project/
adiboupk setup
adiboupk run ./Analytics/data_fetch.py hostname123

Each script automatically uses the correct dependencies.

Integration

Replace python with adiboupk run in your orchestration scripts:

// Before — global python, version conflicts
var cmd = 'python ./Analytics/data_fetch.py ' + hostname;

// After — isolated per group
var cmd = 'adiboupk run ./Analytics/data_fetch.py ' + hostname;