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.

Inverse-length weighted L1 (least-absolute-deviations) loop closure is also available through the owned measurement API; see measurement-based loop closure. All numerical work runs in the native library, including sparse LP assembly and the HiGHS solve.

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.

CI and release use the same native platform matrix in .github/workflows/workflow.yml and .github/workflows/release.yml: Linux, Windows, and macOS on both x86-64 and ARM64. CI tests every configured ordinary and free-threaded Python interpreter. Release builds the corresponding wheel ABI variants. Builds run directly on those runners, without containers or cross-compilation.

Release wheels use three ABI paths: abi3 for ordinary CPython, abi3t for free-threaded interpreters supporting the stable ABI, and an interpreter-specific legacy free-threaded wheel. Build floors are selected by MINIMUM_PYTHON_VERSION and MINIMUM_FT_PYTHON_VERSION in the release workflow; the corresponding ABI floors are declared in Cargo.toml. Every wheel enables both numerical backends, sparse-direct and l1. Each platform builds one ordinary stable-ABI wheel at the minimum interpreter, covering compatible ordinary Python versions without rebuilding for each interpreter. See artifact qualification for the runner matrix and Linux compatibility limits.

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 --locked --release --features abi3,sparse-direct,l1,pyo3/extension-module --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 measurement-based loop closure, 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.4

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.4
File Size Uploaded Provenance Actions
cave_closure-0.0.4.tar.gz 17.1 MB With provenance Details for cave_closure-0.0.4.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for cave-closure 0.0.4
File Actions
cave_closure-0.0.4-cp315-abi3.abi3t-win_arm64.whl CPython 3.15 abi3t, abi3 Windows ARM64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-win_arm64.whl
cave_closure-0.0.4-cp315-abi3.abi3t-win_amd64.whl CPython 3.15 abi3t, abi3 Windows x86-64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-win_amd64.whl
cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_x86_64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.39+ x86-64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_x86_64.whl
cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_aarch64.whl CPython 3.15 abi3t, abi3 Linux glibc 2.39+ ARM64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_aarch64.whl
cave_closure-0.0.4-cp315-abi3.abi3t-macosx_11_0_arm64.whl CPython 3.15 abi3t, abi3 macOS 11.0+ ARM64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-macosx_11_0_arm64.whl
cave_closure-0.0.4-cp315-abi3.abi3t-macosx_10_12_x86_64.whl CPython 3.15 abi3, abi3t macOS 10.12+ x86-64 Details for cave_closure-0.0.4-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
cave_closure-0.0.4-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details for cave_closure-0.0.4-cp314-cp314t-win_arm64.whl
cave_closure-0.0.4-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for cave_closure-0.0.4-cp314-cp314t-win_amd64.whl
cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ x86-64 Details for cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_x86_64.whl
cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ ARM64 Details for cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_aarch64.whl
cave_closure-0.0.4-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.4-cp314-cp314t-macosx_11_0_arm64.whl
cave_closure-0.0.4-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.4-cp314-cp314t-macosx_10_12_x86_64.whl
cave_closure-0.0.4-cp311-abi3-win_arm64.whl CPython 3.11 abi3 Windows ARM64 Details for cave_closure-0.0.4-cp311-abi3-win_arm64.whl
cave_closure-0.0.4-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for cave_closure-0.0.4-cp311-abi3-win_amd64.whl
cave_closure-0.0.4-cp311-abi3-manylinux_2_39_x86_64.whl CPython 3.11 abi3 Linux glibc 2.39+ x86-64 Details for cave_closure-0.0.4-cp311-abi3-manylinux_2_39_x86_64.whl
cave_closure-0.0.4-cp311-abi3-manylinux_2_39_aarch64.whl CPython 3.11 abi3 Linux glibc 2.39+ ARM64 Details for cave_closure-0.0.4-cp311-abi3-manylinux_2_39_aarch64.whl
cave_closure-0.0.4-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details for cave_closure-0.0.4-cp311-abi3-macosx_11_0_arm64.whl
cave_closure-0.0.4-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details for cave_closure-0.0.4-cp311-abi3-macosx_10_12_x86_64.whl

