Metadata-Version: 2.4
Name: oumigo
Version: 0.1.0
Summary: Vertical-integration toolkit for running and managing GPU fleets with vLLM and Transformer backends.
Project-URL: Homepage, https://github.com/gotoai/oumigo
Project-URL: Repository, https://github.com/gotoai/oumigo
Project-URL: Issues, https://github.com/gotoai/oumigo/issues
Author: GOTOAI
License-Expression: MIT
License-File: LICENSE
Keywords: cluster,inference,llm,serving,vllm
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: fastapi>=0.110
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic-settings>=2
Requires-Dist: pydantic>=2
Requires-Dist: pyyaml>=6
Requires-Dist: typer>=0.12
Requires-Dist: uvicorn>=0.29
Requires-Dist: zeroconf>=0.130
Provides-Extra: conoha
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: manager
Provides-Extra: worker
Requires-Dist: accelerate; extra == 'worker'
Requires-Dist: bitsandbytes; extra == 'worker'
Requires-Dist: pillow; extra == 'worker'
Requires-Dist: timm; extra == 'worker'
Requires-Dist: transformers>=5.10.1; extra == 'worker'
Requires-Dist: vllm>=0.5; extra == 'worker'
Description-Content-Type: text/markdown

# oumigo

A vertical-integration toolkit for running and managing **vLLM replica fleets** — a
manager/driver node coordinating many independent vLLM worker replicas behind a
health-aware router, with a pluggable cloud-provisioning layer.

> Status: early development. The CLI, manager console, config resolution, and the
> LAN provider exist; core worker↔manager registration, the router, and vLLM
> supervision are not built yet.

## Architecture

Two roles:

- **Worker** (`oumigo.service.worker`): a long-lived *coordinator* supervises a vLLM 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.
- **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.
  - **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.

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

## Development

```bash
# 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
```

To consume this in-development package from a sibling project, editable-install it
into that project's environment (e.g. `pip install -e ../oumigo`).
