Skip to main content

AdaptiveResonanceLib

Welcome to AdaptiveResonanceLib, a comprehensive and modular Python library for Adaptive Resonance Theory (ART) algorithms. Based on scikit-learn, our library offers a wide range of ART models designed for both researchers and practitioners in the field of machine learning and neural networks. Whether you're working on classification, clustering, or pattern recognition, AdaptiveResonanceLib provides the tools you need to implement ART algorithms efficiently and effectively.

Adaptive Resonance Theory (ART)

Adaptive Resonance Theory (ART) is both

  1. A neuroscientific theory of how the brain balances plasticity (learning new information) with stability (retaining what it already knows), and
  2. A family of machine‑learning algorithms that operationalise this idea for clustering, classification, continual‑learning, and other tasks.

First proposed by Stephen Grossberg and Gail Carpenter in the mid‑1970s , ART models treat learning as an interactive search between bottom‑up evidence and top‑down expectations:

  1. Activation. A new input pattern activates stored memories (categories) in proportion to their similarity to the input.

  2. Candidate selection. The most active memory (call it J) is tentatively chosen to represent the input.

  3. Vigilance check (resonance test). The match between the input and memory J is compared to a user‑chosen threshold (ρ) (the vigilance parameter).

    • If the match ≥ (ρ) → Resonance. The memory and input are deemed compatible; J is updated to incorporate the new information.
    • If the match < (ρ) → Mismatch‑reset. Memory J is temporarily inhibited, and the next best candidate is tested.
    • If no memory passes the test → a new category is created directly from the input.
  4. Output. In clustering mode, the index of the resonant (or newly created) memory is returned as the cluster label.

A step-by-step flow chart depicting the generalized ART algorithm can be found here.

Vigilance

ρ sets an explicit upper bound on how dissimilar two inputs can be while still ending up in the same category:

Vigilance (ρ) Practical effect
( ρ = 0 ) All inputs merge into a single, broad category
Moderate (( 0 < ρ < 1 )) Finer granularity as (ρ) increases
( ρ = 1 ) Every distinct input forms its own category (memorisation)

This single knob lets practitioners trade off specificity against generality without retraining from scratch.

Notable Variants

Variant Input type Task Trait
ART 1 Binary Unsupervised clustering Original model
Fuzzy ART Real‑valued ([0,1]) Unsupervised clustering Uses fuzzy AND operator for analog inputs, resulting in rectagular categories
ARTMAP Paired inputs ((X, y)) Supervised classification Two ART modules linked by an associative map field
Gaussian ART Real‑valued Clustering Replace rectangular category fields with Gaussian ones for smoother decision boundaries
FALCON Paired inputs ((State, Action, Reward)) Reinforcement Learning Uses three ART modules to create a dynamic SARSA grid for solving reinforcement learning tasks

All variants share the same resonance‑test backbone, so you can grasp one and quickly extend to the others.

Strengths and Things to Watch

  • Online / incremental learning – adapts one sample at a time without replay.
  • Explicit category prototypes – easy to inspect and interpret.
  • Built‑in catastrophic‑forgetting control via (ρ).
  • Parameter sensitivity – vigilance (and, in many variants, the learning rate (\beta)) must be tuned to your data.
  • Order dependence – the sequence of inputs can affect category formation; shuffling your training data is recommended for unbiased results.

Available Models

AdaptiveResonanceLib includes implementations for the following ART models:

Comparison of Elementary Models

Comparison of Elementary Images

Installation

To install AdaptiveResonanceLib, simply use pip:

pip install artlib

Or to install directly from the most recent source:

pip install git+https://github.com/NiklasMelton/AdaptiveResonanceLib.git@develop

Ensure you have Python 3.9–3.14 installed. Installing from a source checkout or source distribution also requires a C++17 compiler. Published wheels include the compiled extensions and do not require a compiler.

Quick Start

Here are some quick examples to get you started with AdaptiveResonanceLib:

Clustering Data with the Fuzzy ART model

from artlib import FuzzyART
import numpy as np
from tensorflow.keras.datasets import mnist

