Metadata-Version: 2.4
Name: miliario
Version: 0.2.0
Summary: miliario — self-hosted ML experiment tracking & LLM observability (imports as `miliario`; the historical `mlop` import keeps working)
Author-email: jqssun <jqssun+git@googlemail.com>, lakeesiv <lakeesivaraya@gmail.com>
Project-URL: Homepage, https://miliario.dev
Project-URL: Documentation, https://miliario.dev/docs
Project-URL: Repository, https://github.com/mlop-ai/mlop.git
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: GitPython
Requires-Dist: httpx[http2]
Requires-Dist: keyring
Requires-Dist: keyrings.alt
Requires-Dist: numpy
Requires-Dist: pillow
Requires-Dist: psutil
Requires-Dist: pynvml
Requires-Dist: rich
Requires-Dist: soundfile
Provides-Extra: full
Requires-Dist: pynvml; extra == "full"
Provides-Extra: import
Requires-Dist: gql[requests]>=3; extra == "import"
Requires-Dist: requests; extra == "import"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0; extra == "mcp"
Dynamic: license-file

# miliario Python client

The Python client for [miliario](https://slenser0.tech) — a self-hosted ML
experiment tracker & LLM/agent observability platform:

```bash
pip install miliario
```

```python
import miliario
```

The historical `mlop-sl` distribution is an alias of `miliario`, and the
historical `import mlop` / `mlop` CLI / `MLOP_*` environment variables keep
working as thin compatibility shims — existing code needs no changes.

Full usage docs: <https://slenser0.tech/docs> (raw markdown for AI agents:
[/docs.md](https://slenser0.tech/docs.md)).

## Install from source

```bash
git clone https://github.com/SLENSER0/ml_logger
cd ml_logger
pip install .
```

## MCP server (Claude Code / Cursor)

`miliario mcp` runs a read-only [MCP](https://modelcontextprotocol.io/) stdio
server over your miliario instance, so coding agents can answer questions like
"which run had the best val_acc?" or "why did eval costs spike yesterday?".

```bash
pip install 'miliario[mcp]'
```

Register with Claude Code:

```bash
claude mcp add miliario -e MILIARIO_API_KEY=mlps_... -e MILIARIO_HOST=https://slenser0.tech -- miliario mcp
```

Or in a generic MCP client config (Cursor `mcp.json` and similar):

```json
{
  "mcpServers": {
    "miliario": {
      "command": "miliario",
      "args": ["mcp"],
      "env": {
        "MILIARIO_API_KEY": "mlps_...",
        "MILIARIO_HOST": "https://slenser0.tech"
      }
    }
  }
}
```

If `MILIARIO_API_KEY` is unset, the server falls back to the token stored by
`miliario login`. Tools: `list_projects`, `list_runs`, `list_metrics`,
`get_metric_series`, `search_spans`, `get_costs`, `get_run_url`.

Original repo: [mlop-ai/mlop](https://github.com/mlop-ai/mlop)
