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 StartDocumentationRoadmapDiscord 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 KerasTuner
from aim.keras_tuner import AimCallback

# ...
tuner.search(
    train_ds,
    validation_data=test_ds,
    callbacks=[AimCallback(tuner=tuner, repo='.', experiment='keras_tuner_test')],
)
# ...

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.

Integrate CatBoost
from aim.catboost import AimLogger

# ...
model.fit(train_data, train_labels, log_cout=AimLogger(loss_function='Logloss'), logging_level="Info")
# ...

See documentation here.

Integrate fastai
from aim.fastai import AimCallback

# ...
learn = cnn_learner(dls, resnet18, pretrained=True,
                    loss_func=CrossEntropyLossFlat(),
                    metrics=accuracy, model_dir="/tmp/model/",
                    cbs=AimCallback(repo='.', experiment='fastai_test'))
# ...

See documentation here.

Integrate LightGBM
from aim.lightgbm import AimCallback

# ...
aim_callback = AimCallback(experiment='lgb_test')
aim_callback.experiment['hparams'] = params

gbm = lgb.train(params,
                lgb_train,
                num_boost_round=20,
                valid_sets=lgb_eval,
                callbacks=[aim_callback, lgb.early_stopping(stopping_rounds=5)])
# ...

See documentation here.

Integrate PyTorch Ignite
from aim.pytorch_ignite import AimLogger

# ...
aim_logger = AimLogger()

aim_logger.log_params({
    "model": model.__class__.__name__,
    "pytorch_version": str(torch.__version__),
    "ignite_version": str(ignite.__version__),
})

aim_logger.attach_output_handler(
    trainer,
    event_name=Events.ITERATION_COMPLETED,
    tag="train",
    output_transform=lambda loss: {'loss': loss}
)
# ...

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

In Progress

  • Aim SDK low-level interface (Start: Aug 22 2022, )
  • HuggingFace datasets (Start: Dec 29 2022, )

To Do

Aim UI

  • Runs management
    • Runs explorer – query and visualize runs data(images, audio, distributions, ...) in a central dashboard
  • Explorers
    • 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
    • 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, Raytune
  • 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 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.16.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

aim-3.16.1-cp311-cp311-manylinux_2_24_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

aim-3.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

aim-3.16.1-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

aim-3.16.1-cp311-cp311-macosx_10_14_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

aim-3.16.1-cp310-cp310-manylinux_2_24_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

aim-3.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

aim-3.16.1-cp310-cp310-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

aim-3.16.1-cp310-cp310-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

aim-3.16.1-cp39-cp39-manylinux_2_24_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

aim-3.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

aim-3.16.1-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

aim-3.16.1-cp39-cp39-macosx_10_14_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

aim-3.16.1-cp38-cp38-manylinux_2_24_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

aim-3.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

aim-3.16.1-cp38-cp38-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

aim-3.16.1-cp38-cp38-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

aim-3.16.1-cp37-cp37m-manylinux_2_24_x86_64.whl (5.5 MB view details)

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

aim-3.16.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.4 MB view details)

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

aim-3.16.1-cp37-cp37m-macosx_10_14_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7m macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: aim-3.16.1.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.16.1.tar.gz
Algorithm Hash digest
SHA256 46fdf8560e8c86d6c6b312a2243e331036d9dae744ef373151cf589048f217d1
MD5 cbc7e522ccac05bad979266239354d50
BLAKE2b-256 2162b2e759435a5d7e20ce5a01239ab34294eb78da910e02806350179c29cff1

See more details on using hashes here.

File details

Details for the file aim-3.16.1-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.16.1-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 16c8f4195ceaadf2ee40842712c6565edb3d240ed6783e406e3c68cc62385b5b
MD5 188f090a6a4984d3f8b39845bb1670a2
BLAKE2b-256 acf49986fdba54d1ede0ddf0985a4a8992ef0dd513ebb37603949e4f281f7d18

See more details on using hashes here.

File details

Details for the file aim-3.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5a25642cab09ef0d91b5ec06c17ac407c4c78ad4fe47b5e1b0e3b9222a9ef096
MD5 93e778b85829acb6a34e72c289852edb
BLAKE2b-256 f69ef0a5d62570d5151e2108d43c9d01a431a37997c1ffe6de6047115628c83a

See more details on using hashes here.

File details

Details for the file aim-3.16.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aim-3.16.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8be0e1e5f91b9c444f25ee275084b5116cfb662efee993671c3699e84ca5190e
MD5 6b15c4180a7570b27f2624d48ce624d4
BLAKE2b-256 82a43b60c251f4c463f5e7a10380b650487da6a1d54349dde8809dfdd30b4bf3

See more details on using hashes here.

File details