# Load the MNIST dataset
n_dim = 28*28
(X_train, _), (X_test, _) = mnist.load_data()
X_train = X_train.reshape((-1, n_dim)) # flatten images
X_test = X_test.reshape((-1, n_dim))

# Initialize the Fuzzy ART model
model = FuzzyART(rho=0.7, alpha = 0.0, beta=1.0)

# (Optional) Tell the model the data limits for normalization
lower_bounds = np.array([0.]*n_dim)
upper_bounds = np.array([255.]*n_dim)
model.set_data_bounds(lower_bounds, upper_bounds)

# Prepare Data
train_X_prep = model.prepare_data(X_train)
test_X_prep = model.prepare_data(X_test)

# Fit the model
model.fit(train_X_prep)

# Predict data labels
predictions = model.predict(test_X_prep)

Fitting a Classification Model with SimpleARTMAP

from artlib import GaussianART, SimpleARTMAP
import numpy as np
from tensorflow.keras.datasets import mnist

# Load the MNIST dataset
n_dim = 28*28
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape((-1, n_dim)) # flatten images
X_test = X_test.reshape((-1, n_dim))

# Initialize the Gaussian ART model
sigma_init = np.array([0.5]*X_train.shape[1]) # variance estimate for each feature
module_a = GaussianART(rho=0.0, sigma_init=sigma_init)

# (Optional) Tell the model the data limits for normalization
lower_bounds = np.array([0.]*n_dim)
upper_bounds = np.array([255.]*n_dim)
module_a.set_data_bounds(lower_bounds, upper_bounds)

# Initialize the SimpleARTMAP model
model = SimpleARTMAP(module_a=module_a)

# Prepare Data
train_X_prep = model.prepare_data(X_train)
test_X_prep = model.prepare_data(X_test)

# Fit the model
model.fit(train_X_prep, y_train)

# Predict data labels
predictions = model.predict(test_X_prep)

Fitting a Regression Model with FusionART

from artlib import FuzzyART, HypersphereART, FusionART
import numpy as np

# Your dataset
X_train = np.array([...]) # shape (n_samples, n_features_X)
y_train = np.array([...]) # shape (n_samples, n_features_y)
test_X = np.array([...])

# Initialize the Fuzzy ART model
module_x = FuzzyART(rho=0.0, alpha = 0.0, beta=1.0)

# Initialize the Hypersphere ART model
r_hat = 0.5*np.sqrt(X_train.shape[1]) # no restriction on hyperpshere size
module_y = HypersphereART(rho=0.0, alpha = 0.0, beta=1.0, r_hat=r_hat)

# Initialize the FusionARTMAP model
gamma_values = [0.5, 0.5] # eqaul weight to both channels
channel_dims = [
  2*X_train.shape[1], # fuzzy ART complement codes data so channel dim is 2*n_features
  y_train.shape[1]
]
model = FusionART(
  modules=[module_x, module_y],
  gamma_values=gamma_values,
  channel_dims=channel_dims
)

# Prepare Data
train_Xy = model.join_channel_data(channel_data=[X_train, y_train])
train_Xy_prep = model.prepare_data(train_Xy)
test_Xy = model.join_channel_data(channel_data=[X_train], skip_channels=[1])
test_Xy_prep = model.prepare_data(test_Xy)

# Fit the model
model.fit(train_Xy_prep)

# Predict y-channel values and clip X values outside previously observed ranges
pred_y = model.predict_regression(test_Xy_prep, target_channels=[1], clip=True)

Data Normalization

AdaptiveResonanceLib models require feature data to be normalized between 0.0 and 1.0 inclusively. This requires identifying the boundaries of the data space.

If the first batch of your training data is representative of the entire data space, you dont need to do anything and artlib will identify the data bounds automatically. However, this will often not be sufficient and the following work-arounds will be needed:

Users can manually set the bounds using the following code snippet or similar:

# Set the boundaries of your data for normalization
lower_bounds = np.array([0.]*n_features)
upper_bounds = np.array([1.]*n_features)
model.set_data_bounds(lower_bounds, upper_bounds)

