PyIsolate

Quick Start

Learn how to install and configure PyIsolate in your project.

Installation

PyIsolate uses uv (v0.6.6>=) for package management. Make sure you have uv installed and initialized in your project.

Install PyIsolate from PyPI:

uv add pyisolate

Basic Setup

Enable isolation from your package's __init__.py:

from pyisolate.isolator import isolate_package

isolate_package()

That's it! Inside your_package, import requests resolves to your_package.libs.requests. Outside your_package, import requests continues to resolve to the normal/global install.

Vendor Your Dependencies

Dependencies are defined in pyproject.toml under the [dependency-groups] section:

[dependency-groups]
libs = [
    "pydantic~=1.10",
    "requests==2.32.3",
    # ... other dependencies
]

The easiest way to manage vendored dependencies is using the PyIsolate CLI.:

# Add dependencies
uvx pyisolate-cli add requests==2.32.3 pydantic~=1.10

# Remove dependencies
uvx pyisolate-cli remove opentelemetry-sdk

# Vendor dependencies into your package
uvx pyisolate-cli vendor

Project Layout

A minimal PyIsolate-enabled package looks like this:

your_package/
    __init__.py          # calls isolate_package()
    feature.py           # can `import requests` → uses vendored copy
    libs/
        requests/
            __init__.py
            ...

Next Steps

You may be interested:

On this page