Skip to main content

cave-closure

Independent Gaussian weighted least-squares correction of oriented survey multigraphs in local ENU metres. The Rust core has no consumer, geographic, Tauri, or Python dependency. This source tree is standalone; upstream and registry identities must be supplied before publication or submodule registration.

The caller selects spatial or marginal-horizontal loop closure. Horizontal mode requires an explicit preserved-Z value for every station. Covariance models include supplied SPD matrices, equal isotropic variance, length-proportional variance, and uncalibrated relative weights. No variance floor is inserted.

Exact equivalences and offsets are contracted before solving. Hard controls may select individual axes. Soft controls identify translation directions without being replaced by artificial gauges. Uncontrolled directions receive reported, deterministic gauges unless RequireControl behavior is requested.

The default backend eliminates unknown station blocks with at most two neighbors, solves the remaining system with block-Jacobi PCG, and reconstructs coordinates. The optional sparse-direct feature adds maintained sparse QR of the whitened design and sparse Cholesky of the normal system. Backends are explicit choices. There is no automatic fallback or regularization.

use cave_closure::{json, prepare, PrepareOptions, SolveConfig, Workspace, SolveControl};
let problem = json::from_json(include_str!("tests/fixtures/controlled_tree.json"))?;
let prepared = prepare(&problem, &PrepareOptions::default())?;
let result = prepared.solve(&SolveConfig::default(), &mut Workspace::default(), &SolveControl::default())?;
result.require_converged()?;
# Ok::<(), cave_closure::Error>(())
from cave_closure import prepare_json, coordinates

prepared = prepare_json(input_json)
result = prepared.solve()
result.require_converged()
positions = coordinates(result)

prepare_arrays is the ordinary owned bulk API. prepare_buffers accepts C-contiguous native unsigned 64-bit endpoint indexes and float64 displacement and covariance buffers. Both take mode=LoopClosureMode.SPATIAL or mode=LoopClosureMode.HORIZONTAL, with LoopClosureMode imported from cave_closure. Horizontal mode also requires preserved_z. LoopClosureMode is a StrEnum with values "spatial" and "horizontal"; existing string arguments remain accepted. NumPy is optional. Preparation copies input; exporters must not be modified concurrently while the copy runs. Prepared objects and results are immutable. Concurrent solves have separate workspaces and may share a preparation. CancellationToken supports worker cancellation; main-thread Python signals retain their exception type. Direct factorization observes cancellation before and after its external call.

Both bulk APIs accept algorithm=LoopClosureAlgorithm.LSE_REDUCED_PCG (the default), LSE_UNREDUCED_PCG, LSE_SPARSE_QR, or LSE_SPARSE_CHOLESKY. Import LoopClosureAlgorithm from cave_closure; it is a Rust enum exposed through PyO3. Standard Python builds include all four algorithms. Spatial and horizontal modes select loop-closure dimensions independently of the algorithm.

The repository uses one Cargo package with Rust sources in src_rust/ and Python sources in src_python/. The optional python feature enables the bindings; Maturin enables it and all numerical backends for Python builds. Rust consumers use the same library without enabling Python.

Release wheels use three ABI paths: abi3 for ordinary CPython, abi3t for free-threaded CPython 3.15 and newer, and a version-specific legacy wheel for free-threaded CPython 3.14. Python 3.14 predates the free-threaded stable ABI and cannot load an abi3t wheel. In .github/workflows/release.yml, MINIMUM_PYTHON_VERSION selects the abi3 build interpreter and MINIMUM_FT_PYTHON_VERSION selects the abi3t build interpreter; the legacy 3.14t build remains separate. The corresponding ABI floors are declared by the abi3 and abi3t features in Cargo.toml. CI continues to test each supported Python version, including both free-threaded interpreters.

Run checks directly from this tree:

cargo test --locked --all-features
cargo fmt --all -- --check
cargo clippy --locked --workspace --all-targets --all-features -- -D warnings
uv run maturin build --features abi3 --out dist
uv run pytest
uv run --frozen python scripts/generate_stubs.py --check

Native Python stubs in src_python/cave_closure/_native/__init__.pyi are generated from Rust using pyo3-stub-gen. Run uv run --frozen python scripts/generate_stubs.py after changing a binding to regenerate and format them. Add --check to compare without modifying files. The generate-stubs pre-commit hook runs this check, including in CI. src_python/cave_closure/__init__.pyi re-exports the generated API and describes the Python helpers.

