Skip to main content

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

Project description

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

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

AboutFeaturesDemosExamplesQuick StartDocumentationRoadmapSlack CommunityTwitter

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

Integrates seamlessly with your favorite tools



About Aim

Track and version ML runs Visualize runs via beautiful UI Query runs metadata via SDK

Aim is an open-source, self-hosted ML experiment tracking tool. It's good at tracking lots (1000s) of training runs and it allows you to compare them with a performant and beautiful UI.

You can use not only the great Aim UI but also its SDK to query your runs' metadata programmatically. That's especially useful for automations and additional analysis on a Jupyter Notebook.

Aim's mission is to democratize AI dev tools.

Why use Aim?

Compare 100s of runs in a few clicks - build models faster

  • Compare, group and aggregate 100s of metrics thanks to effective visualizations.
  • Analyze, learn correlations and patterns between hparams and metrics.
  • Easy pythonic search to query the runs you want to explore.

Deep dive into details of each run for easy debugging

  • Hyperparameters, metrics, images, distributions, audio, text - all available at hand on an intuitive UI to understand the performance of your model.
  • Easily track plots built via your favourite visualisation tools, like plotly and matplotlib.
  • Analyze system resource usage to effectively utilize computational resources.

Have all relevant information organised and accessible for easy governance

  • Centralized dashboard to holistically view all your runs, their hparams and results.
  • Use SDK to query/access all your runs and tracked metadata.
  • You own your data - Aim is open source and self hosted.

Demos

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

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

4. Or query runs programmatically via SDK

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()

Integrations

Integrate PyTorch Lightning
from aim.pytorch_lightning import AimLogger

# ...
trainer = pl.Trainer(logger=AimLogger(experiment='experiment_name'))
# ...

See documentation here.

Integrate Hugging Face
from aim.hugging_face import AimCallback

# ...
aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='mnli')
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset if training_args.do_train else None,
    eval_dataset=eval_dataset if training_args.do_eval else None,
    callbacks=[aim_callback],
    # ...
)
# ...

See documentation here.

Integrate Keras & tf.keras
import aim

# ...
model.fit(x_train, y_train, epochs=epochs, callbacks=[
    aim.keras.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
    
    # Use aim.tensorflow.AimCallback in case of tf.keras
    aim.tensorflow.AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
])
# ...

See documentation here.

Integrate XGBoost
from aim.xgboost import AimCallback

# ...
aim_callback = AimCallback(repo='/path/to/logs/dir', experiment='experiment_name')
bst = xgb.train(param, xg_train, num_round, watchlist, callbacks=[aim_callback])
# ...

See documentation here.

Comparisons to familiar tools

Tensorboard

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

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.

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

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 Sprints

:sparkle: The Aim product roadmap

  • 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

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)

In Progress

  • Figures Explorer
  • Stable remote tracking server

To Do

Aim UI

  • Runs management
    • Runs explorer – query and visualize runs data(images, audio, distributions, ...) in a central dashboard
  • Explorers
    • Audio Explorer
    • Text Explorer
    • Distributions Explorer
  • Dashboards – customizable layouts with embedded explorers

SDK and Storage

  • Scalability
    • Smooth UI and SDK experience with over 10.000 runs
  • Runs management
    • SDK interfaces
      • Reporting – query and compare runs, explore data with familiar tools such as matlpotlib and pandas
      • Manipulations – copy, move, delete runs, params and sequences
    • CLI interfaces
      • Reporting - runs summary and run details in a CLI compatible format
      • Manipulations – copy, move, delete runs, params and sequences

Integrations

  • ML Frameworks:
    • Shortlist: MONAI, SpaCy, AllenNLP, Raytune, fast.ai, KerasTuner
  • Datasets versioning tools
    • Shortlist: HuggingFace Datasets
  • Resource management tools
    • Shortlist: Kubeflow, Slurm
  • Workflow orchestration tools
  • Others: Hydra, Google MLMD, Streamlit, ...

