OxVox - Oxidised Voxelised toolkit
A collection of operations on arrays and pointclouds implemented in Rust
Requires Python 3.10 or newer.
Installation
Precompiled (from PyPI, recommended)
pip install oxvox
Manual
Checkout this repo and enter a virtual environment, then run
maturin develop --release
Usage
Indexing by field
In [7]: from oxvox.indexing import indices_by_field
...:
...: TEST_ARRAY = np.array(
...: [
...: (2, "a"),
...: (3, "b"),
...: (2, "a"),
...: (3, "c"),
...: (4, "a"),
...: (4, "c"),
...: ],
...: dtype=[
...: ("score", np.int32),
...: ("initial", "|O"),
...: ],
...: )
...:
...: for row_values, row_indices in indices_by_field(arr=TEST_ARRAY, fields=["score"]):
...: print(f"Unique value: {row_values.tolist()} at row indices {row_indices}")
...:
Unique value: (2,) at row indices [0 2]
Unique value: (3,) at row indices [1 3]
Unique value: (4,) at row indices [4 5]
Nearest Neighbour Search (NNS)
OxVoxNNS builds a spatial index over search_points and answers radius-bounded
k-nearest-neighbour queries against it. Construct one OxVoxNNS per pointcloud and
reuse it for as many queries as needed (e.g. to query in batches, or to distribute the
object across processes: it pickles).
Several indices are available via the method argument. If you have no reason to
choose, use method="auto", which picks the one the benchmark says wins most often:
"kdtree": a bucketed KD-tree (median splits on the widest axis, 16-point leaves). The fastest oxvox backend at most of the benchmark's grid points, on every cloud shape measured, and what"auto"chooses."voxel"(the historical default): a uniform grid of cells of sidesearch_radius / cells_per_radius, stored sorted by cell so each cell is one contiguous slice. A query scans only the cells that could hold a neighbour, skipping any whose bounding box is already farther away than its current best candidate. Its cost per query is governed by local density rather than by the shape of the cloud, which is why it exists, but the benchmark does not support the conclusion that this wins: it is a median 1.6x slower than the KD-tree, and on a dense real scan searched at 20 cm (about 40 000 points per sphere) it is up to 178x slower, because every query then scans tens of thousands of candidates linearly."hybrid": the voxel grid, with a KD subtree inside every cell that holds more thansubtree_thresholdpoints (default 64). Dense cells are searched in logarithmic rather than linear time, which does remove the grid's collapse on dense data (10.6 s to 1.8 s on that same scan) without ever beating the plain KD-tree. Exact."graph": approximate. Each search point is linked to itsgraph_degree(default 16) nearest neighbours at build time. A query finds its single nearest search point exactly through the hybrid grid, then floods outwards along graph edges in best-first order. It never returns a point outside the radius and never a duplicate, but it can miss neighbours; recall is high fornum_neighbours <= graph_degreeand degrades gradually above it. Counts can only ever undercount."kiddo": thekiddocrate's KD-tree, present only in builds compiled with thekiddo-baselinecargo feature. It is a benchmark baseline, not part of released wheels.
method="auto" resolves to "kdtree". That is the whole rule, and it is what the
measurements support: which backend wins a particular query is decided mostly by
num_neighbours and the size of the query batch, neither of which is known when the
index is built, and rules keyed on what is knowable (point count, grid occupancy)
scored no better than always choosing the KD-tree. See
oxvox.nns.choose_auto_method for the numbers, and grid_stats() if you want to look
at the grid's occupancy (cell count, max and mean points per cell) and decide yourself.
Which method should I use?
From the benchmark in benchmarks/ (five synthetic cloud
families and two 16M-point laser scans, point counts from 1e4 to 1.6e7, k in
{1, 8, 64}, query batches from 1e3 to 4e6; full results and charts in
benchmarks/results/report.html):
- Use
"kdtree"(or"auto") unless you have measured otherwise. It is the fastest exact oxvox backend at 56% of grid points and the fastest or within a couple of percent of it at the median; its worst case against the best backend of the moment is 1.5x at the 90th percentile. - Against scipy's cKDTree it is a median 2.1x faster on queries (10th percentile 1.1x, 90th 3.1x) and a median 5.6x faster to build (8.4x from a million points up); scipy only wins on tiny query batches, where it can be up to 3.3x faster because oxvox's per-call thread pool costs more than the query.
- Against Open3D's hybrid search it is a median 1.9x faster, and up to 22x faster
on dense clouds with small k, but Open3D wins at
num_neighbours=64on clustered data (up to 3.4x). - For
count_neighbours,"kdtree"is fastest on 60% of measurements and a median 3-5x faster than scipy'squery_ball_point. "graph"stays an experiment: its kNN recall is high (median 1.0000, minimum 0.9853, at least 0.99 on 98% of checks) but it is several times slower than the exact backends, and its counts are badly low on dense clouds.
Example
import numpy as np
from oxvox.nns import OxVoxNNS
NUM_POINTS = 100_000
SEARCH_RADIUS = 0.05
search_points = np.random.random((NUM_POINTS, 3)).astype(np.float32)
query_points = np.random.random((NUM_POINTS, 3)).astype(np.float32)
nns = OxVoxNNS(search_points, SEARCH_RADIUS, method="auto") # picks "kdtree"
grid = OxVoxNNS(search_points, SEARCH_RADIUS, method="voxel") # the historical default
# Find up to `num_neighbours` nearest neighbours per query point. `indices`/`distances`
# are (Q, num_neighbours) arrays, padded with -1 where fewer neighbours were found
indices, distances = nns.find_neighbours(query_points, num_neighbours=10)
# Count neighbours within the search radius per query point (a uint32 exact count)
counts = nns.count_neighbours(query_points)
# Or weight each neighbour's contribution by how close it is, via the normalised
# kernel w = (1 - distance / search_radius) ** distance_weight_factor. This is 1 at
# zero distance and falls smoothly to 0 at the search radius; distance_weight_factor=0
# reproduces the exact count above, larger values concentrate weight near the query
weighted_counts = nns.count_neighbours(query_points, distance_weight_factor=1.0)
find_neighbours and count_neighbours both take a num_threads argument (default
0, meaning "use all available CPUs") and a progress flag; find_neighbours also
takes an epsilon: once num_neighbours neighbours closer than epsilon have been
found for a query point, its search stops early, which can help avoid getting bogged
down in very dense regions of the search points (results are then approximate).
Multiprocessing
Every call (index build and query) runs on its own rayon thread pool created for that
call, so OxVoxNNS objects can be built and queried in child processes created with
any multiprocessing start method, including the default fork on Linux, and pickled
across process boundaries.
The exact methods (voxel, kdtree, hybrid) return identical results up to tie
ordering; they are tested against a brute-force reference and against each other.
oxvox.nns.EXACT_METHODS lists them, and oxvox.nns.available_methods() lists every
method compiled into the installed build.
Tests
All test files are executable for spot-testing functionality
To run all tests (Rust unit tests, then Python tests):
make test
Performance
benchmarks/ holds the comparison harness (every oxvox backend against scipy and
Open3D, over synthetic and real pointclouds), the committed results, and the report
built from them:
pip install -e ".[bench]"
maturin develop --release --features kiddo-baseline
python -m benchmarks.run --quick # smoke grid, a few minutes
python -m benchmarks.report # benchmarks/results/report.html
See benchmarks/README.md for the full grid and how a
measurement is taken, and benchmarks/results/report.html
for the charts and tables behind the advice above.
Building & Pushing to PyPI
- Get modifications made to existing workflow
diff .github/workflow{_templates,s}/CI.yml > /tmp/CI.patch
- Generate updated CI YAML
maturin generate-ci github > .github/workflows/CI.yml
- Apply changes to CI YAML (do manually if application of patch fails)
patch .github/workflows/CI.yml /tmp/CI.patch
- Update the version in
Cargo.toml(this is the single source of truth for the package version;pyproject.tomlpicks it up viadynamic = ["version"])
[package]
name = "oxvox"
version = "1.0.0"
...
-
Commit
Cargo.lockalong with the version bump (it is tracked, not gitignored, so every release builds from exactly the dependency versions that were tested) -
Tag with version number and push
git commit -am "Push version 1.0.0"
git tag 1.0.0
git push --tags
Metadata
Release files for oxvox 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oxvox-1.1.0.tar.gz | 606.0 kB | Details |
Built distributions (wheels)
Total release size: 19.2 MB
Release files / oxvox-1.1.0.tar.gz
| Download URL | oxvox-1.1.0.tar.gz |
|---|---|
| Size | 606.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8a2e834c79a98e3a16b2cbe403db6f3d39d533c0031201bdc30a70e5cf757a8
|
|
BLAKE2b-256 checksum How to use checksums |
bd686ab6a6f7c84288f16615f66fe6fb05f1e08658bd7f2348d2824925b84a6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-win_arm64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-win_arm64.whl |
|---|---|
| Size | 381.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows ARM64 |
|
SHA-256 checksum How to use checksums |
8d9a05078acedc66f4b8450815f477981601e14e38b9630f6e84e3dac63110ad
|
|
BLAKE2b-256 checksum How to use checksums |
130786e8231a19558ab47c4660a4dc413de76133ce4ce2d2a53bc5a2be2aa8d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-win_amd64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 398.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4a5df6b01a91247cb0a4029b26fb07dfc04fea35ff084db23695cce4ebc292d9
|
|
BLAKE2b-256 checksum How to use checksums |
cf4af3c8dc2661f7a8baf1765be56da94faca7d6e3611447ed7b307f770552f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-win32.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-win32.whl |
|---|---|
| Size | 374.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-32 |
|
SHA-256 checksum How to use checksums |
840f890375e6940bdbdf88882d24cee22cb02103736e0a2e02fbd24c6828b1b3
|
|
BLAKE2b-256 checksum How to use checksums |
47221ce19adb87f3c52ccdb0ae4cc19747be94bf53f2ef460907316f1ee81b6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 801.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
34d9ad5d25a64144ddd5a1c735c9a20c33df72c75886a293eb967baaf85956ab
|
|
BLAKE2b-256 checksum How to use checksums |
9b98f8b6732b476e91c40008e6f4887352815b7455c860a9346699ada95e403c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-musllinux_1_2_i686.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-musllinux_1_2_i686.whl |
|---|---|
| Size | 840.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
a5119d198f042637514ad10c37a09dd7e56cb9d96aa6b932dc5a827e698ce5f6
|
|
BLAKE2b-256 checksum How to use checksums |
d7a2513efaa093075a216592ae82a9e26f1763bdd56f980ae59c4c31d8ea38a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 865.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARMv7l |
|
SHA-256 checksum How to use checksums |
5dfe93f82c35a63c750a758a919247e57295f36bbff9a305d48ae1f539c53c01
|
|
BLAKE2b-256 checksum How to use checksums |
7dd055aa1240b31d2559c7a0cc78ac03d46cf72ae68578d53ddc9cb558e6d65c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 763.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
353520288dec8b6d0dc9258d878f1d9cda55552c54dac5665f5bc8cb34166cb9
|
|
BLAKE2b-256 checksum How to use checksums |
2dc93d48f664fa798c01ed73a5aec840c35578915574c2caf91918b13b605406
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 593.2 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3621f6d476e2363137f47e6f38c01540bf5f7d344021d19377e3ef6d6f25423a
|
|
BLAKE2b-256 checksum How to use checksums |
cf6982cd9aa2c7c59f7ac4f0bb925ddfe61643e4596f75f7f54fede2b6f656a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 619.2 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ IBM System/390x |
|
SHA-256 checksum How to use checksums |
86d2c2e18f1eb4fc1adf024d6f8ea426ef79a619e1b7440c263883461ee255b2
|
|
BLAKE2b-256 checksum How to use checksums |
600ba473f168ab9dac84e5f2d2026c6ed89c3788187258b7eb7a3f10e32fb0d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 739.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ PowerPC 64-le |
|
SHA-256 checksum How to use checksums |
1f328b7c117024f274f1995060ede00d706c26c9598c8f2f1e6e5b7a2ec54e47
|
|
BLAKE2b-256 checksum How to use checksums |
b5afe1ad11bfd926a16b0c12542fe9d906a03a3cac240b16602b8ccfda6a26bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 635.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
5bbeba5696372cba56f57dedaca4fc079d55fbcf9916d7508f51ea96212366a7
|
|
BLAKE2b-256 checksum How to use checksums |
ead1476857cb8977306da6b056550da3acb30ac14a148a40405d5cdf2ebbe2df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 588.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARMv7l |
|
SHA-256 checksum How to use checksums |
fad0355f08fde8b20d41fb2d65ae3b01ded8148a45ebbf5e3ec6d0c6a6095084
|
|
BLAKE2b-256 checksum How to use checksums |
a5e787859a9cd3421cd72b952b0aa9f7f6e4178fe380202f0e707acb36deaed0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 586.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
d64d83eb769482d7540d8b3343536dd0fec9eab961270529e1e2f5b3df2a0af4
|
|
BLAKE2b-256 checksum How to use checksums |
f444159ceac9687e4922deaa8a3fa7d30ab9311d4c5e0bcd5a991ec8c72728c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 523.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
54af3f0e2685f696c48346c9fabd7d5511babf291928682a1e822e26af704db2
|
|
BLAKE2b-256 checksum How to use checksums |
1f5b52306967ec11dd3f2a6a484ea833137c49e94566775a5f3bd6a4bed001bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl
| Download URL | oxvox-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 528.2 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
ddac63c6ed9e74f6c99cd40454a2278d7e3669fbdb036851ce94204a0891bc21
|
|
BLAKE2b-256 checksum How to use checksums |
54ae8bace17fc58b633a06534467011c09b8b5cc917ee2bc4f776a236b529c9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-win_arm64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 388.7 kB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
0182c32a381d2ed6d33e01b4c59dafae72d42446e2b74247c98c5e4973595780
|
|
BLAKE2b-256 checksum How to use checksums |
ed72ce9117291f58da70a78b38372089e722fcaac0d6752aca833ead3bed6068
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-win_amd64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 405.8 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7e8be3d2e793a4412ace22e736eb31e0d1ae0fdfb275b288e08d756cc523955a
|
|
BLAKE2b-256 checksum How to use checksums |
0d5fa927af460eaecd5f051b6e09cdf72ef3cbdcbb88c1596b95bd2c481368f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-win32.whl
| Download URL | oxvox-1.1.0-cp310-abi3-win32.whl |
|---|---|
| Size | 379.2 kB |
| Tags | CPython 3.10 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
d2fb8c357007d52a8a0bf10caa5c3fad53c8351eb14025e0336c1d9db656b002
|
|
BLAKE2b-256 checksum How to use checksums |
7c7743b17b076418a4ab7cbcf733a3b35f38cbc183df5fb772e14cf067758013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 811.1 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4df8889c2713c3828b8012d99e749a1e8fe218fa763c616ded43eb153e1b070c
|
|
BLAKE2b-256 checksum How to use checksums |
0bc068df7d583a855b109b618c50bd3e635e6246b0882f75b48c319a46cd5b39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-musllinux_1_2_i686.whl
| Download URL | oxvox-1.1.0-cp310-abi3-musllinux_1_2_i686.whl |
|---|---|
| Size | 851.8 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
512ad4b8898ef1a846a403c2fb80c4b8f8d684bd3077cc2763316f5f15051ddc
|
|
BLAKE2b-256 checksum How to use checksums |
70babc8c96603c9be34a68341d76fa60a7c5be0094ae1028ffc8c511fe07b593
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-musllinux_1_2_armv7l.whl
| Download URL | oxvox-1.1.0-cp310-abi3-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 876.2 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
11db8ef96ac9ebdd3ab9f0f4d8c5753096b63c4a3f425878c5945ef0fe23ab53
|
|
BLAKE2b-256 checksum How to use checksums |
28c8b9ac08bf88e8a3481d1ac57fbf0a38f8cc5f930f6474f6462d7dd5c0f41b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 772.5 kB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f29dc7d9de0fd470d10ad5f0d69adfcd4e5a35ec90050a0910bf087c30047351
|
|
BLAKE2b-256 checksum How to use checksums |
75dee7118b4d57c9d63c66c0735ccf07fb211aae71170c1bfbb541e98b18459f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 602.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
53ef15f9b54483ebbe8389988e54cd58e7e289e76ea3873e06fda7465498fbf5
|
|
BLAKE2b-256 checksum How to use checksums |
ac76fddf9047cefc406749b1039b80853006524887f294811f8f2fa39b24410a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl |
|---|---|
| Size | 628.4 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ IBM System/390x abi3 |
|
SHA-256 checksum How to use checksums |
3ed97461f9cfccc63518b6bd40df321f0711bacdaf891c75bbb662399f46ea2c
|
|
BLAKE2b-256 checksum How to use checksums |
65a0c3d5a1b95b1af5ed6ea36863a84802911cd654a9ff29f4a5fce1e2f53a44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl |
|---|---|
| Size | 748.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ PowerPC 64-le abi3 |
|
SHA-256 checksum How to use checksums |
9b6062bbbebe38564c9fc764491309de5cde48d96832ec3cdacdb5d55e7f790f
|
|
BLAKE2b-256 checksum How to use checksums |
9d1803b94def67b62428fb39820380eaae02e52be3ae602891f47aac8e77a18b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 648.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
dadef593ab0e304e01983895ef8a131730e173a4b330bc21d86821432e6cd277
|
|
BLAKE2b-256 checksum How to use checksums |
f73b9977733acc3334ffb84b4e31180531e540df48f3b5edc061ef8b4da96e54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 601.0 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
7ebf3ea2038339fa3dc3416728f2c3a609c7715d046bcbd07a94550593a3c512
|
|
BLAKE2b-256 checksum How to use checksums |
fcbd8d2b26a274d50c409797375883bdbaa646cbae5007b75d9891fff78fca54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 595.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
534bba4fa46e59fa75d6be13ee87d91c3b35cb4fc5deec934f97e67325229b68
|
|
BLAKE2b-256 checksum How to use checksums |
4c06785920033817782e966ca19c62b597c3c9585d6cba9386cd9aded248d64e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 531.8 kB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
06bee8921d9675a3a46997c26a8fbb7f01222eb40a30a6681684542b232bbc1d
|
|
BLAKE2b-256 checksum How to use checksums |
148cf68f7ddb3ab890e82f1ba381815e0db3f99ed370e843da7f243582db049c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / oxvox-1.1.0-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | oxvox-1.1.0-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 534.4 kB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5f818279fdd6b72c30a9ec67a8baa63d64ebc7cbf2e2dfce45f601f6e2b103c1
|
|
BLAKE2b-256 checksum How to use checksums |
d7843f404ade5ba771e30fe6e703c3478601be6b747a0de59585e8c8d6dbc94d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|