Skip to main content

Approximate all-nearest-neighbor search using neighborhood graphs, implemented in Rust with Python bindings.

Project description

AANN

Approximate All Nearest-Neighbor ("aann") search using neighborhood graphs. Implemented in Rust with Python bindings. Based on Soudani & Karami (2018).

It is optimised for many nearest-neighbour joins that reuse the same clouds — build each cloud's index once, then query it again and again (e.g. an all-by-all join). See Usage.

Problem

Given two point clouds Q and P, for each point q in Q find its nearest neighbor p among the points in P.

Solution

  1. Calculate neighborhood (e.g. Delaunay) graphs for both point clouds.
  2. Start with a random vertex q in Q and traverse P using an A* search to find its nearest neighbor p.
  3. Move to a vertex adjacent to q and search P for its nearest neighbor using p as the start. Since we start the search where we have already established spatial proximity the A* search should finish quickly.
  4. Rinse-repeat until we found nearest neighbors for all points in Q.

schematic

Limitations

We currently only support 3D point clouds and Euclidean distances but may extend this to N-dimensions and other metrics in the future.

Install

We provide prebuilt wheels for Linux, macOS, and Windows on PyPI:

pip install aann

Usage

aann is built for repeated nearest-neighbour queries against prepared indices. Building an AANN index does the expensive work up front — triangulate the cloud into a neighbourhood graph, SIMD-pack its coordinates, and (by default) reorder them for cache locality — so that every subsequent .query is cheap. The payoff grows the more you reuse an index; for a single one-off search the build cost dominates and a plain KD-tree is simpler.

Build an index once, query it many times

import aann
import numpy as np

target = np.random.rand(10_000, 3)
index = aann.AANN(target)              # pay the build cost once...

for query in query_clouds:             # ...then amortise it over many queries
    distances, indices = index.query(query)

# k nearest neighbours per point -> (N, k) arrays, rows sorted by distance
# (k>1 is approximate; raise `ef` to trade search breadth for recall):
distances, indices = index.query(query, k=4)

# Ignore matches beyond a cutoff (scipy convention: misses get
# distance=inf and neighbour index=len(target)):
distances, indices = index.query(query, distance_upper_bound=0.05)

The query cloud can be a raw (N, 3) array, a scipy/shull Delaunay, or another AANN — passing a prepared AANN skips re-triangulating it (the fast path the all-by-all below uses). k counts returned neighbours (as in scipy.spatial.cKDTree.query); the degree of the optional graph="knn" neighbourhood graph is graph_k.

All-by-all: every cloud against every other

This is where aann pulls ahead. Build one index per cloud with prepare_many (parallel), then join them with all_by_all: every index is built and packed once and reused across every pair it appears in, and the Rust search releases the GIL so the pairs run concurrently across cores.

indexes = aann.prepare_many(clouds)                 # list[AANN], built in parallel
results = aann.all_by_all(indexes)                  # every ordered i != j pair
results = aann.all_by_all(indexes, pairs=[(0, 1)])  # ...or a specific subset
# results[m] is the (distances, indices) for pairs[m] (query = i, target = j)

Because a cloud that appears in many pairs is triangulated and packed only once, a full all-by-all over n clouds does O(n) index builds rather than O(n²) — the reason aann suits workloads like NBLAST neuron-vs-neuron matrices.

Blocked and grouped descents (faster, k=1, experimental)

Two opt-in variants speed up the k=1 descent without changing the result (they are exact up to occasional equal-distance ties in the returned index):

# Blocked: reuse each target vertex's neighbour gather across a block of query
# points (~1.4x on the descent). Works per query too; supports distance_upper_bound.
# Assumes Morton-coherent query order (the aann default, reorder=True); a block
# size in ~8-64 is the useful range.
d, i = index.query(other_index, blocked=True, block=8)
results = aann.all_by_all(indexes, blocked=True)

# Grouped: concatenate ALL query neurons' points and Morton-sort them ONCE, then
# descend that shared set against each target so co-located points from different
# neurons share gathers. Fastest for a large multi-threaded all-by-all (~4x
# multi-thread / ~2x single-thread here at block=32); k=1 only. See the docstring
# for the scaling caveats (memory, parallelism = #targets, data-dependent speedup,
# and that it descends the whole query set per target).
results = aann.all_by_all_grouped(indexes, distance_upper_bound=40.0)  # block=32

