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 (`u32` indices -- the
// adjacency is the largest allocation in a big run, and a single cloud never
// approaches 2^32 points):
let queries = array![[0.1, 0.0, 0.0], [0.9, 0.1, 0.0]];
let (qptr, qidx) = (array![0u32, 1, 2], array![1u32, 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.3.0.tar.gz (72.2 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.3.0-cp314-cp314t-win_arm64.whl (245.1 kB view details)

Uploaded CPython 3.14tWindows ARM64

aann-0.3.0-cp314-cp314t-win_amd64.whl (262.2 kB view details)

Uploaded CPython 3.14tWindows x86-64

aann-0.3.0-cp314-cp314t-win32.whl (241.2 kB view details)

Uploaded CPython 3.14tWindows x86

aann-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (578.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

aann-0.3.0-cp314-cp314t-musllinux_1_2_i686.whl (606.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

aann-0.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl (650.2 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

aann-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl (534.0 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

aann-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (366.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

aann-0.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl (402.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ s390x

aann-0.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (410.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

aann-0.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (374.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

aann-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (357.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

aann-0.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl (387.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.5+ i686

aann-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl (334.0 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

aann-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl (353.6 kB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

aann-0.3.0-cp310-abi3-win_arm64.whl (252.6 kB view details)

Uploaded CPython 3.10+Windows ARM64

aann-0.3.0-cp310-abi3-win_amd64.whl (269.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

aann-0.3.0-cp310-abi3-win32.whl (250.1 kB view details)

Uploaded CPython 3.10+Windows x86

aann-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl (584.4 kB view details)

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

aann-0.3.0-cp310-abi3-musllinux_1_2_i686.whl (611.9 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

aann-0.3.0-cp310-abi3-musllinux_1_2_armv7l.whl (656.1 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

aann-0.3.0-cp310-abi3-musllinux_1_2_aarch64.whl (540.8 kB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

aann-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (372.6 kB view details)

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

aann-0.3.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (408.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

aann-0.3.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (417.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

aann-0.3.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (380.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

aann-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (365.1 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

aann-0.3.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (395.6 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

aann-0.3.0-cp310-abi3-macosx_11_0_arm64.whl (341.8 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

aann-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl (354.8 kB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: aann-0.3.0.tar.gz
  • Upload date:
  • Size: 72.2 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.3.0.tar.gz
Algorithm Hash digest
SHA256 494bb2a1d9fff50274fe1617b2c756a3f2dbadd4e46a621db70daf577e6d91f3
MD5 d0c7d63c058afe87dea778c639055553
BLAKE2b-256 3f5ce9c47ca33cef85093b387306a050d1f9538c92f6b6e2cac49cdbe8248c96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 245.1 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.3.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 9aeb95adcb1614c9d6f0750f6c5a7eda65d4656a839ace54c019700fa91e1238
MD5 253fd89d7811dc0b8858998e7a6f9101
BLAKE2b-256 4fd86393c49471b5498590e9159e7c6d4c98668a7a925c66f6584a14962a338d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 262.2 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.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 ceb488c34717711a5b9963296dcee52620e25690c7a282e88157dfbf75aa2478
MD5 9ef551db59488e6bfdcb9de9fe6da8d0
BLAKE2b-256 3e6446b7175ec97130d0da36567d00399a361b4882ec8e76f89db906ec36f72a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 241.2 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.3.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 90005b6e587c96d2a042b1aaa4785410dcb6e61076cb3d1aaec7133fc6fe78c4
MD5 4c5722fd1ffac14d3edc6d32ceeb3f03
BLAKE2b-256 49e173845ec547f36c18db250219b1ded66bb0a6f1e461a40ab0b2d2ce9822bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 578.2 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.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3555fc6e68e8e5ba6d1856c27cad518d810de416941ab8b30637f4bc10c23fb7
MD5 5fb6e548ade0e3619931a5d0077ea8aa
BLAKE2b-256 a39908b2d3bcb74bcb6a80b41a1bc1a30f3ffbc4884c518ac2a76ca203c11c9e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 606.1 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.3.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 7480753291fe0717eebab7446dce99c3719d2c967719755fe907b27413955ca1
MD5 3157c4fadf5d5c6662f73e187c6e1a27
BLAKE2b-256 01bf7f79dfaf28747c07719b9afd7f2c47707f17f4379f01b67b2f45631dd252

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 650.2 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.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 391e30d308487b62ef92ccbbb56badfda8d113d2f4bbd02d0bf5067ba13ddb01
MD5 ff6f0a7a1bd4987170ede9b2ce087c35
BLAKE2b-256 26eb695578887b271e5356b1b33c3f7c7eb10538c7061e9df737e3e3bdd80927

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 534.0 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.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 44e444daaa7952dc010f7e8e1d3eba01adf5ffa2b2355f18bf0353b81cb8b333
MD5 f8e85d6cce9f49965d09a959c053ac50
BLAKE2b-256 08bee3da113c96b35f67e7507461695435265580fa1e1244e131a49e25a9feea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 366.0 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.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c62cc2dc7adb70bde7091fae51072a9ff343a84e468a1f951f0519c460afc3e
MD5 106d5524fc1750b866bf09bdcf82d480
BLAKE2b-256 86f11bb5ac34248ac9dc37e986d9b8540055cad9b18142dc09c3dc6d82bdd3b2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 402.8 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.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 66e99d7da4dda588e59bdd57f2c7e2266a44eebac090a2356d280f0f0df4db69
MD5 736267c08eef91546048b3ef47759cb3
BLAKE2b-256 2ffb3a442f013203845695c7a084aa934db3c9e74b41dbf53331923231d38e8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 410.7 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.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 25339e0822b29759daf2f1d82755d9022f9524fe27a5ec2a35a0434a5c1bf152
MD5 c04526af11eeadaec2c8287b84709a64
BLAKE2b-256 f6c39f00ec645adf24a57f20e18fcc6c621288938c4adfecc098a99f5366a459

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 374.8 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.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 01c6e20f04c0ee8cafa57d2d9ac757f486a69284eb34922fd288dc372253fb7b
MD5 2ae185926856eac16742d9cc0f0e3772
BLAKE2b-256 a557c63bd069decb7976e84578b3cbd90ff43f39bf6ed7bcf11b0858ac2e2b28

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 357.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.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 facf26efd0a4baf4c6b131ca88333d8040d5b51070fcd99cf2b49be94bc2f0f9
MD5 71d97e79051810c6328d56cc1a6854b9
BLAKE2b-256 13fc7a49290a3bb6503935c0e750ba68f180202c1735f61036d04cb06e1fd129

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 387.9 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.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 8b212b88ab031f2835691e48c5d7f5c8e2d6d12cb05048b49db26f54dd26c089
MD5 1884ecfebca0120ef8eaacd3faf95562
BLAKE2b-256 10572b03ef98e947048d47b6fe561c59339d7bea75660f64070f882280c20ee9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 334.0 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.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f9ba97b06e743427ba29a42da1b606d439e630b61ef97dcdabbe6094b2f27c0
MD5 549972ffbf1986df181e6232e6bf3ed1
BLAKE2b-256 e5f72d4725eb3919fff35e246bb0ab5a2659a68a1d0d0815739172f93af05fee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 353.6 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.3.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cdb06decb3b84015ac762fb09436868b62a079ddcc5efefd98570be3acfefaea
MD5 2a3d2a72b1506f664dd4e58fa296f9f3
BLAKE2b-256 a6de1a05cf2334883aed17482663c36278c6dd3dcbbfb2ec8b739973abf0fc40

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 252.6 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.3.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 c42b7c7897fd4f4d2fddeb15bb1a110d4a04e09ae57652f84f86930a5fd2f292
MD5 47644f530258fbe499732514c7caf650
BLAKE2b-256 c25f84c11e8b2b5d81e8f630ee6d8d24a8e50351bc58ff9182a97c0444cad096

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 269.1 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.3.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f67d5016b16b7d6af3ecba5214b73425fd42ee410a0569be73e462586c08f440
MD5 78828fd21110adc907f298ebacebc4fd
BLAKE2b-256 25481ffb018dab395aa6035edd1e93132c29ce2408b5fc23620e87f8f1e97109

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 250.1 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.3.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 cbb5be7dd47ca5a5c772b5b4452c4b6f376c54536ed0bd8ffaae69013b421ae5
MD5 a6901e21bd3bfabd860c24249b889a94
BLAKE2b-256 66d2b58b42fcb4337b4f30ebd63ef08954af209472b75a90f417a4892519e53b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 584.4 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.3.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2240656f4a3da5b5f43d2ac485625bc64289a906b4a75b84b4faaa9d6600f66e
MD5 a6cc7fa4e5dc2daf05d80723ab26bb4d
BLAKE2b-256 81ceb0b3093f9973c1f8e7f47730a4f2d360e48c9939f5283feb475f694acc0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 611.9 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.3.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 88f51ce734a22d85a1130982b11aac5ebdf2b6289969fc54d4a63565bf9d931d
MD5 6232b84619983bb37d74c192dba2673d
BLAKE2b-256 91267f3e26de8bd44e172a38796aad7be527864beed304fa0f4d21022131c002

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 656.1 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.3.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4d9fa793192f60951bea94ad51bd94dd6b710ae03e74ba1eaa35ec72f1ca9172
MD5 5f127d99b8a05187f138696dcacd161f
BLAKE2b-256 e732ee50b7835c978aa085646f134362269273c241daee071109a3e0c6bace7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 540.8 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.3.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b3e52c49dfd3ba32b41c8003044a2f8266196afce10e09ed96242e0a6c78f6e6
MD5 26f6a79b3d2789654054cfd9eb12db52
BLAKE2b-256 ee243d2e4c0096975a7de092e3de1b08e3cc7ac50e5830e3a2c3db9004993c65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 372.6 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.3.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abad0b2fd919b606f2d1a0dec9724c917de2bacbfea0120a99e5f862acaec121
MD5 643e662859e7fe2c3c932db62a436575
BLAKE2b-256 46042bcf22ebbea5a255e06a6a7ccc48e63c7561a73ee8c402a4b7526a38e32b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 408.2 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.3.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b77592be5840a12d2dff8f61acbd38a20616d5323cc5eaefd8a0fe9866d7d485
MD5 5bf2151bbe5e79c0bf4202a36561432a
BLAKE2b-256 6ebc2e4f0c268a4b67af300fba7be5f74d38a629607d160de2edbad14e2e5a30

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 417.4 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.3.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ce4f9d848f41a1520b03a3a2684e562edf9c58e17004d92ac35eed87ea6a19a7
MD5 76ab3742ce4a8e1fe9c791afd9c97aa8
BLAKE2b-256 9d3c32b063cbd08b8e8f695ec2f634da7611e830a338db9ccb7ce75d9e273479

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 380.1 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.3.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 27a053c1c44742cd1d75f8a5318561968feb95251745f826f1b898009e3e3df7
MD5 dca60f264ba3044ade8f669adc8093c8
BLAKE2b-256 aaeb34ff7c4ff121b598190d61dcd67f6b91787a127cedc638292bc5aa7d0875

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 365.1 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.3.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1d6614e8d6b63dd0c3b34ee65d0650b947b8cfb5a302fb19065db21faae5493f
MD5 cd1ab495b3e1d2fc929778792bd74baa
BLAKE2b-256 6ebe712e83d47b637b918f9165d0d4523a6e8ad55b1c318bf178bcd5fe3496c7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
  • Upload date:
  • Size: 395.6 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.3.0-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 b306f0b7c82aa6b2e4445932dd925d3f807c118e220b2f1382001df106b7885f
MD5 7adb2cfbc6a1f2707568214996b521e4
BLAKE2b-256 a81591eeddb611d8b6210219d09162847023cb66a65a5fa361d0ca21691ba90c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 341.8 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.3.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb5462558b1c706d66ed047478ae6fa9c83278003c1563d6b75d756c9ddd2514
MD5 bc9b13781dfaf212d2f307d46628bbeb
BLAKE2b-256 ae9f8a8960f4ba8d82c528c6c4c5ee584d442b531655cbab71eeaaa614f7b866

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aann-0.3.0-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 354.8 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.3.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f6d3150b51877a96e8fd491bdd8235983b36193691b302b9e4712911741564c5
MD5 b36787db2fda5ad730715a65d3c2b52f
BLAKE2b-256 1728cf6ff05824f502ecdcb0e88d1ae01c3a945f06e84c92cfb325db456e252a

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