AIline docs

Quickstart

AIline is a lineage tracker for ML experiments: it records the exact code, snapshot, environment, and MLflow run id behind every training command. You wrap your existing command with ailine track -- and keep your script unchanged.

Install

From PyPI, into the same Python environment as your training script:

pip install ailine-core

AIline ships an MLflow plugin that auto-tags runs with a correlation id. The plugin is auto-discovered by MLflow only when both packages live in the same venv, so install AIline into the venv your training command runs in.

Three commands

Run these from the root of any Git repository.

1. Initialize the workspace

ailine init-workspace

Writes a default .ailine.yml and .ailineignore, creates the .ailine/ state directory, and prints the resolved MLflow tracking URI / UI base / storage dir together with their source (env var or default). Pin the printed exports in your shell rc to avoid surprises later.

2. Verify the setup

ailine doctor

Validates .ailine.yml and the local environment. One command, green-light or actionable error.

3. Track a real run

ailine track -- python train.py --epochs 5

Everything after -- is the program AIline runs (verbatim, no shell). Sample output:

ailine track: repo=/work/myproj name='witty-otter'
ailine track: tracking record=8f3c... status=in_progress
ailine track: MLflow run=73f0ca... url=http://127.0.0.1:5001/#/experiments/0/runs/73f0ca...
... your training output ...
ailine track: recorded name='witty-otter' snapshot=8f3c... exit=0

What you get

  • A lineage row visible in ailine status from second zero, with a live MLflow link.
  • A content-addressed snapshot of the working tree when uncommitted changes exist.
  • The exact argv, cwd, environment fingerprint, and DVC linkage persisted per run.
  • An MLflow run automatically associated with the lineage row, no import ailine in your script.

Inspect what was captured:

ailine status --verbose

Or open both UIs together (AIline on :5000, MLflow on :5001):

ailine serve

Next steps