aann vs a KD-tree

Unlike a KD-tree, aann is a cloud-vs-cloud method: the query points are themselves triangulated into a graph, so the warm-started descent starts each query near the previous answer. That is what makes it fast on coherent clouds (neurons, meshes, space-filling data) — but pass a whole cloud, not a handful of scattered points, and expect approximate results for k>1 (k=1 is exact on a Delaunay graph).

Using from Rust

The core search is a plain Rust library — the Python bindings sit behind the non-default python cargo feature. It builds on stable Rust (SIMD comes from the wide crate):

[dependencies]
aann-graph = { git = "https://github.com/schlegelp/aann" }

The package is named aann-graph (plain aann is taken on crates.io by an unrelated project) but its library target is aann, so in code you import it as aann:

use aann::{graph_from_simplices, PreparedF64};
use aann::ndarray::array; // re-exported ndarray

// Target cloud + its Delaunay simplices (rows of 4 vertex ids):
let points = array![[0.0, 0.0, 0.0], [1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]];
let (indptr, indices) = graph_from_simplices(array![[0u64, 1, 2, 3]].view(), 4);
let target = PreparedF64::new(points.view(), indptr.view(), indices.view());

// Query cloud with its own CSR neighbourhood graph:
let queries = array![[0.1, 0.0, 0.0], [0.9, 0.1, 0.0]];
let (qptr, qidx) = (array![0usize, 1, 2], array![1usize, 0]);
let (dists, idxs) = target.query(queries.view(), qptr.view(), qidx.view());

PreparedF64::query_k(..., k, ef) gives k nearest neighbours, query_prepared(&other) is the pack-free prepared-vs-prepared fast path, and everything exists in an F32 flavour too (see the crate docs for the full API, including the lower-level Neighborhood*/search_* functions).

Benchmark

bench.py contrasts aann with scipy.spatial.KDTree on uniform random 3D clouds, single-threaded (so it compares the algorithms, not the thread pools). It makes the trade-off concrete — an aann index is expensive to build but cheap to query, so it only pays off once reused. Representative run (N = 5000 points/cloud, float64; numbers are indicative and machine-dependent):

build query
scipy KDTree 0.6 ms 2.5 ms
aann index 19 ms 0.5 ms

The index costs ~30× more to build but answers each query ~5× faster, so it breaks even after ~9 reuses. In a full all-by-all — where every cloud's index is built once and reused across all its pairs — aann's total wall-clock (build + every pair) overtakes scipy at roughly a dozen clouds and keeps pulling ahead (≈1.6× faster at n = 20). Recall vs the exact KDTree is 100% on this uniform data. Reproduce with python bench.py.

TODOs

  • use SIMD (singe instruction multiple data) for distance calculations
  • implement k-all-nearest neighbors (k>1 uses an approximate best-first search; recall tunable via ef)
  • benchmarks
  • test other neighborhood graphs (e.g. Gabriel, relative neighborhood, etc.) and compare performance/recall
  • implement query_radius (analagous to scipy.spatial.cKDTree.query_ball_tree)
  • add alternative distance metrics (currently only Euclidean)
  • generalize to N-dimensions (currently only 3D)

Build

Requires Python ≥ 3.10. The extension is built against the stable ABI (abi3-py310), so a single wheel works across all supported CPython versions.

  1. cd into directory
  2. Activate virtual environment: source .venv/bin/activate
  3. Run maturin build --release to build a wheel or use maturin develop to compile and install in development mode

SIMD

aann uses the wide crate for SIMD, which works on stable Rust. One thing to be aware of:

  1. By default, only the oldest SIMD extension sse2 is enabled during compilation (on x86-64). It is very likely that your processor supports newer extensions such as avx2 or even avx512f. To check what's supported run:
    $ cargo install cargo-simd-detect --force
    $ cargo simd-detect
    extension       width                   available       enabled
    sse2            128-bit/16-bytes        true            true
    avx2            256-bit/32-bytes        true            false
    avx512f         512-bit/64-bytes        true            false
    
    You can tell the compiler to use newer extensions by setting rust flags:
    # To activate a specific extension
    export RUSTFLAGS="-C target-feature=+avx2"
    
    # Alternatively to activate all available extensions
    export RUSTFLAGS="-C target-cpu=native"
    