Or users can present all batches of data to the model for automatic boundary identification:

# Find the boundaries of your data for normalization
all_data = [train_X, test_X]
_, _ = model.find_data_bounds(all_data)

If only the boundaries of your testing data are unknown, you can call model.predict() with clip=True to clip testing data to the bounds seen during training. Only use this if you understand what you are doing.

C++ Optimizations

Most ARTlib classes rely on NumPy / SciPy for linear-algebra routines, but several go further:

Level Accelerated components Implementations
Python (Numba JIT) Activation & vigilance kernels ART1, Fuzzy ART, Binary Fuzzy ART
Native C++ (Pybind11) Entire fit / predict pipelines Fuzzy ARTMAP, Hypersphere ARTMAP, Gaussian ARTMAP, Binary Fuzzy ARTMAP

How the C++ variants work

  1. End-to-end native execution – Training and inference run entirely in C++, eliminating Python-level overhead.
  2. State hand-off – After fitting, the C++ routine exports cluster weights and metadata back to the corresponding pure-Python class. You can therefore: • inspect attributes (weights_, categories_, …) • serialize with pickle • plug them into any downstream ARTlib or scikit-learn pipeline exactly as you would with the Python-only models.
  3. Trade-off – The C++ versions sacrifice some modularity (you cannot swap out internal ART components) in exchange for significantly shorter run-times.

C++ Acceleration Quick reference

Class Acceleration method Primary purpose
ART1 Numba JIT kernels Clustering
Fuzzy ART Numba JIT kernels Clustering
Binary Fuzzy ART Numba JIT kernels Clustering
Fuzzy ARTMAP Full C++ implementation Classification
Hypersphere ARTMAP Full C++ implementation Classification
Gaussian ARTMAP Full C++ implementation Classification
Binary Fuzzy ARTMAP Full C++ implementation Classification

Example Usage

from artlib import FuzzyARTMAP
import numpy as np
from tensorflow.keras.datasets import mnist

# Load the MNIST dataset
n_dim = 28*28
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape((-1, n_dim)) # flatten images
X_test = X_test.reshape((-1, n_dim))

# Initialize the Fuzzy ART model
model = FuzzyARTMAP(rho=0.7, alpha = 0.0, beta=1.0)

# (Optional) Tell the model the data limits for normalization
lower_bounds = np.array([0.]*n_dim)
upper_bounds = np.array([255.]*n_dim)
model.set_data_bounds(lower_bounds, upper_bounds)

# Prepare Data
train_X_prep = model.prepare_data(X_train)
test_X_prep = model.prepare_data(X_test)

# Fit the model
model.fit(train_X_prep, y_train)

# Predict data labels
predictions = model.predict(test_X_prep)

Timing Comparison

The below figures demonstrate the acceleration seen by the C++ ARTMAP variants in comparison to their baseline Python versions for a 1000 sample subset of the MNIST dataset.

MNIST ART fit times MNIST ART predict times

From the above plots, it becomes apparent that the C++ variants are superior in their runtime performance and should be the default choice of practitioners wishing to work with these specific compound models.

While the current selection remains limited, future releases will expand the native C++ implementation as user demand for them increases.

Documentation

For more detailed documentation, including the full list of parameters for each model, visit our Read the Docs page.

Examples

For examples of how to use each model in AdaptiveResonanceLib, check out the /examples directory in our repository.

Contributing

We welcome contributions to AdaptiveResonanceLib! If you have suggestions for improvements, or if you'd like to add more ART models, please see our CONTRIBUTING.md file for guidelines on how to contribute.

You can also join our Discord server and participate directly in the discussion.

Contributors and Acknowledgments

Contributors

Thank you to the people who have contributed code, examples, and documentation to AdaptiveResonanceLib:

See the GitHub contributors page and commit history for their work.

Acknowledgments

We thank Stephen Grossberg and Gail Carpenter for pioneering Adaptive Resonance Theory and for their feedback on this project, and Donald C. Wunsch II and Leonardo Enzo Brito da Silva for their research collaboration and support. This work was supported by the National Science Foundation under Award No. 2420248.

