Skip to main content

Vertical-integration toolkit for running and managing GPU fleets with vLLM and Transformer backends.

Project description

oumigo

Oumigo is a vertical-integration toolkit for running and managing GPU fleets. A GPU fleet is a group of computer instances, running locally or on a cloud environment, made up of a manager node and one or more GPU worker nodes coordinated by the manager.

GPU worker nodes work independently as a whole to provide LLM based generation capability, and the manager node exposes a unified data plane interface to calling applications.

Key functions provided by an Oumigo fleet (as of v0.2.0):

  1. Multiple GPU instance dynamic lifecycle management, supporting vLLM and Transformer backends
  2. Data and control interfaces unification, runtime request routing
  3. Performance monitoring
  4. Vertical integration of administration and programming interfaces:
    • Command line interface (CLI) administration
    • Python API function with built-in Agent loop, supporting Agent chat, tool call usage
    • Python API interface for guardrail extension development

Architecture

Two roles:

  • Manager (oumigo.service.manager): coordinates the fleet, split into sub-layers:

    • control plane (manager.control): tracks worker registrations and state, drives worker lifecycle, reconciles desired vs. actual. Low-frequency, correctness-critical.
    • data plane / router (manager.router): forwards client inference calls to healthy workers — on the hot path of every request. Exposes an OpenAI-compatible HTTP surface (/v1/chat/completions, /v1/completions, /v1/models, including SSE streaming), so any OpenAI-API client can talk to the fleet through a single endpoint.
    • provisioning (oumigo.providers): how workers come into existence — a minimal, lifecycle-shaped Provider protocol used by the control plane. Ships with StaticProvider (LAN: workers are hand-started and self-register, no provisioning); cloud backends (e.g. ConoHa, OpenStack-based) are future implementations of the same protocol.
    • dashboard (manager.dashboard): performance & diagnostics — later.
  • Worker (oumigo.service.worker): a long-lived coordinator supervises a LLM server as a child process, monitors health, executes start/stop/restart from the manager, and owns the node state machine + restart-with-give-up policy. Workers self-register with the manager and heartbeat.

Programming interfaces layered on top of the two roles:

  • Python API (oumigo.api): the client-side inference layer. Agent(tools)Chatrequest drives a built-in agent loop with callback tools, response parity across streaming/non-streaming, and reasoning-content surfacing. Talks to the manager's data plane so applications never address workers directly.
  • Guardrails (oumigo.guard): an agent-layer interceptor chain with a narrow-waist Guard protocol and tiered rule→model add-ins, for developing guardrail extensions around the API without touching fleet internals.

Shared foundations: oumigo.config (typed settings + precedence resolution) and oumigo.protocol (the wire contract both roles import so it can't drift).

Using the fleet as an OpenAI-compatible endpoint

Because the data plane speaks the OpenAI API, the manager can drop in wherever an OpenAI-compatible base URL is accepted — no oumigo client required. Point the tool at the manager's router and it addresses the whole fleet through one endpoint:

Base URL:  http://<manager-host>:<router-port>/v1
Model:     <a model id from GET /v1/models>
API key:   any non-empty string (the data plane does not check it; clients still require one)

This has been verified with other editing or coding assistant agents, and works the same for any OpenAI-API SDK or tool (e.g. the openai Python client).

Installation

Oumigo is published on PyPI. Install the extra that matches the node's role:

pip install "oumigo[worker]"     # on a GPU worker box (pulls vLLM + Transformers)
pip install "oumigo[manager]"    # on the manager box
oumigo version

On a GPU worker box, do not install torch separately — vLLM hard-pins it and pulls the matching CUDA wheel transitively.

To use oumigo from another project, add it as a dependency (pip install oumigo, or the [worker] / [manager] extra as needed).

Development

Working on oumigo itself uses an editable install from a source checkout:

# from oumigo/
python -m venv .venv
source .venv/bin/activate
pip install -e ".[worker,dev]"     # on a GPU worker box
pip install -e ".[manager,dev]"    # on the manager box
oumigo version

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oumigo-0.2.0.tar.gz (180.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oumigo-0.2.0-py3-none-any.whl (128.9 kB view details)

Uploaded Python 3

File details

Details for the file oumigo-0.2.0.tar.gz.

File metadata

  • Download URL: oumigo-0.2.0.tar.gz
  • Upload date:
  • Size: 180.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for oumigo-0.2.0.tar.gz
Algorithm Hash digest
SHA256 32267f5631f49d95b6e4542b27735814ef9d923f28d01ff3189a01aae4f533fc
MD5 cf9018192f94b3d679cff071ede22135
BLAKE2b-256 cfd286bc57335d20df4d8744173ac9ebc53c7ed8efc1ef02b7fc4544e93b797b

See more details on using hashes here.

File details

Details for the file oumigo-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: oumigo-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 128.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.10

File hashes

Hashes for oumigo-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dcb4e2227335356da303690e4d045dba01082b2af4b00cfb09067383fc003514
MD5 1daa9ef0c2a47d8153e88bc1af6f99d9
BLAKE2b-256 c1152c4dba6708ae8f9fff3026994c65d2010ff6e50091985451bbf45bc29c68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page