Skip to main content

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

Project description

Drop a star to support Aim ⭐ Join Aim discord community

An easy-to-use & supercharged open-source experiment tracker

Aim logs your training runs and any AI Metadata, enables a beautiful UI to compare, observe them and an API to query them programmatically.

Discord Server Twitter Follow Medium

Platform Support PyPI - Python Version PyPI Package License PyPI Downloads Issues



SEAMLESSLY INTEGRATES WITH:


TRUSTED BY ML TEAMS FROM:


AimStack offers enterprise support that's beyond core Aim. Contact via hello@aimstack.io e-mail.


AboutDemosEcosystemQuick StartExamplesDocumentationCommunityBlog


ℹ️ About

Aim is an open-source, self-hosted ML experiment tracking tool designed to handle 10,000s of training runs.

Aim provides a performant and beautiful UI for exploring and comparing training runs. Additionally, its SDK enables programmatic access to tracked metadata — perfect for automations and Jupyter Notebook analysis.

Aim's mission is to democratize AI dev tools 🎯


Log Metadata Across Your ML Pipeline 💾 Visualize & Compare Metadata via UI 📊
  • ML experiments and any metadata tracking
  • Integration with popular ML frameworks
  • Easy migration from other experiment trackers
  • Metadata visualization via Aim Explorers
  • Grouping and aggregation
  • Querying using Python expressions
Run ML Trainings Effectively ⚡ Organize Your Experiments 🗂️
  • System info and resource usage tracking
  • Real-time alerting on training progress
  • Logging and configurable notifications
  • Detailed run information for easy debugging
  • Centralized dashboard for holistic view
  • Runs grouping with tags and experiments

🎬 Demos

Check out live Aim demos NOW to see it in action.