On hold

  • scikit-learn integration
  • Cloud storage support – store runs blob(e.g. images) data on the cloud (Start: Mar 21 2022)
  • Artifact storage – store files, model checkpoints, and beyond (Start: Mar 21 2022)

Community

If you have questions

  1. Read the docs
  2. Open a feature request or report a bug
  3. Join our slack

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.13.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

aim-3.13.0-cp310-cp310-manylinux_2_24_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

aim-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

aim-3.13.0-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

aim-3.13.0-cp310-cp310-macosx_10_14_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

aim-3.13.0-cp39-cp39-manylinux_2_24_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

aim-3.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

aim-3.13.0-cp39-cp39-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

aim-3.13.0-cp39-cp39-macosx_10_14_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

aim-3.13.0-cp38-cp38-manylinux_2_24_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

aim-3.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

aim-3.13.0-cp38-cp38-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

aim-3.13.0-cp38-cp38-macosx_10_14_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

aim-3.13.0-cp37-cp37m-manylinux_2_24_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

aim-3.13.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

aim-3.13.0-cp37-cp37m-macosx_10_14_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

aim-3.13.0-cp36-cp36m-manylinux_2_24_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.24+ x86-64

aim-3.13.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

aim-3.13.0-cp36-cp36m-macosx_10_14_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file aim-3.13.0.tar.gz.

File metadata

  • Download URL: aim-3.13.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for aim-3.13.0.tar.gz