Test

First make sure pytest and pandas are installed:

pip install pytest -U

Then run the test-suite like so:

pytest --verbose -s

Note that unless you compiled with maturin develop --release the timings will be much slower (up to 10x) than in a release build.

References

Soudani, N. M., & Karami, A. (2018). All nearest neighbor calculation based on Delaunay graphs (Version 1). arXiv. https://doi.org/10.48550/ARXIV.1802.09594

Project details


Download files

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

Source Distribution

aann-0.2.0.tar.gz (66.9 kB view details)

Uploaded Source

Built Distributions

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

aann-0.2.0-cp314-cp314t-win_arm64.whl (243.1 kB view details)

Uploaded CPython 3.14tWindows ARM64

aann-0.2.0-cp314-cp314t-win_amd64.whl (260.1 kB view details)

Uploaded CPython 3.14tWindows x86-64

aann-0.2.0-cp314-cp314t-win32.whl (237.8 kB view details)

Uploaded CPython 3.14tWindows x86

aann-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl (576.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

aann-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl (605.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

aann-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl (648.6 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

aann-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl (532.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

aann-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (363.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

aann-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (400.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

aann-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (408.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

aann-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (373.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

aann-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (355.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

aann-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (386.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

aann-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl (332.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aann-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl (352.3 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

aann-0.2.0-cp310-abi3-win_arm64.whl (250.8 kB view details)

Uploaded CPython 3.10+Windows ARM64

aann-0.2.0-cp310-abi3-win_amd64.whl (266.9 kB view details)

Uploaded CPython 3.10+Windows x86-64

aann-0.2.0-cp310-abi3-win32.whl (245.3 kB view details)

Uploaded CPython 3.10+Windows x86

aann-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl (582.5 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

aann-0.2.0-cp310-abi3-musllinux_1_2_i686.whl (611.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

aann-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl (655.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

aann-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl (538.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

aann-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

aann-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (406.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

aann-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (415.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

aann-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (379.3 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

aann-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (362.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

aann-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (394.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

aann-0.2.0-cp310-abi3-macosx_11_0_arm64.whl (341.1 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

aann-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl (353.2 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file aann-0.2.0.tar.gz.

File metadata

  • Download URL: aann-0.2.0.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0.tar.gz
Algorithm Hash digest
SHA256 fb30295a1ff306389171f6e68aa7019edfb14a3a797d46ad8098e14c1554a880
MD5 56b6c1ee0c745a69884ce1e044b972d5
BLAKE2b-256 2bc9264a26735f135201a5215e6fa210ffa1db4e8162b7ab2c47b287f057cd46

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 243.1 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 81b71c59ccc97e471511e2cd25963e9705ed91d8fc72f7153f626dcc7a9e53a0
MD5 2a0d34b9fe30c155b97663bb6a896867
BLAKE2b-256 216949addec89c0de7acddcf0a752330ab173bf24689c6ba3504a0fd9516190f

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 260.1 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 ccd24bd78faa767743ad35b1e150f414f470e165e83a0d41cf314123e46c3a56
MD5 9630142779c4d55d449da80eadef0816
BLAKE2b-256 1faee5a70eff8bc7d503cc07923157d0650d979e2fe059309e84894a18215a6d

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 237.8 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 03ee73c712fb56ac4447669d4fcd4df0ff730d0c3cbba492661acc365dd965b1
MD5 74c0ba54b0fe8274c6de3add5a089d20
BLAKE2b-256 79198086cdbac5abd0b12db8f96dfe3b241d50d07128199eea04c243350c0a2d

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 576.0 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 db2f9f928c38919d27053360b2b87fb34600b8e2f6706c5df0f6bc214266fc89
MD5 12af2bc762dc054bf1522e22ec03c406
BLAKE2b-256 bb7d1f2cd97eec14f966b0a91778615090e9a8da92a600be1b61f80faef9cd5c

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 605.2 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 77381871608436e51468bb4050b392269429a22138096525f9e183962d31ca50
MD5 1e3540d657a70c12cf70e2426a855389
BLAKE2b-256 d3ac8ebaba2278bb457c2320583ae9a9574c0069d0507edcb68a8a6249d2b1b5

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 648.6 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 3ada2571ca6611b2eb607b200de2a6f7a5bb9aba4ad582b5b7f0f1f65c9afc98
MD5 fd03966d57e097f88fed203f6385c812
BLAKE2b-256 855a8f283c3c9adb3bc07af74608e193dc6008444a3a8c68dedfbf1348dd067c

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 532.1 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e4fb8331c1eaa4e6e6790429233f989101a258df8cb61a510e2e5687fb4a2d9f
MD5 c02d75e19b029c528db3a72067a8e7de
BLAKE2b-256 5ba1fc7f4befd74e938aff8462986a245d3e1424ced2d0d35fe6317569b4acff

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 363.8 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22da5d5296639beb3e155fd365673e3a45f17ad089583d724b509ee487de8f3c
MD5 ebf5fb0bdf15d87983acb660371ad4ea
BLAKE2b-256 dd8ce7188f6c0ea5623df23718fbc81f315e2a22709fe46ccb2a35939ab9c853

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 400.7 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 144d6f51fd728b3341baabee6ba4227ca0252db7fbc49563664944043d6adfcb
MD5 af4dd60018aadee1292f51e09bab6fb4
BLAKE2b-256 4585b21ac1cdc09a7807eba57a5834612e086d89ee6eacc7d3403a1ad556ca3e

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 408.6 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 13ab2bf78e29e1d06656ce78981d68ddb79960dd13b219e8ddd814a97982b2fa
MD5 f8745c14f1e9477776bd0c2584e1431b
BLAKE2b-256 90de926ae81b4bd7d3ea1003503775a6f08f4b79e78f35d55a2e9377c275193c

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 373.5 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4af69df12585e5be15e5b5cd26702433b532ba624f20ebabde88fa618c1f0a68
MD5 3b659959cde7432d9bf425ab8fd635fb
BLAKE2b-256 a554f2569eb208a187837ae3d89a00482d7d1359bc919c35582926f8b78a28f8

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 355.0 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3d5faba3c9e6f6ed761765eef80497c11748a0278604e4d76448626deff2813
MD5 678ddb6e05a4087a673f37a8b04cf77b
BLAKE2b-256 2c4d1948d2bb8864c271c5b9505e14ee02421b3364cf30e92290df73945ea8f0

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 386.9 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.5+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ee9e6588a2c36bb051e11b236855ab111260bd9969606a68e040b072dc25a7fe
MD5 5756d545f1a33043a4ff6a61376b3a36
BLAKE2b-256 d34cccc81485cd076ffafd1de9477ba5f540815146076c73f40ea6c9ec94aa51

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 332.7 kB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9bca573af89f7e7e9dd7362f4d3f929c43b3c67785a963d706e9d9be4f3a6efd
MD5 a8185ad85eefbe5114085f91f4e0f922
BLAKE2b-256 ff3452e63a6a55fc2dacbf70ed9cc453134997870ae40f20635164a32f900a94

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 352.3 kB
  • Tags: CPython 3.14t, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a93e0bac3aa56cd8b868e691f09b769be293e4cb25d2bf10765ba35d4fd3bac9
MD5 eb054f06d9a3795753c768deae4663e5
BLAKE2b-256 e2d4c03be21d71eee0f03efb1bf20c86c6dd15024e652d02b92f710417fe979e

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 250.8 kB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 eb9b4f0cfd47b591eec3eaa6c1b189a3e149fa5f04324f710a27c5cc026002de
MD5 46537b10a93be42f01f3b939d6567643
BLAKE2b-256 0ceaa990c74911722bb91db8c268a6a31a26b032116cd76a1e0d668fed6e82b0

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 266.9 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c260a128552759922ecd37cca91a4c5386a96929ee95b4d33369384c6d9edd8f
MD5 bd47c945b1178a82b29b1f54d0139c1b
BLAKE2b-256 0e1df3ba68170425f8e93482506b8384ec06ca33f8c6c1c38526b896c273c90b

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-win32.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 245.3 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 e981dcc9ec4285458e7cfd9dd85f2eeaf6a873b7634e44b965773d630b55b09b
MD5 b511aec9d0ef892740d55f94eb99b2b7
BLAKE2b-256 0183f874dc1f9ff165026a5f329de43ee0ae6828a5f80afc30700164a6d641b8

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 582.5 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ebc36c69ae43f409af7944755eb8ccb16986a7033549d03e3e88af8a76e180ac
MD5 6904e4254bdb3d23406a4dd96a6b3d08
BLAKE2b-256 edc5968c470d91286a69e66dbbf783bb25e3657f8fb4246571a07f4cdc55d07e

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 611.2 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 191106b2334e56b0b3d7a83c2d702f5f885130f6501e368314eb25ce70c49804
MD5 b5df596379aa2a31f07551b026bbc07e
BLAKE2b-256 0b52c3d1d25e369e81948193a25e9e5da0541ae7c4724854899798fecb0ac86f

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 655.0 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6e1983013234fef2e6719a02e5bd167818b2bf6c61215954b15b3296f86e28de
MD5 8ef4cb0354d4bcdd1d581445eefa0da4
BLAKE2b-256 05921ffd41abfdad434cfc315ec4e9ce8d181362e6ec54e9f6edb02efe963ff3

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 538.8 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 823ec279e8710b14d89f2d8b5bd0713d00ea15cf55cf867a8d100fafef30148b
MD5 0c802a347fc902af49dc1bb21329b94f
BLAKE2b-256 a0a4778c525d3217ee3aaa5ce689351cf4e63ade28c1bcdc20adfacf8d49fb38

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 370.3 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04a73db67dbac2aa70d13144fb64aa86ac7aad2a1e5e19c43e8ef9afc7d345bf
MD5 1061197a03da77488d665b18fa5db75e
BLAKE2b-256 53ff1cfe91cf08b969ace89624e8033533e01c2205a276eaa241eead7523179b

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 406.3 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c1eb13e13079685d252a3ed9e979ab91617988e5cba7e550f2f19c0e843627c5
MD5 081986771459db6be4be7e21d65f17ce
BLAKE2b-256 a5f92bdfffb7ccf96613352bd861909274769a1439bcf1d9fbe4aa753a17b0f3

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 415.7 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 104d7824c605c53a792b9c9162bc59caff2f9c4d5b35ed83082ac7625d21d802
MD5 c72a27e5791772c1c61b160e6ab17d65
BLAKE2b-256 dbbb759643e18c96f06094395236ef941147aa7b96e4757ccd70db5738930f1d

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 379.3 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d85094f14ce684908339f0f0be14ea1a4739ba01ce09f4d5c479917744a98b4a
MD5 ccaac53dc2a369c0b6f502df18a24d45
BLAKE2b-256 bf1218705184131fa3685ea8330ccdbeb8383524ba15507cb80edebd4c978d2e

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 362.9 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3def4f542fc1a5c3e36c319ea461b704e0a3d45af5c2fd8d2f926ee8777d6d43
MD5 31ad78b771d1e88ff8e414673df168d9
BLAKE2b-256 66fdf160997d8bcc3dcd90211f401c5cd8fdac9a8373dfc7ec59faf05ec2fe14

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 394.7 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.5+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 87b82e4b9d103c87cf381f3c44091928ea755cf378f44157b681cda1fb730af2
MD5 e51b35f30900ce42dd8ebb235254301a
BLAKE2b-256 3a519180c0227d41e84404481d09c6adbeec13dd49555619dc7ace1004e5bb9e

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 341.1 kB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c9fe34400eaf738ed22df8d0a95c67d0ed691d639f9c67c379543d850ba56b4
MD5 e99dc5d6fe9606c1e0c575021d1cac77
BLAKE2b-256 9542180765178b77e7cde570f54e9df75a3c5646f7e920b0a229773a173473ca

See more details on using hashes here.

File details

Details for the file aann-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: aann-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 353.2 kB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aann-0.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 98e1ef7f99534077fe2a1f61adcce2587998577690ebb26ad4b442d3f1a1ea93
MD5 06e79ac54d29c5b94037e21e2288f926
BLAKE2b-256 9a02294eb892bf7ca9b2406115065d1b9eabfe24d25892f3e1f488b43ef9e483

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