pyisolate Documentation

pyisolate is a Python library for running extensions across multiple isolated virtual environments with RPC communication.

Overview

pyisolate solves dependency conflicts by isolating extensions in separate venvs while maintaining seamless host-extension communication through AsyncRPC.

Key Features

  • Dependency Isolation: Each extension gets its own virtual environment

  • Transparent RPC: Seamless communication between host and extensions

  • PyTorch Sharing: Optionally share PyTorch models across processes for memory efficiency

  • Simple API: Easy to use with minimal configuration

Quick Example

from pyisolate import ExtensionManager

async def main():
    manager = ExtensionManager("./extensions")
    await manager.start()

    # Extensions can be called transparently
    result = await manager.extensions['my_extension'].process_data(data)

    await manager.stop()

Installation

pip install pyisolate

Indices and tables