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.1.tar.gz (70.1 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.1-cp314-cp314t-win_arm64.whl (243.7 kB view details)

Uploaded CPython 3.14tWindows ARM64

aann-0.2.1-cp314-cp314t-win_amd64.whl (260.9 kB view details)

Uploaded CPython 3.14tWindows x86-64

aann-0.2.1-cp314-cp314t-win32.whl (240.6 kB view details)

Uploaded CPython 3.14tWindows x86

aann-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl (576.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

aann-0.2.1-cp314-cp314t-musllinux_1_2_i686.whl (605.8 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

aann-0.2.1-cp314-cp314t-musllinux_1_2_armv7l.whl (649.3 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

aann-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl (532.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

aann-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (364.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

aann-0.2.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (401.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

aann-0.2.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (408.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

aann-0.2.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (373.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

aann-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (355.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

aann-0.2.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (387.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

aann-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl (332.2 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aann-0.2.1-cp314-cp314t-macosx_10_12_x86_64.whl (352.2 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

aann-0.2.1-cp310-abi3-win_arm64.whl (251.4 kB view details)

Uploaded CPython 3.10+Windows ARM64

aann-0.2.1-cp310-abi3-win_amd64.whl (267.5 kB view details)

Uploaded CPython 3.10+Windows x86-64

aann-0.2.1-cp310-abi3-win32.whl (249.5 kB view details)

Uploaded CPython 3.10+Windows x86

aann-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl (583.0 kB view details)

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

aann-0.2.1-cp310-abi3-musllinux_1_2_i686.whl (611.7 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

aann-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl (655.2 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

aann-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl (539.0 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

aann-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.9 kB view details)

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

aann-0.2.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (406.9 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

aann-0.2.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (416.0 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

aann-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (379.5 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

aann-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (363.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

aann-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (395.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

aann-0.2.1-cp310-abi3-macosx_11_0_arm64.whl (340.3 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

aann-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl (353.6 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: aann-0.2.1.tar.gz
  • Upload date:
  • Size: 70.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1.tar.gz
Algorithm Hash digest
SHA256 a20e83fabc415df244a3264c69ea039b2b491c821b45868b116dd8e219a46ff7
MD5 90ec039a8120bdf28a364f0bfd4dc31b
BLAKE2b-256 b011c842109b3fd1905ebcb8a61792b29c3adbf612c0275a893c9f51b2d98be6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 243.7 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 a3b57d2189ce6ef81925695791422b2f5c949e9141d77855ece573d36757bcd8
MD5 ea3ab2c4b16c69c64b3877aadae6db8b
BLAKE2b-256 97a6261861c2532674b871bea7a3f5456647009b1f5556aa5713fd4e095dbbdd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 260.9 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 9247968da5de7f17b47ac9f6a18d89ab03024457a8a4d42b054d9132e318b406
MD5 d58096b582e8f2f55a69c74f49fe9f60
BLAKE2b-256 eec17bcfbc128689fb46529286f0ec929080861d653e4154c6546f1282e4e46f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 240.6 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 3ff0d2ca2ba7fb74bfe6fe5c2a7c869da01c386e9b20f8587472028b0fd07f3b
MD5 639f6004d02d1907ccd2d691b4db4bf9
BLAKE2b-256 93a525d49e0300f5b66f93bde11cf257e852622d3530487c1277dabbb39f56d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 576.5 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 682a5091d76f4b5430746ecc37126b506e61ffdbdafd399515fa368edac1f0ea
MD5 5b7173688203d04c955cb6242b8d2330
BLAKE2b-256 dfbede858551868a365539c66489a93f8b535c359d18edb66d898642bc3f239f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 605.8 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a0acc1eae188c369911744f56e84755c0add32c77016c40258a479506efba7a4
MD5 d71fd02510d66407d82975e6f8617fd6
BLAKE2b-256 ecd3022bf17c4bb3ec6a71c2f1b327343f79407fed1e26a1400bfe81be86faa7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 649.3 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cc42423a6ef9ab265a9e0bb2a7d056551eb95a71309f435869fa50ca3ff5ae65
MD5 1804fb49fc1f0bf2d79ef728d276817a
BLAKE2b-256 13804bd543df42901af9322f1a416a9135651538c2b2fd5ca47b83c037269e57

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 532.5 kB
  • Tags: CPython 3.14t, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a8d73e2f15ffe1a6c542018459510d670364f5f89119b699b02c1d451c07be37
MD5 0d49b2012fdcabeccb165058a650b9da
BLAKE2b-256 58fc3c2f335e2ea15caa0980860af21ad39869a85d2e871735a71db4628fb023

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 364.2 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 736d83d6b596a5f8312379a45eecde4570d0f12530306b38378b0de6ce954b12
MD5 9322f1bdf764d8372361261a7b75b3ec
BLAKE2b-256 26423994574a17af05b8fba96616e6f14a3d09dfe25e6f72536dee9a89062dc1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 401.4 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1303c6aaa118512f0023ab00b30b53d5d66466bed50b3440ef246e46dd5bea26
MD5 0470fb683bc4ec97fb300ca8f6056cea
BLAKE2b-256 86f36efccc5ac0f7ab64091bee685152af649b8173f490232c731c57c69e8916

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 408.9 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3d841a2c8677ac68df9de30a54f42e9ab4f73da9c2884dc7a81da2fa531db947
MD5 913455f75d9386488d8dbb5ef65e53f0
BLAKE2b-256 4c1387ce666b1448a442ec26bebefcc4609c63e46c80a8ba7dffd6ce00676f14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 373.9 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 cd3998af4fcf54112ada1a65e39189e41d096766d118f3a1a0703c6cf7dae50a
MD5 95c33adf3c75d72851440c339600df2d
BLAKE2b-256 9009dbc7e1593c9f0507fbfbf79316e888beadb739a83b0b36cce43a95c65fb3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 355.4 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 90758a1cefc1e29dd40fb1eaaf7d01978609ae1ca65333990317abbf43e7667b
MD5 95cc94776bcf428fb37c4dd731767c92
BLAKE2b-256 14c36732a02ab87693ba513a2dc7c411e1f3abfd1741c62a3b39d8d74ecbdaf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 387.6 kB
  • Tags: CPython 3.14t, manylinux: glibc 2.5+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 909966b85d4d566b6974b53ea3b141936e65c7eff07ffac8ab7c19b6febe4b5c
MD5 f9a4d9b2ac7eba9f017f8afbf8a50e74
BLAKE2b-256 99a11a389ee7659aa7846b36bafe3ef4d0af193832a289d483f42bcb426ddeec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 332.2 kB
  • Tags: CPython 3.14t, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 231d3ccb59b4c8b5c355dd2bcbfbf4a36d1b6d68e3b426e3d8252a120ecd37f7
MD5 b905073e3f5cb9b454406d44aea8e49a
BLAKE2b-256 5e9c665e19926403629b14cb0471c4416a09ce296e337543b685c89d13760067

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp314-cp314t-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 352.2 kB
  • Tags: CPython 3.14t, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e6409873c4ac4ea89ba170b627de96e75677b56234dd1eb94aa77e821ad50936
MD5 3c0e4dbfd8cfd3a99661a12abe8bbf5f
BLAKE2b-256 4c5e7c0834104eb75cbb7dfc26be5f416e0cc19703e6e30b07e821e964219da4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 251.4 kB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 2d44d717b3fee27fd56c372d630104daa94ff324a401494ed4504e0e46544554
MD5 d0964dd916434c7616fadb63c5ba6d07
BLAKE2b-256 1f0a9b760eb9ac959debbbbdf79ee0e031b60cde05c4d6d803eb1e182c044b99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 267.5 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 08ad1a050cf5f7245341ea8c7cc7795236500c8c778307c07e349c6a027dd09e
MD5 2bd9a8a782a8973b83eff81f629b3e0b
BLAKE2b-256 56bec043aac2a7aa0cb5e3f2cdd116d7e5c2f3946798f90bede38b756213a7f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-win32.whl
  • Upload date:
  • Size: 249.5 kB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 1cd3f02cc123fbbcc01c6f328a3ffacf6abea177ecdbc281ec7608e4e1e61b31
MD5 dfce7f4c91d6a10b77fabdad733bdbee
BLAKE2b-256 bd2cde087ea0f72838ed005f05079a08d167bb12cb092a3f7df4060a3b9e6e76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 583.0 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aed9484be638208d7ad8d1343adcbf04e79c00cbbcbac26767426e28a0eddd5c
MD5 456b60e7d085f3826590f57f8c55b694
BLAKE2b-256 3447113c175731ec17cab7005fcdc41ed5127bc580a0c9b474e83cba6cfe2e8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 611.7 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 53577a85cc82480569cdf40faa269618139954e6d04f7ee954a4d53afa0f2042
MD5 397dcf9f5353fa8ee98cce11d4945b3b
BLAKE2b-256 3346d488f7fb3aac8b87d5935c013ba1501b8d40b272049bd0f5dd4584317991

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 655.2 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9dc8214b2f84a329989ef121d695b4f31205e1fb19521774b928ab498d128805
MD5 18e39200d1ab0e134611492736cff195
BLAKE2b-256 26616cb265237240e15475f9c9391ee38a700c7c65db8010a350e9134792c91a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 539.0 kB
  • Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 38d2516097f02ede58d4c037a2c24b90efe614e41dc16f6bb166365eeebd2724
MD5 9a2b4f1ce7cc070bf8b0dd0ff31d42ee
BLAKE2b-256 953955c46e9876f126eb2147cc05546525150039bd6d538ec7606efbd49fc69f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 370.9 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5382c55704d0e5cfde267e78afd4066023e150a6767d1814c575149e4ae18441
MD5 d4e9082918b3b2159a1595da385bab13
BLAKE2b-256 49ced95fa4fb3f2813ab893a74c9f8743075a299aeb3c6f1cb190ed609d36048

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 406.9 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 167be468cae6aecf4dff6bf776b1e2c14feb344294ee12fe7fe20708b8aa8705
MD5 d48dac06c5fe96a3aa244f177ac22fa1
BLAKE2b-256 cf83901d4c92c89f74c1bc98fd3443c11bd09a89fdaf1e6d69eb84c30d49530c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 416.0 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e3ca327baad6b4c617662345c78135fe5893a732ffa69724a474790f9f79a8ba
MD5 355f1474aca0729d5abd8a68395f7026
BLAKE2b-256 19a233b36317d134613cd396fa122a8f0a552c4f8ab159f366bb2204d310402e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 379.5 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 fed332e0043c6917ec00a7b8710a4ba2244e3ef19ec7a2eedd050cb6edfbcde7
MD5 8f764d79ab8e8314ec07a71ec7102f3e
BLAKE2b-256 9236ce2db430f063d8f615ca157a42f8449e0e5e9753ea088aa2c71f6dcdfcb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 363.2 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe19e256f05e593811a335a7cb3c1b4ed59d8e4dc95a85f8ee661ed41a142219
MD5 aa2dfa552854d37c0359ab7d62923d27
BLAKE2b-256 1a875eb82a5d705fb6d5ce4f3dba7bf89d69a300f23f638e715917d53a7d4e54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 395.2 kB
  • Tags: CPython 3.10+, manylinux: glibc 2.5+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ee43408bdfd4a8c0b2712e617a8f0c4c67f4ccd103aaa19d895a7aaf4a52eb30
MD5 c7932673ff48b4272493e003f6ca0514
BLAKE2b-256 1f66247761ca72b98b38a3e62e9a3a8d6b0691afefc2d3b4b6c3d5bcc82f85af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 340.3 kB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5620fb1afcc1666f3a2cbfbc3ab011b1345d7b1803abd404870064bc9c8b7150
MD5 c44bd85a49ca5007c51b99e5ab6676ce
BLAKE2b-256 5349e8fe3aedf729b416b8fdfd1aacb8f1e39984a324b16ebaa1750e299f074e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 353.6 kB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 035284cf7b78bb2ecca1d6d12d3f6771d6938d4337acda464994c2e67be5c250
MD5 9db226844330bbbec0a423fd12582ab0
BLAKE2b-256 e1437ed9d48628ae32ebe72eb6b771504a6f3f373b299f68708d7e21127900d5

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