skillfed

aim

A super-easy way to record, search and compare AI experiments.

aim v3.29.1 192.2K downloads/30d#9,866 on PyPI
Permissive license AGING released

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 aim

uv

uv add aim

poetry

poetry add aim

Installing 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

License :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: PyPy

Tags

experiment trackingtraining run loggingml metadata visualizationexperiment comparison uitraining metrics dashboardai experiment trackerrun comparison tool
experiment-trackingml-monitoringself-hosted

More Artificial Intelligence packages