// the find
aimhubio/aim
Aim 💫 — An easy-to-use & supercharged open-source experiment tracker.
Aim is a self-hosted ML experiment tracker built to handle thousands of training runs with a fast comparison UI and a Python SDK for querying tracked metadata programmatically. It's for ML researchers and engineers who want the core value of Weights & Biases — rich metric visualization, hyperparameter grouping, image/audio/text tracking — without giving their training data to a SaaS. If you've outgrown TensorBoard's run comparison or don't want to pay W&B prices, this is the obvious next stop.
The query language for filtering runs is actual Python expressions evaluated server-side, which means `run.hparams.learning_rate > 0.0001 and metric.name == 'loss'` just works — no proprietary DSL to learn. The storage layer uses RocksDB with Cython-accelerated encoding (`.pyx` files throughout `aim/storage/`), which is why it stays responsive with 10k+ runs where MLflow's SQLite-backed UI falls over. Migration converters for TensorBoard, MLflow, and W&B logs mean you can evaluate it without re-running experiments. Remote tracking server with gRPC transport (`aim/ext/transport/`) lets distributed training jobs write to a central store without NFS or shared filesystems.
The last README roadmap update still lists 'Text Explorer' and 'Dashboards' as in-progress, and checking the repo history those have been 'in-progress' for years — feature velocity has visibly slowed since the core team appears to be pushing an enterprise product (AimStack) instead. The storage format is a custom RocksDB schema, not a standard format, so migrating *out* of Aim is significantly harder than migrating in. Linux/macOS only per the badges — Windows support is absent and not on the roadmap, which blocks a chunk of ML practitioners. The UI is a React SPA bundled into the Python package, which means frontend bugs require a full package release to fix and the bundle is large enough that `pip install aim` takes noticeably longer than it should.