aim
A super-easy way to record, search and compare AI experiments.
What it is and what it does
Aim is an open-source ML experiment tracker designed to log training runs and arbitrary AI metadata, then make that data queryable and explorable. It provides both a web-based UI for visual comparison and filtering of runs, and a Python SDK for programmatic access to tracked metadata—useful for automation, analysis in Jupyter notebooks, or building custom dashboards. The package bundles a full web application stack (FastAPI, SQLAlchemy, Alembic) and specialized storage layers (aimrocks, aimrecords) to handle tracking of experiments.
The core workflow is straightforward: create a Run object, log metrics and parameters as you train, then browse or query results through the UI or API. Aim handles system monitoring, real-time alerting, and run organization via tags and experiments. It integrates with popular ML frameworks and supports migration from other trackers. However, the large dependency footprint and aging maintenance status mean you should verify compatibility with your Python version and check whether the known security vulnerabilities affect your use case.
Use it for:
- Log and compare hyperparameter sweeps across training runs to identify the best configuration
- Track metrics, images, and system resource usage during model training to spot training issues in real time
- Query experiment metadata programmatically in a Jupyter notebook to analyze trends across runs
- Centralize experiment history for a team so all members can browse and filter runs by tags and parameters
- Migrate existing experiment logs from another tracker into Aim's queryable format for unified analysis
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Aim logs training runs and AI metadata, then provides a web UI and Python API to compare, visualize, and query experiments programmatically.
Yes, with conditions. Aim is suitable if you need a self-hosted, open-source experiment tracker with a polished UI and Python query API for ML teams. Install it if you can tolerate the medium dependency footprint and are willing to verify the four known security vulnerabilities do not affect your threat model. Avoid if you require active maintenance and rapid security patches—the 463-day gap since the last release signals aging support.
Install
aim on PyPI
pip
pip install aimuv
uv add aimpoetry
poetry add aimInstalling aim
Before you install
Medium install friction due to 25 runtime dependencies including database (SQLAlchemy, alembic), web server (FastAPI, uvicorn), and specialized libraries (aimrocks, aimrecords). Maintenance status is aging—last release was 463 days ago—so expect slower updates and potential compatibility drift.
License in practice
Apache 2.0 permissive license allows commercial and private use without restriction, though you must include a copy of the license and state any modifications.
Quickstart
pip install aim
from aim import Run
run = Run()
run["loss"] = 0.5
Verify before relying
- Whether the web UI requires a separate server process or runs alongside the SDK
- Performance characteristics when handling thousands of concurrent runs as claimed
- Current status of the four known security vulnerabilities (GHSA-gmvv-rj92-9w35, GHSA-gp5h-f9c5-8355, PYSEC-2026-1087, PYSEC-2026-1088) and whether patches are available
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7.0) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 25 — aim-ui, aimrecords, aimrocks, cachetools, click, cryptography, filelock, numpy, psutil, RestrictedPython, tqdm, aiofiles, alembic, fastapi, jinja2, pytz, SQLAlchemy, uvicorn, Pillow, packaging, python-dateutil, requests, watchdog, websockets, boto3 |
| Maintenance | aging — 463 days since the last release |
| First released | |
| Downloads | 192,207/month — #9,866 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | 4 — GHSA-gmvv-rj92-9w35, GHSA-gp5h-f9c5-8355, PYSEC-2026-1087, PYSEC-2026-1088 |
Evidence: aim-3.29.1-cp310-cp310-macosx_10_14_x86_64.whl; aim-3.29.1-cp310-cp310-macosx_11_0_arm64.whl; aim-3.29.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; aim-3.29.1-cp310-cp310-manylinux_2_24_x86_64.whl; aim-3.29.1-cp310-cp310-manylinux_2_28_x86_64.whl; aim-3.29.1-cp311-cp311-macosx_10_14_x86_64.whl; aim-3.29.1-cp311-cp311-macosx_11_0_arm64.whl; aim-3.29.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; aim-3.29.1-cp311-cp311-manylinux_2_24_x86_64.whl; aim-3.29.1-cp311-cp311-manylinux_2_28_x86_64.whl; aim-3.29.1-cp312-cp312-macosx_10_14_x86_64.whl; aim-3.29.1-cp312-cp312-macosx_11_0_arm64.whl; aim-3.29.1-cp312-cp312-manylinux_2_28_x86_64.whl; aim-3.29.1-cp37-cp37m-macosx_10_14_x86_64.whl; aim-3.29.1-cp37-cp37m-manylinux_2_24_x86_64.whl; aim-3.29.1-cp38-cp38-macosx_10_14_x86_64.whl; aim-3.29.1-cp38-cp38-macosx_11_0_arm64.whl; aim-3.29.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; aim-3.29.1-cp38-cp38-manylinux_2_24_x86_64.whl; aim-3.29.1-cp38-cp38-manylinux_2_28_x86_64.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
comet-mlComet ML is an experiment tracking and logging…
permissive · top 15,000 on PyPI
isa-rwvalProvides Python classes and utilities to read,…
unclear · top 15,000 on PyPI
sagemaker-experimentsTracks machine learning experiments, trials,…
permissive · top 15,000 on PyPI
azureml-mlflowIntegrates MLflow experiment tracking and model…
permissive · top 5,000 on PyPI
trackioTrackio is a local-first experiment tracking…
permissive · top 15,000 on PyPI
whylogswhylogs generates statistical profiles of…
permissive · top 15,000 on PyPI
wandbwandb is a machine learning experiment tracking…
permissive · top 1,000 on PyPI
azureml-telemetryCollects telemetry data from Python code by…
unclear · top 15,000 on PyPI
tracemlTraceML tracks metrics, parameters, artifacts,…
permissive · top 15,000 on PyPI
mlflowMLflow is an open-source platform for managing…
permissive · top 1,000 on PyPI