Total release size: 75.3 MB

Release files / cave_closure-0.0.4.tar.gz

Download URL cave_closure-0.0.4.tar.gz
Size 17.1 MB
Tags Source
SHA-256 checksum
How to use checksums
a9759089d2bf9b0ffae8b12fc5d9d1c907c6cd565bff898fa3f4bf911f39d4bd
BLAKE2b-256 checksum
How to use checksums
008c6f31d11b77f45930470a1da84910bd5e7b7a6eddbff499b6d42efdbe6822
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp315-abi3.abi3t-win_arm64.whl

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-win_arm64.whl
Size 2.6 MB
Tags CPython 3.15 Windows ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
3a161ca43a7a4ca10ee738f762d42a999b65384dd54ebd16a868a9f96af1e257
BLAKE2b-256 checksum
How to use checksums
716d5635de959b515d95c9e4c2795a17230e611a2a3bdce1dbb6b3f41973cc92
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-win_amd64.whl
Size 3.1 MB
Tags CPython 3.15 Windows x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
428afd129b34dfb344808f410770d6f665baad4e8ff77208e91e041eefda7440
BLAKE2b-256 checksum
How to use checksums
314234f9fe50a2d508521ff71878b86d4e0763d1fadbdd9234f4a71c667b306f
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_x86_64.whl

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_x86_64.whl
Size 4.0 MB
Tags CPython 3.15 Linux glibc 2.39+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
542ad8cb2a6f75b0b0f94d60f402d08ba1603b25558eed855f0225a7d0410839
BLAKE2b-256 checksum
How to use checksums
abddf0a1f5f32f8415c530db2a1552b011ea25c6809a30c7f41c5783ad81c1ad
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_aarch64.whl

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-manylinux_2_39_aarch64.whl
Size 3.4 MB
Tags CPython 3.15 Linux glibc 2.39+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
ca267a946af9e7c6872e8c47ca7d8aa2b65d77efb3dc02d779cb82feb39f37bd
BLAKE2b-256 checksum
How to use checksums
dbe4b207cb74966ef40ba141ab566b1470df61fbb65a3fb6f1c19b8c598addf5
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.15 abi3 abi3t macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e63c0037c514e3f916bc49e8e0a0bb1dd411d0cba048db7e217fa897e36c1735
BLAKE2b-256 checksum
How to use checksums
8d887fcb08abbfa7f690ef4283c9e252b0c0eac0fde792ec80d835efc46b978b
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
Size 3.5 MB
Tags CPython 3.15 abi3 abi3t macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d473aae8fbd901b2d10ed47e01d70b598969b6fe9fb5fa4595bb02923c87845e
BLAKE2b-256 checksum
How to use checksums
023e5803d58974984e761d5bfdb3b60ee9f0c978c6c8f1b4f9315bd8a95ffe59
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp314-cp314t-win_arm64.whl

Download URL cave_closure-0.0.4-cp314-cp314t-win_arm64.whl
Size 2.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
2a1e68512d6067b1c34a11bcb5937a230e48965a9657bb21589244af4227559b
BLAKE2b-256 checksum
How to use checksums
3487cb7a133d42a21e1490c668b5af6936c8f70cab586c43e8e62ab1d780e99f
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp314-cp314t-win_amd64.whl
Size 3.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
7fd9360d146109ae59d832acd74ed51b5d6daf8af1def9a38a50421d779bed6d
BLAKE2b-256 checksum
How to use checksums
9189c0d1071613fc578401cb4cda3c273a190cce346f2d0f545a0514e318c796
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_x86_64.whl