Details for the file aim-3.16.1-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for aim-3.16.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 dd62892fb59bc53b597e4f6101a4690d995a819a7cae35ec82d1511b9e706d45
MD5 3e0d02deb892321bd44d584ec3551033
BLAKE2b-256 b4c01b1eb79ffba7922d42647f8096fae3f6bd69e3d8c6952702c69009031bc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 290f89e96802b7fb9bc50034f9ff484fbe118563f7d4d34495cd390bad57d986
MD5 cd81fa2197f8a10371af7b7256804060
BLAKE2b-256 08963ccdddd09e53dc632d0e52091fe7d87c340e893e70764ae1f8c92915d1dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fad05744aa729126c6598ddff6242bb05408cc465c02aad626420e6117e76446
MD5 5d98aaddea26d626451442b37a3b899d
BLAKE2b-256 b15c5ca9690f007239ffd41b3633ab058b75448832ae3b3ded88db2d981e4d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 401db49669a22c960b35e3719f88b6be5b046823021e07a32acc4fe2440be239
MD5 10bb46e702fa19d53d36e4c0e662c214
BLAKE2b-256 b02e4388455a7921cd989124ed31d8c18794cf1277638feefb127741f6dd14d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 8326ec5fff8447272aa85523bb66c159ddb451b6d64ba6d3977cf72225ae84d2
MD5 39569d17f4ca1c9080fd913478798a80
BLAKE2b-256 241fbfa600a44ac98a01434ed74ce81b131c92e29ed917bed4f0ad2e784aba80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 02e37a4d226b010abcc3da96e2146490a82bf3a481ebd4400b260af7bcb14621
MD5 00fab8e2042ce8783384d0aa88380906
BLAKE2b-256 d40e151458f0f3bdb40c7a66f2507c40cd34f8f482f40cb81db564862a907617

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae6116192dd1948f6aa367b6c78f098cace1989cd23ff07990d2e336145f5029
MD5 7c84d55780956472d612a5fa7d6a78fe
BLAKE2b-256 7aff56a3af58b70d8e7c5afafba1afe086804c298d0c5fcaacd750248fada499

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a664853524712f3167e8666e2acbc81c11a1d06cc4da33cbd2a54b7e9319edb9
MD5 2b8b10b69fef93904b27e01524b98d6f
BLAKE2b-256 6e6065e31dacc6fc5d54c36c82839daaa021c7622d0cfd2892a3c21272d3ec36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d1ebb22942076cc77b554d18d91777e2349a99220a83185c8b6b10099b6a8a10
MD5 32d6f8950d5d7d635c160ad5a7543d44
BLAKE2b-256 66e9a72f3d67dfe2bd24a954cc280b75d7a18cf64c4a922960358af070507e70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 7dbc973ff05783a5240d015a0d93f4991f3b81501648f4953c404a2735dcb4b3
MD5 659bca1d1e1f50434ba77f5cb30b8eab
BLAKE2b-256 111091600b029132087a6c6a81b0e987c4965e144d844fe9760bd4de743b14cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 251bd51aba3879248a082faa31323b4917183589b4c3a54495ce3560e0143417
MD5 e9dd0a20b6f95bd182e16ddfd9b343e2
BLAKE2b-256 a61d7bd39f921329cc407e178abff525ba18e4f4b9180c7841843df2c39b8115

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 85801bacd1a97c2c6266b44b830e3780aea47ce0b577d643a0f7a12a4dea3703
MD5 2b82b831d9a22e173afb255fc0df78aa
BLAKE2b-256 8038caa7ebcfa293351fec031f7f9a1c0122eec064837c23ccf239946746f8d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9b37199cd083181b7ebeeda3f23ed7ef0c20c2b2c3a604f92b29e442f7e1f778
MD5 a471d554ac8fdea1ca4c61ffc845aa4b
BLAKE2b-256 de266ad855d4a008367f9ec3dd3ad5d625b83d2d8e245016a61de52207385f90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 9045d09294849b73e4e44d4e6104a950c3da67afc2af08aa61bb1d4e2897b011
MD5 732548864e2b1fa0b4300b13b05341bd
BLAKE2b-256 c9f1f526a73594bf9770fa3bf06d7ccb727363c600597a89fb4a9b8bb061a75c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5ffc45ec7cb48f0e02983e9939c6e351b0be9f563be57d45f88ce5d9ad82cd4
MD5 cbe6356bffd1b627548fa00af88e4b72
BLAKE2b-256 cd32b762128ef62b53c3be35e77d85a4b40f2cb10e917f7fbf73d16160958a04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aim-3.16.1-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3ae87fa39a518e5f3f18dcbcbf9cded33078d4746bc9f9a8962ed0de23cc3fb3
MD5 d5be8b296c7bb6bcaf1061c8c4e1d53a
BLAKE2b-256 233de508bb0cf4790596d94c6f3840d6a4fee897e6f01f21175cec68e106b31d

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