Algorithm Hash digest
SHA256 41510d0046ec998385f78963ccd967bb09b9294445d9b44b2fafba9df05191df
MD5 d1ae6a1a4e9822ef6586155727317600
BLAKE2b-256 6a297572bcea1bad682e6d442004b49e2f4314d3b002f9b6864466285858a744

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 c6c390ffb33d7fe4fd21706c5e792bfb00f6e1c674d2cbcb36baf1c0ee10c613
MD5 d96d3016f9622edcd4c415cd785fce9f
BLAKE2b-256 88a8e408cbc7bfc2193b0ecb5f356bfce52368a377fcf64d0d8fe8e52ca7f97a

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8de8a5c153457859b706dd8c0144314f4bd8bc930f973542ad2418a399b3fb60
MD5 8eec4f4dee76617dc6a8abc79bbe2cbf
BLAKE2b-256 a889957554246a610f2ebe91bc474e2e9663e3c3246d921c39e051db38f72d65

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1bf9375f542ca2d02afa5be664c4e0e6a11c3cde8a19b4288d1685fffdef93b6
MD5 c0b58c9c6606d105a5adb4d9177826b3
BLAKE2b-256 587d4f8579fde385a44207f5316b93d906ba37c1a2eeecbf769caf611ffe3df1

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d6a31ddfc4d2d01332c9a85e1a5e4f6d4466a8b56348c4d1e64d757ab9d7d72a
MD5 398df142e9fbd69342a3034efa67a3af
BLAKE2b-256 5b38a9cd05b0a5b77b46cb3ebb565a12b4b69a754261a78d891e74003fbfd231

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 abbd4c6058b71f3a3b61a61cd7446f482690c6e55596a8483f039bbd0783022b
MD5 87a6abbc4a8ad1ca9ed9083c80a68500
BLAKE2b-256 eb7a7306b45acde096d5b8c18ad7d043c95ab655339808e3207a59335a296216

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e4b1fc42bdff8d4a7085509a6522c6dacef257c855940a50e3b9d1ab4f40f52
MD5 43300f796117cf49549d566d3433d6f0
BLAKE2b-256 3df26b2c6f6cf119b360af3c03b8cff8ddfbdb781c79ecf0efbc06fa6be370d0

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df5c20facaef1dd3347a5a7520898cd6cfd112624596fa30cadc871daf6ba558
MD5 90c6db702aef75e12079ed1972b108d6
BLAKE2b-256 66528dc672ca8efdda4bb8781845744e8ef710f00f9f33e8eba2ff31121a7a4c

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3d0ea2c7dcab4d5f9a1638b2e49e6cdeb95f6ae21149d8bbedb7af3667dc495b
MD5 1b54effcd219ee641316b9e7d433ca89
BLAKE2b-256 e2f136e4303d93cee6655402da5c3d47d64069e467a19f069dbee7409879e832

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 9812672e1ccf2cbd8886a35ec5c7c3e65037f75770e9eaf95d017c0958eb3a39
MD5 f8ea2f1d7a42fe6a794eea67a97ff629
BLAKE2b-256 9235a2f75f26bc8ee0bf05093dbbd6dc1171f17a6de14ce7177e7790dd7d17de

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 449d4e4d0494a58676aa8d2b08a777be1d8c6d20f6af59650c4e91d495f1c94f
MD5 99b937c82b3a612a3ace88cab18a5ec3
BLAKE2b-256 a061fc0236a0959afcdf2fec4185876213468b064f8e8d58ea0e97295f2caf0e

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 649f675c003215e93274e89df27bc23e667b11f12bc85810cabea57f3f5a2e1d
MD5 cbe7966e48add020e0f160954e7fd950
BLAKE2b-256 bf6017e638bf33ab2b9390568fe99913e7f18ff9eff0e92f4272dfda76ab92cf

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b5cf2d5dbd27b717ec9de0552bbf31cbfec2df35aca63c0a178ceeb09a29d41d
MD5 3065889db3ef024dfdb2f9f763f33dfd
BLAKE2b-256 6ddc868774d8ef0e0bc899bc00c12808c7e3c21d0c80942b43c5f184d5fcb480

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp37-cp37m-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 cea63a0721ccffdf32c05cc47396c34d4a5854b27262d9c0d9d538fa17e0ae94
MD5 73c4e67c1a64d13fc6246e8fab73938f
BLAKE2b-256 a6338e4db3482cbcc8e6e8423facecd2e6159a1405818b651537c62601d0b1ba

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f72662105315701d6934730bca1535526a9e9316a64b198c1d46a067b0797eb
MD5 26c6a5ee8c567cf090e261983c70436c
BLAKE2b-256 61e56bcb7022ceea2428dd76d0cf9c8818cb2470dae2fea643d90cd698c64c3b

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp37-cp37m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6a692c506a7a1017fefd4f0b24f7525b9d8857ae33f4a72e572621b6eea5e17b
MD5 db0785a82473c4c0d97f386dfb6a3d65
BLAKE2b-256 af34cbbde568f4654de72740d8ee3affd5b19cd3cd107df0f7f4da198e9b7d86

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp36-cp36m-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 5dddd1cc19250c964b3adf9186f8aee86a5cde580a367cb271bbc81582fcac5d
MD5 0d3d4c404e236289ef2dc5984af9a053
BLAKE2b-256 bded6d84fd7b8b0826d6f7d9b6255e1cb553018334e04d282d9d6c2bbd2cf49b

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.13.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ead01830182c69a7e19c913a45f8d1c03e9e4b7ab3c96eaf7eb6dc486ff6386
MD5 afe395bbd90dabfd9b83ff3c48393cd0
BLAKE2b-256 8b1a2397200bff6fe7592a5a590f41aa5f87dd4fefc59b12d34631781bef9ba1

See more details on using hashes here.

File details

Details for the file aim-3.13.0-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: aim-3.13.0-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.13

File hashes

Hashes for aim-3.13.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 dc4771bcb29eab97c01b00f35213b2357d3f3ea859bae325f9071874aa0e2086
MD5 b76e6cdce95fe46ea75452b016045308
BLAKE2b-256 27b3212a0df110bc340f7bde07139834ba501c2402fcb8f0b24e63775078b94e

See more details on using hashes here.

Supported by

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