Machine translation experiments lightweight-GAN experiments
Training logs of a neural translation model(from WMT'19 competition). Training logs of 'lightweight' GAN, proposed in ICLR 2021.
FastSpeech 2 experiments Simple MNIST
Training logs of Microsoft's "FastSpeech 2: Fast and High-Quality End-to-End Text to Speech". Simple MNIST training logs.

🌍 Ecosystem

Aim is not just an experiment tracker. It's a groundwork for an ecosystem. Check out the two most famous Aim-based tools.

aimlflow Aim-spaCy
aimlflow Aim-spaCy
Exploring MLflow experiments with a powerful UI an Aim-based spaCy experiment tracker

🏁 Quick start

Follow the steps below to get started with Aim.

1. Install Aim on your training environment

pip3 install aim

2. Integrate Aim with your code

from aim import Run

# Initialize a new run
run = Run()

# Log run parameters
run["hparams"] = {
    "learning_rate": 0.001,
    "batch_size": 32,
}

# Log metrics
for i in range(10):
    run.track(i, name='loss', step=i, context={ "subset":"train" })
    run.track(i, name='acc', step=i, context={ "subset":"train" })

See the full list of supported trackable objects(e.g. images, text, etc) here.

3. Run the training as usual and start Aim UI

aim up

Learn more

Migrate from other tools

Aim has built-in converters to easily migrate logs from other tools. These migrations cover the most common usage scenarios. In case of custom and complex scenarios you can use Aim SDK to implement your own conversion script.

Integrate Aim into an existing project

Aim easily integrates with a wide range of ML frameworks, providing built-in callbacks for most of them.

Query runs programmatically via SDK

Aim Python SDK empowers you to query and access any piece of tracked metadata with ease.

from aim import Repo

my_repo = Repo('/path/to/aim/repo')

query = "metric.name == 'loss'" # Example query

# Get collection of metrics
for run_metrics_collection in my_repo.query_metrics(query).iter_runs():
    for metric in run_metrics_collection:
        # Get run params
        params = metric.run[...]
        # Get metric values
        steps, metric_values = metric.values.sparse_numpy()
Set up a centralized tracking server

Aim remote tracking server allows running experiments in a multi-host environment and collect tracked data in a centralized location.

See the docs on how to set up the remote server.

Deploy Aim on kubernetes

Read the full documentation on aimstack.readthedocs.io 📖

🆚 Comparisons to familiar tools

TensorBoard vs Aim

Training run comparison

Order of magnitude faster training run comparison with Aim

  • The tracked params are first class citizens at Aim. You can search, group, aggregate via params - deeply explore all the tracked data (metrics, params, images) on the UI.
  • With tensorboard the users are forced to record those parameters in the training run name to be able to search and compare. This causes a super-tedius comparison experience and usability issues on the UI when there are many experiments and params. TensorBoard doesn't have features to group, aggregate the metrics

Scalability

  • Aim is built to handle 1000s of training runs - both on the backend and on the UI.
  • TensorBoard becomes really slow and hard to use when a few hundred training runs are queried / compared.

Beloved TB visualizations to be added on Aim

  • Embedding projector.
  • Neural network visualization.
MLflow vs Aim

MLFlow is an end-to-end ML Lifecycle tool. Aim is focused on training tracking. The main differences of Aim and MLflow are around the UI scalability and run comparison features.

Aim and MLflow are a perfect match - check out the aimlflow - the tool that enables Aim superpowers on Mlflow.

Run comparison

  • Aim treats tracked parameters as first-class citizens. Users can query runs, metrics, images and filter using the params.
  • MLFlow does have a search by tracked config, but there are no grouping, aggregation, subplotting by hyparparams and other comparison features available.

UI Scalability

  • Aim UI can handle several thousands of metrics at the same time smoothly with 1000s of steps. It may get shaky when you explore 1000s of metrics with 10000s of steps each. But we are constantly optimizing!
  • MLflow UI becomes slow to use when there are a few hundreds of runs.
Weights and Biases vs Aim

Hosted vs self-hosted

  • Weights and Biases is a hosted closed-source MLOps platform.
  • Aim is self-hosted, free and open-source experiment tracking tool.

🛣️ Roadmap

Detailed milestones

The Aim product roadmap :sparkle:

  • The Backlog contains the issues we are going to choose from and prioritize weekly
  • The issues are mainly prioritized by the highly-requested features

High-level roadmap

The high-level features we are going to work on the next few months:

In progress

  • Aim SDK low-level interface
  • Dashboards – customizable layouts with embedded explorers
  • Ergonomic UI kit
  • Text Explorer
Next-up

Aim UI

  • Runs management
    • Runs explorer – query and visualize runs data(images, audio, distributions, ...) in a central dashboard
  • Explorers
    • Distributions Explorer

SDK and Storage

  • Scalability
    • Smooth UI and SDK experience with over 10.000 runs
  • Runs management
    • CLI commands
      • Reporting - runs summary and run details in a CLI compatible format
      • Manipulations – copy, move, delete runs, params and sequences
  • Cloud storage support – store runs blob(e.g. images) data on the cloud
  • Artifact storage – store files, model checkpoints, and beyond

Integrations

  • ML Frameworks:
    • Shortlist: scikit-learn
  • Resource management tools
    • Shortlist: Kubeflow, Slurm
  • Workflow orchestration tools
Done
  • Live updates (Shipped: Oct 18 2021)
  • Images tracking and visualization (Start: Oct 18 2021, Shipped: Nov 19 2021)
  • Distributions tracking and visualization (Start: Nov 10 2021, Shipped: Dec 3 2021)
  • Jupyter integration (Start: Nov 18 2021, Shipped: Dec 3 2021)
  • Audio tracking and visualization (Start: Dec 6 2021, Shipped: Dec 17 2021)
  • Transcripts tracking and visualization (Start: Dec 6 2021, Shipped: Dec 17 2021)
  • Plotly integration (Start: Dec 1 2021, Shipped: Dec 17 2021)
  • Colab integration (Start: Nov 18 2021, Shipped: Dec 17 2021)
  • Centralized tracking server (Start: Oct 18 2021, Shipped: Jan 22 2022)
  • Tensorboard adaptor - visualize TensorBoard logs with Aim (Start: Dec 17 2021, Shipped: Feb 3 2022)
  • Track git info, env vars, CLI arguments, dependencies (Start: Jan 17 2022, Shipped: Feb 3 2022)
  • MLFlow adaptor (visualize MLflow logs with Aim) (Start: Feb 14 2022, Shipped: Feb 22 2022)
  • Activeloop Hub integration (Start: Feb 14 2022, Shipped: Feb 22 2022)
  • PyTorch-Ignite integration (Start: Feb 14 2022, Shipped: Feb 22 2022)
  • Run summary and overview info(system params, CLI args, git info, ...) (Start: Feb 14 2022, Shipped: Mar 9 2022)
  • Add DVC related metadata into aim run (Start: Mar 7 2022, Shipped: Mar 26 2022)
  • Ability to attach notes to Run from UI (Start: Mar 7 2022, Shipped: Apr 29 2022)
  • Fairseq integration (Start: Mar 27 2022, Shipped: Mar 29 2022)
  • LightGBM integration (Start: Apr 14 2022, Shipped: May 17 2022)
  • CatBoost integration (Start: Apr 20 2022, Shipped: May 17 2022)
  • Run execution details(display stdout/stderr logs) (Start: Apr 25 2022, Shipped: May 17 2022)
  • Long sequences(up to 5M of steps) support (Start: Apr 25 2022, Shipped: Jun 22 2022)
  • Figures Explorer (Start: Mar 1 2022, Shipped: Aug 21 2022)
  • Notify on stuck runs (Start: Jul 22 2022, Shipped: Aug 21 2022)
  • Integration with KerasTuner (Start: Aug 10 2022, Shipped: Aug 21 2022)
  • Integration with WandB (Start: Aug 15 2022, Shipped: Aug 21 2022)
  • Stable remote tracking server (Start: Jun 15 2022, Shipped: Aug 21 2022)
  • Integration with fast.ai (Start: Aug 22 2022, Shipped: Oct 6 2022)
  • Integration with MXNet (Start: Sep 20 2022, Shipped: Oct 6 2022)
  • Project overview page (Start: Sep 1 2022, Shipped: Oct 6 2022)
  • Remote tracking server scaling (Start: Sep 11 2022, Shipped: Nov 26 2022)
  • Integration with PaddlePaddle (Start: Oct 2 2022, Shipped: Nov 26 2022)
  • Integration with Optuna (Start: Oct 2 2022, Shipped: Nov 26 2022)
  • Audios Explorer (Start: Oct 30 2022, Shipped: Nov 26 2022)
  • Experiment page (Start: Nov 9 2022, Shipped: Nov 26 2022)
  • HuggingFace datasets (Start: Dec 29 2022, Feb 3 2023)

👥 Community

Aim README badge

Add Aim badge to your README, if you've enjoyed using Aim in your work:

Aim

[![Aim](https://img.shields.io/badge/powered%20by-Aim-%231473E6)](https://github.com/aimhubio/aim)

Cite Aim in your papers

In case you've found Aim helpful in your research journey, we'd be thrilled if you could acknowledge Aim's contribution:

@software{Arakelyan_Aim_2020,
  author = {Arakelyan, Gor and Soghomonyan, Gevorg and {The Aim team}},
  doi = {10.5281/zenodo.6536395},
  license = {Apache-2.0},
  month = {6},
  title = {{Aim}},
  url = {https://github.com/aimhubio/aim},
  version = {3.9.3},
  year = {2020}
}

Contributing to Aim

Considering contibuting to Aim? To get started, please take a moment to read the CONTRIBUTING.md guide.

Join Aim contributors by submitting your first pull request. Happy coding! 😊

Made with contrib.rocks.

More questions?

  1. Read the docs
  2. Open a feature request or report a bug
  3. Join Discord community server

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aim-3.30.0.dev20250610.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aim-3.30.0.dev20250610-cp312-cp312-manylinux_2_28_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

aim-3.30.0.dev20250610-cp312-cp312-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aim-3.30.0.dev20250610-cp312-cp312-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

aim-3.30.0.dev20250610-cp311-cp311-manylinux_2_28_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

aim-3.30.0.dev20250610-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aim-3.30.0.dev20250610-cp311-cp311-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

aim-3.30.0.dev20250610-cp310-cp310-manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

aim-3.30.0.dev20250610-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aim-3.30.0.dev20250610-cp310-cp310-macosx_10_14_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

aim-3.30.0.dev20250610-cp39-cp39-manylinux_2_28_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

aim-3.30.0.dev20250610-cp39-cp39-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

aim-3.30.0.dev20250610-cp39-cp39-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

aim-3.30.0.dev20250610-cp38-cp38-manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

aim-3.30.0.dev20250610-cp38-cp38-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

aim-3.30.0.dev20250610-cp38-cp38-macosx_10_14_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

aim-3.30.0.dev20250610-cp37-cp37m-macosx_10_14_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.7mmacOS 10.14+ x86-64

File details

Details for the file aim-3.30.0.dev20250610.tar.gz.

File metadata

  • Download URL: aim-3.30.0.dev20250610.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for aim-3.30.0.dev20250610.tar.gz
Algorithm Hash digest
SHA256 d93bd6657df2ddabf3cf1a9ffbf583cfd6155185fc33d33608985ef2598d592c
MD5 efb2abe88c212606cb610b98efb3070c
BLAKE2b-256 d887bee764b5513a27b49f6074e7e3a4cd1a117a1a90fec68ec3070cb0ce0e6d

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0629f0a5eb03fdf87c4cef31b4819e053b1553e28371e69f54a1c062151f42de
MD5 5268c4762787bf4f987438401950d6ce
BLAKE2b-256 22058d30a18d07aaac17a5d1a12358d02e979f41857bddfeadccb7c71abfebb0

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 975abde65314d16614aaac8f878acdc83f41bd8e917a08b39a5820cbe9123917
MD5 3cb953f11b964cfc333206aba11f011a
BLAKE2b-256 5b56d924f10eef7eca9a9bc9c547fae16fcfd526b54cd580646921d701e9a64d

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4eb52152542528237dedb6347a02c536e1ca8c6a8b180aa11ad7d2a7366fb0bb
MD5 a1f56caa11c85ca606e71297479798b6
BLAKE2b-256 f2d4e184a6d6e92e69c4ccf505e2236674fef3a89acb2dbaa50892acff46dd32

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea7cb3c8b4a67d193af73e5adf3b796a98a31141091a13f4739106c622c3cf73
MD5 fb22c4b1c5a1210c9e46be148a2ba59c
BLAKE2b-256 5f9af7a5a3fa46cdd035b92ed482737ee6661c8365209742d71f17dc53d14360

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04c3f1117144a41a974dbdacc9a4078f54fa210a72155d5953b9b8910d8b7f06
MD5 89fe5a4d8cb275c447c230f06258eb73
BLAKE2b-256 065c81154a119e684d9225268cf32b93ede2b5e3e30f02febde908d5e02383e8

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4ca6e6d3503b82e9d1aefc6a40fe670ad26f82b0e1b582342e3c20d3487a2ddc
MD5 071584c087c0abc25501aa430cb6e323
BLAKE2b-256 d37693fd26ee8794420f222348a474f7191e048d28be6d67193ba2ffb36d0cd5

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8942648e37ba23c51489ca6afcaa515f472750cb17eeca5e537409a03a59b36f
MD5 16ff9797a0d95b6ed5eab34c24fdcf96
BLAKE2b-256 fba120dbfc3796925b26c220e15c5a3d7cd84cdae7659276e721a37daf83884a

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bdf628adade019476c55acdcba780a136dd2245b7986b34b7eb06c0d3c47988
MD5 e062eb5d325a63a047afe85f2f8bde3a
BLAKE2b-256 02f1508a4933baba608be0b03197387357d32e1e0c785205eeb48105898e076a

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 e59a75cd46c309fc69e92fb6e5bfe73d55217aff7e112cd62ddf8162fce4809c
MD5 51f64ff209c2b6e14f751bac864a81af
BLAKE2b-256 c9f83c15b2fef3df83b60793983f123ce5d614840297cdab2d06dff639550a0a

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2773d6def35d17db4865286b7f8826e1993391197995361fc7534ae3964a8c1
MD5 82515fa5787ef88490aba320be75fa7c
BLAKE2b-256 c1db8af09a9d181074b118370ac56b4904628506c4517552649953a6a0439f96

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a2f19d535f5199874905bb1681719c15439884e4f3ef3151c8ebab3ad5bc413
MD5 212ba19f4292f9ff73324f3489681352
BLAKE2b-256 1608bb553ad3414a3ee78e9311f790143e9594e7aa346c1c16cd96d325b8d3ee

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 37757c7facc76329aff607fe36fb0922b69a7e1e472f9c9e93a3631010da9a1a
MD5 df2e1c183c3b4d15c735156bd22f61c1
BLAKE2b-256 f94ec22f6dfc2bafb5951bd915a68130fbb6c7d18687705573a960c021ff76ec

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6dbb6f30e82c6ecdaef4ce6190da90bcdc58808f27a543ff14df28a79a391438
MD5 c78a46ee836e94831b046fdabfd2a217
BLAKE2b-256 41b644af1d5b7d6b2f353366d75763a2a2642837d97e4e2f05f6bf6f30c03ed8

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d434e9a42de46c4fb6e374a3638d8fe3c6fc3bd3e7b08182af111960cd47ff87
MD5 7758be9983bb5766a73f405302d42cf3
BLAKE2b-256 e528549e8bd4b9601c4c7fac107331e7844636aa468e3a76e48a5c0b55501d9f

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 0a83c43e27b6f6608a707fb38a0e8cd4b852c23f674e74848a54733b6ce614ff
MD5 d27706bc53a7564bc30c7e0689d83efa
BLAKE2b-256 fccb46d2487212187af887da4407d462ecefedc3cdb61397201d6fa4d9e6ddaf

See more details on using hashes here.

File details

Details for the file aim-3.30.0.dev20250610-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.30.0.dev20250610-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 43f191b578b7288a5b3f3c34ddcceeca77cac96a730720bf506903b7526549a7
MD5 8e5ab5fdc385f19f0457b0a2dde5c6a4
BLAKE2b-256 ba96f44dff274499e9f226ca638896e025cf5d513a91a439bfa38604041b5be7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page