ellipsoid_tree
Exact intersection tests for ellipsoids and friends. Points, boxes, balls, ellipsoids, and simplices in R^d; single pairs, tree-accelerated queries, and tree-vs-tree sweeps. Header-only C++17 with Python bindings; Eigen is the only dependency.
A family of anisotropic ellipsoids partitioned into batches of mutually non-overlapping members (example). The figures throughout are 2D because the built-in visualization is 2D; the library itself is dimension-generic.
The design in one idea
ellipsoid_tree is organized around a small closed system:
Objects. Five geometric types — point, Box, Ball, Ellipsoid,
Simplex. A Simplex may be
lower-dimensional (a point, segment, or triangle embedded in R^d). Two more
types participate as queries only: Segment and Halfspace.
Trees over each type. BoxTree, BallTree, EllipsoidTree, and
SimplexTree index a family of objects for logarithmic-time queries
(SimplexMesh adds mesh connectivity on top of a cell tree; a point cloud
is a BallTree with zero radii).
Intersections at three levels, all built from one table of exact pairwise tests:
| level | call | what you get |
|---|---|---|
| object × object | intersects(A, B) |
one exact test |
| tree × object | tree.collisions(B) |
every member of a family intersecting B |
| tree × tree | collision_pairs(T1, T2) |
every intersecting pair between two families, in one simultaneous descent of both trees |
The diagonal of the third level is self-collision
(tree.self_collision_pairs()), which yields the overlap graph of a family:
the input to batch picking. Tree × tree
over two meshes' cell trees is mesh × mesh collision,
the kernel of supermeshing.
The intersection table
The algorithm behind each cell of intersects (all exact; solver-backed
cells to documented tolerance). See the
visual gallery of every pair.
| ∩ | point | Box |
Ball |
Ellipsoid |
Simplex |
|---|---|---|---|---|---|
| point | — | coordinate bounds | distance | Mahalanobis test (LDLT) | barycentric solve |
Box |
interval overlap | clamped closest point | projected coordinate-descent QP | phase-I LP | |
Ball |
center distance | Gilitschenski–Hanebeck with Σ = r²I | face-enumeration projection (Euclidean) | ||
Ellipsoid |
generalized eigenproblem + 1D minimization (Gilitschenski–Hanebeck) | face-enumeration projection in the Σ⁻¹ metric | |||
Simplex |
phase-I LP (convex hull vs convex hull) |
Query-only columns: a Segment is tested by the slab method (box),
projection (ball), a 1D quadratic (ellipsoid), or coordinate intervals
(simplex); a Halfspace is a closed-form support-function comparison
against everything.
Conventions: ellipsoids are E(τ) = {x : (x−μ)ᵀ Σ⁻¹ (x−μ) ≤ τ²} with Σ symmetric positive definite and the scale τ passed at call time. All objects are solid and closed, so touching counts as intersecting. Tree queries prune conservatively (an ellipsoid query uses a bounding-box test and then the exact ellipsoid-box QP on survivors), so acceleration never changes answers.
Beyond intersections
- Simplicial meshes (
SimplexMesh): point location with barycentric coordinates, closest boundary point, CG1 finite element evaluation, mesh × ellipsoid and mesh × mesh queries. - Supporting cast: k-nearest-neighbor
KDTree, axis-alternatinggeometric_sort, greedy non-overlapping ellipsoid batch picking. - Optional zero-dependency 2D visualization (
ellipsoid_tree/plot2d.hpp): SVG and PNG figures of objects, trees, queries, and CG1 fields. Every figure in the documentation is drawn with it.
Quick start
#include "ellipsoid_tree/ellipsoid_tree.hpp"
using namespace ellipsoid_tree;
Ellipsoid A{mu_a, Sigma_a}, B{mu_b, Sigma_b};
bool overlap = intersects(A, B, /*tau=*/1.0);
EllipsoidTree tree(family_of_ellipsoids, /*tau=*/1.0);
std::vector<int> hits = tree.collisions(some_box);
auto batches = pick_ellipsoid_batches(tree);
Installing
C++ — three equivalent routes, all ending in target_link_libraries(your_target PRIVATE ellipsoid_tree::ellipsoid_tree):
- vendor or FetchContent this repo and
add_subdirectory(ellipsoid_tree); - or install it:
cmake -S . -B build && cmake --install build --prefix <prefix>, thenfind_package(ellipsoid_tree REQUIRED)from any project with<prefix>onCMAKE_PREFIX_PATH; - or just add
include/to your include path (header-only; Eigen required).
Eigen is found via find_package(Eigen3), with an automatic pinned download
as fallback when building this repo standalone.
Python — pip install ellipsoid-tree (or pip install git+https://github.com/NickAlger/ellipsoid_tree)
builds the ellipsoid_tree module via scikit-build-core; points are rows ((n, d)
arrays, scipy-style), and figures render inline in Jupyter. Alternatively,
build the module without pip via
cmake -B build -DELLIPSOID_TREE_BUILD_PYTHON=ON && cmake --build build --target ellipsoid_tree_python.
For a worked walkthrough, see the Python quickstart notebook.
Compile-time and memory
ellipsoid_tree is header-only but includes Eigen, so every translation unit that
includes an ellipsoid_tree header pays Eigen's compile cost — roughly 1.5 s and ~180 MB
of RAM per file (a precompiled header cuts that to ~0.2 s and ~125 MB). This is
normal for an Eigen-based library, but it adds up if you include ellipsoid_tree in many
files. On a memory-limited machine, don't over-parallelize the build: keep at
least ~1 GB of RAM per compile job (for example cmake --build . -j N with N no
larger than your RAM in GB), or set up a precompiled header on your side.
Examples ("show, don't tell")
Every page in docs/examples/ is a complete program, its
actual output, and the figures it draws, which are regenerated from the code by
docs/generate_examples.py and checked in CI:
- Pairwise intersection tests, visually
- Which points of a cloud does an ellipsoid cover?
- EllipsoidTree spatial queries
- Batch picking
- SimplexMesh: location, closest points, mesh × ellipsoid
- Mesh vs mesh cell pairs
- KDTree nearest neighbors and its partition
- Rendering a CG1 finite element field
From Python: non-overlapping ellipsoid batches, in a Jupyter notebook — the batch-picking example via the bindings, with figures rendered inline (GitHub renders the executed notebook).
Building and testing
Header-only: add include/ to your include path. To run the tests and
examples:
cmake -S . -B build && cmake --build build -j $(nproc) && ctest --test-dir build
python3 docs/generate_examples.py # regenerate the example documentation
References and acknowledgements
ellipsoid_tree grew out of the point-spread-function probing developed in N. Alger, T. Hartland, N. Petra, and O. Ghattas, Point spread function approximation of high-rank Hessians with locally supported nonnegative integral kernels, SIAM Journal on Scientific Computing 46(3), 2024, A1658–A1689 — the origin of the non-overlapping ellipsoid batch-picking problem. The algorithms and tools it builds on:
- I. Gilitschenski and U. D. Hanebeck, A Direct Method for Checking Overlap of Two Hyperellipsoids, Sensor Data Fusion: Trends, Solutions, Applications (SDF), 2014 — the ellipsoid–ellipsoid overlap test.
- R. P. Brent, Algorithms for Minimization without Derivatives, Prentice-Hall, 1973 — the scalar minimizer used inside it.
- Eigen for linear algebra; stb_image_write (public domain) for PNG encoding; doctest for testing; doxygen-awesome-css for the API-reference theme.
MIT license.
Release files for ellipsoid-tree 0.2.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 | |
|---|---|---|---|
| ellipsoid_tree-0.2.0.tar.gz | 579.8 kB | Details |
Built distributions (wheels)
Total release size: 11.5 MB
Release files / ellipsoid_tree-0.2.0.tar.gz
| Download URL | ellipsoid_tree-0.2.0.tar.gz |
|---|---|
| Size | 579.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53fbbea53a4b15d161ab200ba06b16ab73b06615fb037968d8696b92125a5f9c
|
|
BLAKE2b-256 checksum How to use checksums |
33dbf9e69995ee72022b210372efe95bc37b3cd0735a62fabd1b133c16e034d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp313-cp313-win_amd64.whl
| Download URL | ellipsoid_tree-0.2.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 642.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d260d0186e78389226064c498c33aae0d15c1dc2385aa8d545db4f37aada146d
|
|
BLAKE2b-256 checksum How to use checksums |
cf0c65963532d090d8889e88a70859f3ba2967720ddd4030b38bf317515e3b7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ellipsoid_tree-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 545.9 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c2e5215f7eebd5b8b26ffe951ede8cc2a7028dd2e0e2b2674d611a9a64c6cfda
|
|
BLAKE2b-256 checksum How to use checksums |
ea2d3b095e0e06f711adbd2e74bd95156f12f95fd76a66ad55f619d4ab3bdb76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | ellipsoid_tree-0.2.0-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3457b2cf227751a68fd4b0732e142eda189647d066a5eb7ead2b3b017bff8507
|
|
BLAKE2b-256 checksum How to use checksums |
09378c3ce2cc3d0e7596ba1ac8e6d07ff00ade12c1fe2dfbdb1ecbaee6a95f63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp312-cp312-win_amd64.whl
| Download URL | ellipsoid_tree-0.2.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 642.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cae4444557ba70c84b1a7a440f3400b0cb76970245c9b59a5d0fe50fef4e5ad0
|
|
BLAKE2b-256 checksum How to use checksums |
595d1fa2b00071bb6663a93c5b5ea48770e27e4b1d9d9f9b8e6c1e266c905f72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ellipsoid_tree-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 545.8 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b896a354e328b77bd43caf4701572d13affb2d8af01832068197837cc245e7f
|
|
BLAKE2b-256 checksum How to use checksums |
80f5aa2fdfb470ad8ed6700d548daaa6ac29fa99c2800b944ad4c9174bc22fe6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | ellipsoid_tree-0.2.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
a87a5773328ec1407b6feb22e2acfb562524a91c7dd43cf064f0957d24f40f9d
|
|
BLAKE2b-256 checksum How to use checksums |
9bfeba0a678f6a78ea9a65247a4e77c8c01aa9994837f55f02206ab2b233e71f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp311-cp311-win_amd64.whl
| Download URL | ellipsoid_tree-0.2.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 639.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9842298123fecc607e5bea092e1c8d4587efb3dced3fa6d8c95c4381c840d533
|
|
BLAKE2b-256 checksum How to use checksums |
2b2af75a40a7bc89110f0ac89043d0ee1c4cb9aa673cadec473f54fde5471772
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ellipsoid_tree-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 541.4 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e36a00b7f1c4e494d4e026c7d637d4f4a60ceb0f10f0db73aca2dae942a3b419
|
|
BLAKE2b-256 checksum How to use checksums |
3270418d76e75139a1343dc61f264f055c808ea2077676c4e5e9048b17c1d552
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | ellipsoid_tree-0.2.0-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 998.1 kB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
81c38704ca349a4c41966cfa334cec4d5229664321796866d531cc821e639c51
|
|
BLAKE2b-256 checksum How to use checksums |
591dcced000820a58197aca8ad06d0af9a44c5f00d0e966509996fc64000f5b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp310-cp310-win_amd64.whl
| Download URL | ellipsoid_tree-0.2.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 638.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
894f19f2a6ce8f11282dca7d08ac228ab8cfba244a3d15d21fb742f6f5b3a749
|
|
BLAKE2b-256 checksum How to use checksums |
35d8a9c5bacff31df66a448e885cdff6d668b468e933a88ea8365c5deaffa47c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ellipsoid_tree-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 540.6 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8f509c24b8d789368c19444bf2c24ec10be00577acc8205b7a7652c82a138cae
|
|
BLAKE2b-256 checksum How to use checksums |
98e61f6f732bfc22e9937c4afa632d14484b84a92926e6daf4ad3c01b55bf045
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | ellipsoid_tree-0.2.0-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 995.4 kB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
ef9b4fa117eac77e8b06752dfd470039e49bb2a47b6c0fd31be3f5ff9afe3e99
|
|
BLAKE2b-256 checksum How to use checksums |
44632b3dfa04487fa1b7421c4240c717781f50cf644a4649518a9de7ab3e1f8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp39-cp39-win_amd64.whl
| Download URL | ellipsoid_tree-0.2.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 638.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0fafc9001f0f105ec645be54b934d050965393a9175451b87eab511856b7e2d1
|
|
BLAKE2b-256 checksum How to use checksums |
5df8a38c97ade0efdbba121985d0fdd0671fe6360bc3d28aa2c85b924abaf5ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | ellipsoid_tree-0.2.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 540.7 kB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2bedff7eb5f58b0a2d108f14e70aa9d30ae96f1236de9ffef94b63f5c36ab575
|
|
BLAKE2b-256 checksum How to use checksums |
71d9aaa52520b2f83da232f34958451409c9233a0e254a7f77a9b835a406bd3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency logRelease files / ellipsoid_tree-0.2.0-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | ellipsoid_tree-0.2.0-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 995.6 kB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
7603eba08b3785660319ce65a4ecfb569c6b13d7ff215f039454e51c354ab6c7
|
|
BLAKE2b-256 checksum How to use checksums |
d5dbbd9b8f5f7798a351678a78b184ea64c4aa5b17c7a5a7179d43dc27ddedb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 20, 2026.
Transparency log