License

AdaptiveResonanceLib is open source and available under the MIT license. See the LICENSE file for more info.

Contact

For questions and support, please open an issue in the GitHub issue tracker or message us on our Discord server. We'll do our best to assist you.

Happy Modeling with AdaptiveResonanceLib!

Citing this Repository

If you use this project in your research, please cite it as:

Melton, N. (2025). AdaptiveResonanceLib (Version 0.1.11)

Release files for artlib 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for artlib 0.1.11
File Size Uploaded
artlib-0.1.11.tar.gz 115.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for artlib 0.1.11
File
artlib-0.1.11-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
artlib-0.1.11-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
artlib-0.1.11-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
artlib-0.1.11-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
artlib-0.1.11-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
artlib-0.1.11-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
artlib-0.1.11-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
artlib-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
artlib-0.1.11-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
artlib-0.1.11-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
artlib-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
artlib-0.1.11-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
artlib-0.1.11-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
artlib-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
artlib-0.1.11-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
artlib-0.1.11-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
artlib-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
artlib-0.1.11-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details

Total release size: 18.2 MB

Release files / artlib-0.1.11.tar.gz

Download URL artlib-0.1.11.tar.gz
Size 115.6 kB
Tags Source
SHA-256 checksum
How to use checksums
30aa3d1f32a3dff66ca7f68c6205628837273eb0d338396a0517df3d8d1aa5c3
BLAKE2b-256 checksum
How to use checksums
a8d373b164c56edce0f9868130fcd2e865e521b5e90e426866ff0c31b3eac29c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp314-cp314-win_amd64.whl

Download URL artlib-0.1.11-cp314-cp314-win_amd64.whl
Size 1.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
abad450ba8d46906fe3706db242960cb14da5c7a49214ebd7837c9843b69a8c6
BLAKE2b-256 checksum
How to use checksums
6574c7fb65aebc5e1bba1a6af94ab2b208d2bfd785faccced6830d4736dcfa03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
65bd18e4f10bb3f258a60ef05f7257b32d1cd62fc5642d223d07427ea92dbdc6
BLAKE2b-256 checksum
How to use checksums
b875a2fec207406f1ff8002c306287c1432ba817a2fd89676f3b1bfaed202e1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp314-cp314-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp314-cp314-macosx_11_0_arm64.whl
Size 830.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2e0e6707623ffa6362445f441cb3ff2980a891cfe7f5de1427fd3c6c63f7f005
BLAKE2b-256 checksum
How to use checksums
31750cd24d953cc6ad1966d8e0ada8f7e42a7ca4dd47f1ead0cc5baa65cbd342
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp313-cp313-win_amd64.whl

Download URL artlib-0.1.11-cp313-cp313-win_amd64.whl
Size 1.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e30ffe26239e189923a54c19a870daa866f0f6c1ec8c0bde756e7c7dba6adbb2
BLAKE2b-256 checksum
How to use checksums
357fde1bd306193a6cbe93fc5f92f7c10f4388a99b0e253b6c946256d87b0740
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9bcb841ecaa24a9d552a1cf9258335c005eb8cb218abac8446b6cc2d7bce931c
BLAKE2b-256 checksum
How to use checksums
e7b4d4df53f700fb6e4dd457be0a58bd2a077e584aac4b50d513f82ef91a6078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp313-cp313-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp313-cp313-macosx_11_0_arm64.whl
Size 828.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
52eeb77e3405552f3d6b5d791ce4f86d631dca80b560ba8a536065ec859f1440
BLAKE2b-256 checksum
How to use checksums
73907b4e7df020f32475bd3bd35da5fa03b9ab205949a1d63bd08296b336d032
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp312-cp312-win_amd64.whl