See the numerical contract, interchange contract, and artifact qualification. The persisted fixture corpus checks every solver against independent references. AGPL terms are in LICENSE.

Metadata

Release files for cave-closure 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cave-closure 0.0.2
File Size Uploaded Provenance Actions
cave_closure-0.0.2.tar.gz 96.7 MB With provenance Details for cave_closure-0.0.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for cave-closure 0.0.2
File Actions
cave_closure-0.0.2-cp315-abi3.abi3t-win_amd64.whl CPython 3.15 abi3t, abi3 Windows x86-64 Details for cave_closure-0.0.2-cp315-abi3.abi3t-win_amd64.whl
cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 abi3, abi3t Linux glibc 2.17+ x86-64 Details for cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.17+ ARM64 Details for cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
cave_closure-0.0.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl CPython 3.15 abi3t, abi3 macOS 11.0+ ARM64 Details for cave_closure-0.0.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl
cave_closure-0.0.2-cp315-abi3.abi3t-macosx_10_12_x86_64.whl CPython 3.15 abi3t, abi3 macOS 10.12+ x86-64 Details for cave_closure-0.0.2-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
cave_closure-0.0.2-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for cave_closure-0.0.2-cp314-cp314t-win_amd64.whl
cave_closure-0.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for cave_closure-0.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
cave_closure-0.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for cave_closure-0.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
cave_closure-0.0.2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for cave_closure-0.0.2-cp314-cp314t-macosx_11_0_arm64.whl
cave_closure-0.0.2-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details for cave_closure-0.0.2-cp314-cp314t-macosx_10_12_x86_64.whl
cave_closure-0.0.2-cp311-abi3-win_arm64.whl CPython 3.11 abi3 Windows ARM64 Details for cave_closure-0.0.2-cp311-abi3-win_arm64.whl
cave_closure-0.0.2-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for cave_closure-0.0.2-cp311-abi3-win_amd64.whl
cave_closure-0.0.2-cp311-abi3-win32.whl CPython 3.11 abi3 Windows x86-32 Details for cave_closure-0.0.2-cp311-abi3-win32.whl
cave_closure-0.0.2-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details for cave_closure-0.0.2-cp311-abi3-musllinux_1_2_x86_64.whl
cave_closure-0.0.2-cp311-abi3-musllinux_1_2_ppc64le.whl CPython 3.11 abi3 Linux musl 1.2+ PowerPC 64-le Details for cave_closure-0.0.2-cp311-abi3-musllinux_1_2_ppc64le.whl
cave_closure-0.0.2-cp311-abi3-musllinux_1_2_i686.whl CPython 3.11 abi3 Linux musl 1.2+ x86-32 Details for cave_closure-0.0.2-cp311-abi3-musllinux_1_2_i686.whl
cave_closure-0.0.2-cp311-abi3-musllinux_1_2_armv7l.whl CPython 3.11 abi3 Linux musl 1.2+ ARMv7l Details for cave_closure-0.0.2-cp311-abi3-musllinux_1_2_armv7l.whl
cave_closure-0.0.2-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details for cave_closure-0.0.2-cp311-abi3-musllinux_1_2_aarch64.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl CPython 3.11 abi3 Linux glibc 2.17+ PowerPC 64-le Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl CPython 3.11 abi3 Linux glibc 2.17+ PowerPC 64-be Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-32 Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl CPython 3.11 abi3 Linux glibc 2.17+ ARMv7l Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
cave_closure-0.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details for cave_closure-0.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
cave_closure-0.0.2-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for cave_closure-0.0.2-cp311-abi3-macosx_11_0_arm64.whl
cave_closure-0.0.2-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for cave_closure-0.0.2-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 131.8 MB

Release files / cave_closure-0.0.2.tar.gz

Download URL cave_closure-0.0.2.tar.gz
Size 96.7 MB
Tags Source
SHA-256 checksum
How to use checksums
7e4554c1fb80789de4742ad56f1d01221efd699088227e6c68f3e85553632633
BLAKE2b-256 checksum
How to use checksums
e3792270aa5bd39495e03df2d16499a39f8fff6241fab53a37c1efd46f804c25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp315-abi3.abi3t-win_amd64.whl