Download URL cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_x86_64.whl
Size 4.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
d9eb66f24990ca095ebf03e4d53146db89101897bb3a7a8c09fc10c03950eb0f
BLAKE2b-256 checksum
How to use checksums
faa3757af8325c28ea856e762fbe0635648f4b5e21dd5568f21801290d47c474
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_aarch64.whl

Download URL cave_closure-0.0.4-cp314-cp314t-manylinux_2_39_aarch64.whl
Size 3.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
11688a0ef9aa2b9bc62684c043c39b3cbfc08a5c3496f4e6c7ace4dde903433f
BLAKE2b-256 checksum
How to use checksums
ea2ddc92dc5bc7b016b661e46c22646da290ef6a2a4b1cd37846c06157bcb89b
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp314-cp314t-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b675e776647d6a810805c70fbd7901146b2c98e43cdf3de9e0ba9cb791344e15
BLAKE2b-256 checksum
How to use checksums
c0e39ae0c6642dbe917a3f4a1712a69ee141874f114524e82aee7a36e8be9cdf
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp314-cp314t-macosx_10_12_x86_64.whl
Size 3.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d5b7b2f0324fcba56cec8facf1dd356c3aa5ca275fb0bb558b2c30d576a63464
BLAKE2b-256 checksum
How to use checksums
7267992d23a39eab1692ee4abb46aae3e96f11bee8138552f85b58027bc1656a
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp311-abi3-win_arm64.whl
Size 2.6 MB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
6f113fb4f7dc54c88ee332d180deffcaa12e75e4262934162e5786210dca0b76
BLAKE2b-256 checksum
How to use checksums
628ad522512de39779a7b42342032c5af0ad60819989f70e8b531f1daa6ce5ef
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp311-abi3-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
7b9d734e724a28d3d38b86bf0e22cc41d67f7b512b3e5a99dd1f800164e916a2
BLAKE2b-256 checksum
How to use checksums
54167e72bee77b901634cd2ba2b0f5a2063b1ea7f10f2565ea4c513d7d3fb38c
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp311-abi3-manylinux_2_39_x86_64.whl

Download URL cave_closure-0.0.4-cp311-abi3-manylinux_2_39_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
51097068fe47e69a8ea90179699b4448d62cdecc3f2a722ba841a01de7b320d8
BLAKE2b-256 checksum
How to use checksums
c2949db2c4f747b0459675e52ebb5eac5a4183d67c601cf9e504d4d3908922cb
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 14, 2026.

Transparency log

Release files / cave_closure-0.0.4-cp311-abi3-manylinux_2_39_aarch64.whl

Download URL cave_closure-0.0.4-cp311-abi3-manylinux_2_39_aarch64.whl
Size 3.4 MB
Tags CPython 3.11 Linux glibc 2.39+ ARM64 abi3
SHA-256 checksum
How to use checksums
c84634e1b952d72bb47aa5ff26e9fa80386c370dbd776804a686f1658951db1b
BLAKE2b-256 checksum
How to use checksums
218845069a3d537513b88e4fb4278489a1eb850391d1f08bddd9cca7693c8e41
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp311-abi3-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
df94b5937ea133f7f9bded2c9c76805b7ae66ca66271997a63a3bca6b9c43311
BLAKE2b-256 checksum
How to use checksums
1bd74ed07a296a8716a24048667781fc55f70edc06ba4ee3f1a98539beb1ce5e
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 14, 2026.

Transparency log

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

Download URL cave_closure-0.0.4-cp311-abi3-macosx_10_12_x86_64.whl
Size 3.5 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
af5315ffd4d84961759eafb43bb1ed70bdd78948c5866b6925542ac77bd102ba
BLAKE2b-256 checksum
How to use checksums
d7fda88bfab04d0c3bdf48b0c0b8d88ebb324000f4b01c7c5044a32702620167
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 14, 2026.

Transparency log

Security for cave-closure 0.0.4

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 19 files in this release have been uploaded with provenance metadata.

Select from 19 files

Attestation for cave_closure-0.0.4.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 14, 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