Download URL artlib-0.1.11-cp312-cp312-win_amd64.whl
Size 1.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
070be8acacb3c7c35bfb89ca3f3c4020af3457eb17b338e86852f4139dfcdeb1
BLAKE2b-256 checksum
How to use checksums
8582de0e9c1375a7198b7bffce93ad53affdf8639887838acc97a8af468b8646
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f9acd910752d9317a8f6c79fbc12a4691d5c5e0fc216ac46bd6cabe08e8c1385
BLAKE2b-256 checksum
How to use checksums
04fbce72e1eb3b3e039b9c989912bc4357b53045342b5398c72420a9a892dd73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp312-cp312-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp312-cp312-macosx_11_0_arm64.whl
Size 827.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2efe71f7e17e0313aff32491cf72940e0c4385ba3b8a31a66a3ddd249c74f2be
BLAKE2b-256 checksum
How to use checksums
4b1f75469d5581b24b0a4bef2496d8684d33879a95b3d8b3507a3f4614c1deb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp311-cp311-win_amd64.whl

Download URL artlib-0.1.11-cp311-cp311-win_amd64.whl
Size 1.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6100ad2d49b9b89b1374824dce4c9a2481fca2753e82a9cf4aea53cc5d2e37c0
BLAKE2b-256 checksum
How to use checksums
8dc18244ead8fd6d374cb1ba4c5dc363868458e4e9e7283596ee07516dedc752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bc6078ae8243e9e4f2ab157db28259cfda25698b88d4b3f2aed2243860b08d47
BLAKE2b-256 checksum
How to use checksums
3ba9b498e72f2e41342c4a305d36af0bbc96d06276d175576f1f01c7e1dc65cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp311-cp311-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp311-cp311-macosx_11_0_arm64.whl
Size 817.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1267a141c8fb975bbc1ac62947e8839c5e8415bc77928910e80714b97c5b6dfc
BLAKE2b-256 checksum
How to use checksums
6c745376e61983d37a53ac2364e4701f6ae265e1fdc2305a9bea36073948469b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp310-cp310-win_amd64.whl

Download URL artlib-0.1.11-cp310-cp310-win_amd64.whl
Size 1.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c91c363381727a1331f19c49c52cc9b2e5e197aa683f15286acecc3b2cb436bb
BLAKE2b-256 checksum
How to use checksums
7bf0a59a2ebc71ca65f16f19b9e8e4241e3ad9c4b63806818b81d26e91c059cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ea78598c558343ae2c1d6cff7d6c93c710659b1cb168c6330784a5c63100443f
BLAKE2b-256 checksum
How to use checksums
9c89627a1a8fbe3c825b93fdcd29e3eb9b7e8d6a33979ad1c927a4b43d900a72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp310-cp310-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp310-cp310-macosx_11_0_arm64.whl
Size 807.8 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e14f3e5889695ed5a92d9095e54e47fae68fe5d5ca927d31eac112760abb0b75
BLAKE2b-256 checksum
How to use checksums
7c0de389575d0843fd8a8ebe8760679bfa65d2a5e31361d44711bdf70ea41a39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp39-cp39-win_amd64.whl

Download URL artlib-0.1.11-cp39-cp39-win_amd64.whl
Size 1.2 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
7a7fbcf4ca7e67fdb47ab3ed3d36525268469c3ad915d80d2b9f6349342b1fda
BLAKE2b-256 checksum
How to use checksums
633133a1f7edcd30301da9b333e66d7f6676c51e36e81183f32a609b83789393
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL artlib-0.1.11-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 1.0 MB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
47c6755b7b2164b6d8a85f34fa7b9e181f8df84574ad146b1cfd6466dd2db53b
BLAKE2b-256 checksum
How to use checksums
a3cbd72a24b5af86ba2bbcaa6912d3196993fbb6e44937ec9b249bc520616639
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / artlib-0.1.11-cp39-cp39-macosx_11_0_arm64.whl

Download URL artlib-0.1.11-cp39-cp39-macosx_11_0_arm64.whl
Size 808.6 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f75286375cc9e3cee689cc8d53c8a4aca8c5d3753c1ad87d762222daef95573a
BLAKE2b-256 checksum
How to use checksums
671206bffde898b2945912af599325be6f45a1798a34a59eaa0968a2512623a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.11 This release

19 release files

0.1.5

11 release files

0.1.4

13 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page