Home
Softono
mlox

mlox

Open source MIT Python
11
Stars
2
Forks
6
Issues
1
Watchers
1 week
Last Commit

About mlox

Sovereign AI Infrastructure. Open by Design. Slothfully Simple.

Platforms

Web Self-hosted

Languages

Python

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 Slides: State of the Union


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 Web UI, TUI, or CLI 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.

State of the Union (Sept 2025) — a short slide overview of what MLOX is, what problem it solves, and where it's heading.


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 [email protected].


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
Code busysloths-mlox PyPI package with client integrations, SDK helpers, and example snippets
Lifecycle Management Migrate, upgrade, export, and decommission services (planned)

Services Catalog

Category Services Status
ML Platforms MLflow 2.x, MLflow 3.x, Airflow 2.x, Airflow 3.x Functional
Model Serving MLflow MLServer, MLflow Gateway Functional
LLMs & Inference LiteLLM, Ollama Functional
Vector & Feature Stores Milvus, Feast Functional
Data & Streaming PostgreSQL, Redis, MinIO, Kafka Functional
Observability InfluxDB, OpenTelemetry Functional
Secrets & Access OpenBao, Tiny Secret Manager, Registry 3 Functional / Beta
Kubernetes Add-ons Kubernetes Dashboard, Headlamp, KubeApps Experimental
Cloud Integrations GCP (BigQuery, Cloud Storage, Sheets, Secret Manager) Functional
Source Control GitHub repository import Beta
Applications Repository Docker Deploy Beta

Architecture in 30 Seconds

CLI     TUI     Streamlit Web UI
  \      |             /
   +------+------------+
          |
          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 and Web UI retain one workspace in runtime state.

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 Task (https://taskfile.dev/installation/)

# 2. Clone
git clone https://github.com/BusySloths/mlox.git && cd mlox

# 3. Set up environment (creates conda env 'mlox-dev' with Python 3.12.5)
task first:steps

# 4. Launch the Web UI
task ui:streamlit

# 5. Or try the CLI
task ui:cli CLI_ARGS="--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
│   ├── view/           # Streamlit web UI + Streamlit-specific UI handlers
│   ├── assets/         # Runtime templates and packaged assets
│   ├── resources/      # Images and other static resources
│   ├── project/        # Public workspace and internal SQLCipher persistence
│   ├── 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
├── 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
task first:steps
# 4. Install dev dependencies
pip install -e .[dev]

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)

Ways to Contribute

See CONTRIBUTING.md for the full guide and docs/WORKFLOW_QUICK_REFERENCE.md for how we use GitHub Projects, Milestones, and Issues.


Documentation

Document Description
Installation Guide Setup from scratch
Architecture (humans) Codebase walkthrough
Architecture (agents) High-risk areas and invariants
Contributing Guide How to contribute
Workflow Quick Reference Labels, milestones, PRs
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 [email protected] or start a conversation in GitHub Discussions.