Skip to main content

MLOX Logo

Deploy and manage ML/AI infrastructure on your own servers. Slothfully simple.

Servers, Docker, Kubernetes, databases, workflows, model serving, data services, tracking, and monitoring, with your product at the center. Managed in one place and connected by design.

Maintainability Code Coverage GitHub Issues GitHub Discussions


What is MLOX?

ML/AI infrastructure is fragmented. Setup is painful, managed platforms are expensive, and vendor lock-in limits your choices.

MLOX brings the infrastructure around your product into one connected system. It manages servers, sets up Docker and Kubernetes clusters, deploys open-source services, stores secrets, and wires dependencies across databases, workflows, experiment tracking, model serving, data services, and monitoring.

Use the CLI or TUI to operate the same inspectable, configuration-driven core. MLOX is built for solopreneurs, startups, and small teams that want to focus on their product instead of assembling and maintaining infrastructure.

It's for engineers who prefer thoughtful systems over chaos. Backed by open source. Powered by sloths.

Status, roadmap, and decisions — see docs/DOCTRINE.md, the single point of truth.


Current Status

Native, Docker, and Kubernetes execution, connector integrations, and the major services are functional. The project has been accepted at CAIN 2026.

We welcome contributors, users, and honest feedback. If you hit something broken, please open an issue or reach out at contact@mlox.org.


What Can You Do with MLOX?

Area What's included
Infrastructure Add, remove, and tag servers; use Native, Docker, or Kubernetes execution; create single- or multi-node clusters
Services Deploy, manage, and remove services; centralize secrets; connect service dependencies
Connectors Integrate externally hosted services such as BigQuery, Cloud Storage, Sheets, and GCP Secret Manager
Applications Import repositories and deploy your product alongside its supporting services
Operations Experimental telemetry watching, incident evidence, planning, and advisory agent workspaces
Code busysloths-mlox PyPI package with client integrations, SDK helpers, and example snippets
Lifecycle Management Migrate, upgrade, export, and decommission services (planned)

Services Catalog

MLOX bundles a growing set of self-hosted services and connectors (MLflow, Airflow, Milvus, Feast, Kafka, LiteLLM, OpenBao, GCP, and more). The exhaustive, authoritative list — generated directly from the YAML plugin configs — lives in docs/SERVICES_CATALOG.md. Per-component maturity status is tracked in docs/DOCTRINE.md.


Architecture in 30 Seconds

CLI     TUI
  \      |
   +-----+
          |
          v
      `ProjectWorkspace`
          |
          v
   internal state + repository
          |
          v
 encrypted `project.mlox` (SQLCipher)
 metadata + data-source pointer + infrastructure + secrets
          |
          +-- active source: `self` today
          +-- PostgreSQL-ready repository boundary later

ProjectWorkspace is the single public runtime API. It loads and atomically persists internal workspace state containing metadata and Infrastructure; the single selected secret manager is available through workspace.secrets. Encrypted project storage is selected initially, with no silent fallback when an external provider is unavailable. The project also records its active data source (sqlcipher/self initially), leaving a clean migration path to PostgreSQL. CLI commands open a workspace per invocation, while the TUI retains one workspace in runtime state. (The Streamlit web UI is deprecated — see docs/DOCTRINE.md.)

Service and server definitions remain inspectable and configuration-driven, while execution is handled consistently across Native, Docker, Kubernetes, and connector backends.

For deeper reading:


Quickstart

# 1. Install uv (https://docs.astral.sh/uv/)

# 2. Install MLOX with the terminal UI included
uv tool install 'busysloths-mlox[tui]'

# 3. Launch the TUI and hit the "Create" button on the login screen
#    to make your first encrypted, portable project file
mlox tui

# ... or explore the CLI
mlox --help

See Installation Guide for a fuller walkthrough including Docker and Kubernetes setup. See Encrypted Project Files for creation, storage, backup, and legacy migration details.


Project Structure

mlox/
├── mlox/
│   ├── application/    # Stateful application API and shared use cases
│   ├── cli/            # Typer CLI package (root app + command modules)
│   ├── execution/      # Backend and system execution helpers
│   ├── project/        # Aggregate, SQLCipher repository, and secret adapter
│   ├── servers/        # Local, connector, and Ubuntu compute with Native, Docker, or Kubernetes
│   ├── services/       # Deployable ML/AI services and integrations
│   ├── tui/            # Textual terminal UI + TUI-specific UI handlers
│   ├── ui/             # Frontend UI handler registry
│   ├── assets/         # Runtime templates and packaged assets
│   ├── resources/      # Images and other static resources
│   ├── view/           # Streamlit web UI — deprecated (moving to plugin repo)
│   ├── infra.py        # Service/server graph
│   ├── config.py       # YAML loading + plugin discovery + UI handler lookup
│   └── executors.py    # Remote task executor layer used by services/servers
├── tests/
│   ├── unit/           # Fast tests, no external deps
│   └── integration/    # Multipass VM tests, including Kubernetes/k3s tests
├── examples/           # OTel, MLflow tracking, DAG templates
├── docs/               # Architecture, installation, contribution guides
├── wiki/               # GitHub Wiki source pages
├── scripts/            # Development and maintenance utilities
└── website/            # Astro landing page

Contributing

Sloth-Friendly Setup

# 1. Install Task (https://taskfile.dev/installation/)
# 2. Clone the repo
git clone https://github.com/BusySloths/mlox.git && cd mlox
# 3. Set up the dev environment (uv-based, installs the package with dev extras)
task first:steps

Run Tests

task dev:lint                   # flake8
task tests:unit:run             # unit tests (fast, no external deps)
task tests:integration:run      # integration tests (requires Multipass VMs)
task tests:integration:k8s      # Kubernetes integration tests (requires Multipass/k3s)

Ways to Contribute

See CONTRIBUTING.md for the issue, milestone, and PR workflow.


Documentation

Document Description
Doctrine Status, roadmap, and binding decisions (single point of truth)
Services Catalog Generated service/server catalog
Architecture Codebase walkthrough
Installation Guide Setup from scratch
Project Files Encrypted project files, backup, migration
Contributing Guide How to contribute
Plugin Guide External service and server config plugins
API Docs Generated Python API reference

Sponsors

MLOX is proudly funded by:

BMFTR

Supporters

PrototypeFund


License & Contact

MLOX is open-source, distributed under the MIT License. Contributions are welcome and subject to the same terms.

We are looking for people invested in the problem we're solving. Say hello at contact@mlox.org or start a conversation in GitHub Discussions.

Metadata

Release files for busysloths-mlox 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for busysloths-mlox 0.5.0
File Size Uploaded
busysloths_mlox-0.5.0.tar.gz 4.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for busysloths-mlox 0.5.0
File Interpreter ABI Platform
busysloths_mlox-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.8 MB

Release files / busysloths_mlox-0.5.0.tar.gz

Download URL busysloths_mlox-0.5.0.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
58a299b56dd9a3f04234948eb3a19c078c4b5a43ab67f14cf8640a8849961ffe
BLAKE2b-256 checksum
How to use checksums
4c3c1bdcc9b2de3a6d1cc694678e271be530119c875128e1e502ba1190eb2c68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / busysloths_mlox-0.5.0-py3-none-any.whl

Download URL busysloths_mlox-0.5.0-py3-none-any.whl
Size 4.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e63cc56393b72a9a8953136d4d8f765305a43ebcb1231ff38bfdcef1caec3a51
BLAKE2b-256 checksum
How to use checksums
4b1b1d65fa07ae79d50d6d7b56f9756db5e4a2b7b062ab80a19d2f205d1d73d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page