Download URL cave_closure-0.0.2-cp315-abi3.abi3t-win_amd64.whl
Size 1.3 MB
Tags CPython 3.15 Windows x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
9fbaa9c51103f42f07210560355f33e9a453b32292c42b047c4376c70406d15f
BLAKE2b-256 checksum
How to use checksums
c0a2f0c4f81ac7e638fb4c5e65afe8cf133ec8e079234f51b6093fdfdf2d4fc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.7 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
a8489b98886cbc3722f362f6ec736adf7b769b8555714aba0b1ab88ca2dcc556
BLAKE2b-256 checksum
How to use checksums
f068b9d8873a7fb86cc00b8574f96b8d5ff5bd6cea384d5ded0b206a2f9702ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.2 MB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
c146070313dc09c61411a45790f3143801e58bdb6a940a115780c633125ebb37
BLAKE2b-256 checksum
How to use checksums
574d10e6e71fbd5e9bb82ec4ae6dc39fadbd29fdfad05509bda982464885b813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.15 abi3 abi3t macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b85ec8da94369356a14524d4608a8fee185c956f277a97f9a774e1d5c7a7623
BLAKE2b-256 checksum
How to use checksums
b006cf9ee982dbb2de7476b68d6296ff18e8317c767be9dd0f6b4b1c018e5c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp315-abi3.abi3t-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.2-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.15 abi3 abi3t macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
96832edaeee1aadf34bb68104e44cc463a7bf887c50aee18b53b4247eaf51fd6
BLAKE2b-256 checksum
How to use checksums
83219d1590d91386dc6bde2aec3f24cd7c5ca8a70a4c828379e006c736bc96aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp314-cp314t-win_amd64.whl

Download URL cave_closure-0.0.2-cp314-cp314t-win_amd64.whl
Size 1.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
36cee1be7d6f53fd981318f7c5f2a6c506de23d7085ee82307d1aae318d5ae78
BLAKE2b-256 checksum
How to use checksums
f0806d302ff1ff6f6a9e5a5bd8340cc60b6f719fd810f3aba30b5a1656f4993b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5b72f1bd63b0b1c823a3603ca820ae65ee64f97d0a9f07aa3818dd716f45bc4f
BLAKE2b-256 checksum
How to use checksums
4180bf867ea464af21737e7f7f31bc3ce480bb7f1cb207b5ff61af24a64f1b01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cc89adb02dde789464cf1d948d7be2594c1b9a3ee119d2baf73f802a9abaf0ce
BLAKE2b-256 checksum
How to use checksums
3dd031638e64fea8fa5a93d46284482ba9705bb69146b0488840a0ad16bea679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp314-cp314t-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.2-cp314-cp314t-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9afba6f0a63daa3ff6deec88e277136d621d2031147791445d738e547448ae11
BLAKE2b-256 checksum
How to use checksums
9ba0c10f3747a82e521d6b0aba81c94634bd64342f0bb26321a04a8909cf49e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.2-cp314-cp314t-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
8dde5ea126484db6882c56b5d913202ccceaa1daded90a6427902bbaedfe161f
BLAKE2b-256 checksum
How to use checksums
9cf1504f9b1cb41ceba3baac2099cb98ef5c786d518da956eb4be26d5b81c34b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-win_arm64.whl

Download URL cave_closure-0.0.2-cp311-abi3-win_arm64.whl
Size 924.3 kB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
6037ac8bdc073dc499471350557d77c4c99a3d782ee7ef210e15b291f803f726
BLAKE2b-256 checksum
How to use checksums
fe12d6e0a35d8f0576f1808b418e95d29a865a3bf730b55ef692b3728daaf145
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-win_amd64.whl

Download URL cave_closure-0.0.2-cp311-abi3-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
1046e317d7702740d9013c6ce949feeab598907b7dc7fef9349f3133be16ed52
BLAKE2b-256 checksum
How to use checksums
8e8fd7ba047baf7742b7afcd6b2662bff650813957f6055740bffb0823ae5e20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-win32.whl

Download URL cave_closure-0.0.2-cp311-abi3-win32.whl
Size 936.2 kB
Tags CPython 3.11 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
7b8c936ea8cbd8bba2587217904ef7687e7fd32291f157c042c5c0e6abbf174f
BLAKE2b-256 checksum
How to use checksums
63e3cbad2f96c82a852cd901be216d783c612e8091e8622a1b84240f8cf1badf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL cave_closure-0.0.2-cp311-abi3-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
406637ac6a7448f3321d6059a997107164d2823b4f31d6bb0f68227f22dfdd62
BLAKE2b-256 checksum
How to use checksums
98797d9f048a6ac9d881030447f9b2f640d93edd28e3e7d85c8282fb1be810ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-musllinux_1_2_ppc64le.whl

Download URL cave_closure-0.0.2-cp311-abi3-musllinux_1_2_ppc64le.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.2+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
f0cafd8f843f1663a5551f87e1ea55bfc3af1d891741589417ddc6208086834d
BLAKE2b-256 checksum
How to use checksums
f7179d3a0ec91344199735a842f0b1c84bb6ae688f94888aa4d03b8304af561b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-musllinux_1_2_i686.whl

Download URL cave_closure-0.0.2-cp311-abi3-musllinux_1_2_i686.whl
Size 1.5 MB
Tags CPython 3.11 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
e53bab92ac46d48cfc2ea329c5a470fdd32507e1122114e9b97c81ae3ed90385
BLAKE2b-256 checksum
How to use checksums
15511a68eb81010e6f1fb737b36d05d465c03246d82e3bca7563409103cdaa2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-musllinux_1_2_armv7l.whl

Download URL cave_closure-0.0.2-cp311-abi3-musllinux_1_2_armv7l.whl
Size 1.4 MB
Tags CPython 3.11 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
3a302a081aa4f9f072a37fe4b976adebb6e42398c1f42e9cdbff24cd69a962a9
BLAKE2b-256 checksum
How to use checksums
aef82a13ac0d4973122df64c8c0b73aac16d868a0bb9f14ddffaff6c1612649b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL cave_closure-0.0.2-cp311-abi3-musllinux_1_2_aarch64.whl
Size 1.4 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
debd60095298ffeee20fd423f2bd7dc9775a2b54e9e0a79261219ab23c2aeb38
BLAKE2b-256 checksum
How to use checksums
8e7ecf3fe9c86b306f59e48ca6ccb84077eec4fe020c12ed4f6d27734a01a30b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
41b216d5425d326f2404edea34a6b15d517a227a98c526bcd8b93c17074cee34
BLAKE2b-256 checksum
How to use checksums
5d90dba3726a7f5a72a692bd9a4d091251ba9d8b72688b4db1b3335a1978e8eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
a58f79b3d73e2386a74a5f34aecb80c5deffe1d69a64031bc9f8558656859ad7
BLAKE2b-256 checksum
How to use checksums
dd4f3a21567d375861987d6949d942a7b330a79bf1bf70acf3f0c0d44acb256f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-be abi3
SHA-256 checksum
How to use checksums
03225f6fb47b56c17aefe45be08f34fff4fa9d07cb503cfa374ecb556ff94051
BLAKE2b-256 checksum
How to use checksums
8162dc23d19d40e1a9be0ca64fb474f20e37f6ec824b07a603658eec7ce4e1d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
e5336a1e99f805f3f834c0553963834ef58f784c13a8c18ff607f515d7166660
BLAKE2b-256 checksum
How to use checksums
e3d95c3f230e8374642d350f55b1a5941e8d388b91e77f84d9c5514c93d2f80d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 1.1 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
5c83c80639c6665bed10aef9c07f8fa4ceb2bd99df7e5c7768b0d11f5237b2b3
BLAKE2b-256 checksum
How to use checksums
7545b1d01ba7ae4242a69a2431ced754ce99582eac59c6d1f5f76aaf1db02bc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
5a4e69959760fff9125477b7621431678ab4c2d0c073eb9daefca1ce10ad1c11
BLAKE2b-256 checksum
How to use checksums
90825fcfb00766e0a3cbd30f3c13e074b34fef1007526a0183ab9447c6b91038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.2-cp311-abi3-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b9cfef7c3781d6473e7db56b78abc6a0dcb6f282bd59aa840de14617432929a2
BLAKE2b-256 checksum
How to use checksums
d164fd970f3b6471bc28a1a0a99ee0f048559cb9e021be958d310cef80e5d42f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Release files / cave_closure-0.0.2-cp311-abi3-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.2-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a90ddc5a2a88798dac9b7ccf157c667f1ea0c521c7bf354fe483dfa128fc8fe7
BLAKE2b-256 checksum
How to use checksums
5aa261e32aaf084762d5102f91bd2da4f293f6c3d995df9165b2e67b81231f08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 13, 2026.

Transparency log

Security for cave-closure 0.0.2

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.

Full provenance

All 27 files in this release have been uploaded with provenance metadata.

Select from 27 files

Attestation for cave_closure-0.0.2.tar.gz

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 Nov 13, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page