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 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.3

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

Built distributions (wheels)

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

Total release size: 57.1 MB

Release files / cave_closure-0.0.3.tar.gz

Download URL cave_closure-0.0.3.tar.gz
Size 17.1 MB
Tags Source
SHA-256 checksum
How to use checksums
830d17f843e892c22e0e47d4abc622bc63a371ee13f92eef71f8b2b5cf25ef84
BLAKE2b-256 checksum
How to use checksums
5a5ed407409d7380057e4fc70b3e3a6c599726ca7032ba3ba3409f9615f5fab3
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.3-cp315-abi3.abi3t-win_amd64.whl

Download URL cave_closure-0.0.3-cp315-abi3.abi3t-win_amd64.whl
Size 1.5 MB
Tags CPython 3.15 Windows x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
f92b24b97ec7fcc9554dcbec1c28551afe6399dc919a707c86db0025c9be4fb6
BLAKE2b-256 checksum
How to use checksums
22a8036b3f97798190744de050f2a0be5062aa062c774ed107d3043c5103866d
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.3-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.3-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.9 MB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 abi3 abi3t
SHA-256 checksum
How to use checksums
f2f05dba47c884a71645fcac074769643ecc2fbd65d02ab66a548769ee1d4cf5
BLAKE2b-256 checksum
How to use checksums
bb353b9e10bea5a21b26ab293df2f13bfed3f55801b13cb3dd184edcd65cb6da
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.3-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.3-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.4 MB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 abi3 abi3t
SHA-256 checksum
How to use checksums
9a33794dbcf5c0af59db871bf5c6c52e3fd709e01e3be37e79f1439b8ce2e6d3
BLAKE2b-256 checksum
How to use checksums
068c7bd2375a476f73b82a4292fcfb546b819583b131865e1a846e70de60c1c1
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.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.3-cp315-abi3.abi3t-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.15 abi3 abi3t macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7fbf499024696439eb8ecae85f083a16ced0822ecfa7cadb08e40f74bcf506ea
BLAKE2b-256 checksum
How to use checksums
ed4d289ab0f5024220e6874bdff0ea4e329f6140876c655660fc76f7e125a9f8
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.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.3-cp315-abi3.abi3t-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.15 abi3 abi3t macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
dc8fd09551d8d60f06f5dd653a5d7c81dd912827c4a0d295f6cf2b7b7d492f0a
BLAKE2b-256 checksum
How to use checksums
6ffe2c5895f1242add9fa9524b2ddb1e3e486ae1f288d96a3b5abce8a6eb601a
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.3-cp314-cp314t-win_amd64.whl

Download URL cave_closure-0.0.3-cp314-cp314t-win_amd64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
398d29c782f7bac100bfd97a55b843a0175b970f43f819de1a200c76017b912c
BLAKE2b-256 checksum
How to use checksums
347c7f561d1d697800970a8ff3ce5405dc6e0aa23345ba09fba41f31632ddee5
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.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f8a15ab840627513e6565a47bac82296acfd020f30f24d3ee72c3196eb8c5d0f
BLAKE2b-256 checksum
How to use checksums
5ed1cc0aae7d8b2de74b04dd8b678e9d4a40931eaf85030e78ed2d16892b989b
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.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a6f91a9018dfc3f0b385b17718aaeacac514f2d24e52b355a2dd94c2e2ef6922
BLAKE2b-256 checksum
How to use checksums
b6c5fb43fc7ee43c82a313d53b1aa9db2d309ae56a8b5626c936c4fad47e3765
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.3-cp314-cp314t-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.3-cp314-cp314t-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7d5909e9a5896b7553d7ebb72e8e659d939ae4ca6076b416d15996a3628a38f8
BLAKE2b-256 checksum
How to use checksums
1844ba9bed95ddb35545f231284679b7f7f2f3ceb84f30761b845fdedf1e7d3d
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.3-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.3-cp314-cp314t-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3d336cb98f090002420cb2358fe76fa2360738dd780fd441b5dba06a9f07d4dd
BLAKE2b-256 checksum
How to use checksums
2b74ec249cb6e8ab3d053787629603d8d95ae30789df5fa0c0b0f0c850117897
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.3-cp311-abi3-win_arm64.whl

Download URL cave_closure-0.0.3-cp311-abi3-win_arm64.whl
Size 1.1 MB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
3c8144a05ee0cd298ee5c236b697bc6e553ddca2a703486f66db142a704159fd
BLAKE2b-256 checksum
How to use checksums
c52aa15a24789d642f68ece6f9c8f2406d9c25d7adc0fa63e97155d3e0c5cb90
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.3-cp311-abi3-win_amd64.whl

Download URL cave_closure-0.0.3-cp311-abi3-win_amd64.whl
Size 1.5 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4bcd0a6bb6877686823a50347d1dade393f45f7f3f4322b9af58686659c2043a
BLAKE2b-256 checksum
How to use checksums
2b40e048613bade0155d0960706b71ee69e3cf80c997d9890bda66e9c2461601
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.3-cp311-abi3-win32.whl

Download URL cave_closure-0.0.3-cp311-abi3-win32.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
a53f41aa7674ca624570b0ef30a9568820722e7fe402f8a185ef21bdf29f3bf0
BLAKE2b-256 checksum
How to use checksums
2e86240153a954b2b3729dedfde4894729116fb9a34846e261e866792c34b0a4
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.3-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL cave_closure-0.0.3-cp311-abi3-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
eb158ec92c6ce759bb537b6e381e77f32a713e4e04d6cc2e15708dfad7527622
BLAKE2b-256 checksum
How to use checksums
1786ead40fffc3c7a60c1c05c0900f3b5e6b2499994e017847c622acbd4acb3f
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.3-cp311-abi3-musllinux_1_2_ppc64le.whl

Download URL cave_closure-0.0.3-cp311-abi3-musllinux_1_2_ppc64le.whl
Size 1.8 MB
Tags CPython 3.11 Linux musl 1.2+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
a8db666f4649552c91c2c615842d30dc13eebb6fe0235c1d07deee1b451aa518
BLAKE2b-256 checksum
How to use checksums
c5e7de859f4495d043419e9a5f778029443c91ba96c5ffbea44f53d3f4ff6139
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.3-cp311-abi3-musllinux_1_2_i686.whl

Download URL cave_closure-0.0.3-cp311-abi3-musllinux_1_2_i686.whl
Size 1.7 MB
Tags CPython 3.11 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
8638692e968f9f63aca14332294e7161d7debdc577d16a9adef27b4581ff15bd
BLAKE2b-256 checksum
How to use checksums
373a301dd32fc2a0f82a6eb87b800be51f648efa9863ac7f38fd4d406e6552a5
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.3-cp311-abi3-musllinux_1_2_armv7l.whl

Download URL cave_closure-0.0.3-cp311-abi3-musllinux_1_2_armv7l.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
b8ba19e53d95cb984a208220b0c3a8158295597988be5c60d7ec0133fb99047b
BLAKE2b-256 checksum
How to use checksums
4715238d7c043b20b54578125335c1b0812a054e90e296fbff17625d30776ff8
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.3-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL cave_closure-0.0.3-cp311-abi3-musllinux_1_2_aarch64.whl
Size 1.6 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
f497a90b2a6e25650af328038c13ea11c7ed8d3fb4301433569e28dac71a3132
BLAKE2b-256 checksum
How to use checksums
3716fbc25ade59a3b656f662d2601e6aa2fd71ac51e4ab6e351dda2ff625868b
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.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
856c203ea6296b501ec5fc4ad99943d21648d4d8de6d1a0957d276dd2bb0ec7b
BLAKE2b-256 checksum
How to use checksums
a8fe8ec91dafeb99256b9c05e634adfa23f997cd57ab049783ff5a99fd35e73e
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.3-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl
Size 1.7 MB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
56f67bb002694cd8ac1c565fb355849139309df256f160094efc2e6935571c7e
BLAKE2b-256 checksum
How to use checksums
88a441b055b05adc21240efc257b1583d858303aad10ea78175cd2c69671e2f9
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.3-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_ppc64.manylinux_2_17_ppc64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-be abi3
SHA-256 checksum
How to use checksums
0290e2ba7bfe243923a87868833b602b8fe8975948d1d3da0de90cf8be809d7a
BLAKE2b-256 checksum
How to use checksums
a14a6abf263c5be035f85812b7c203eaf2723a1fba33c78e7072312a2a0385e8
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.3-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
ed7b38bcb7ba943fbe6a4ddb8d880419bbf5f38127f520c183242cdac5fbbf52
BLAKE2b-256 checksum
How to use checksums
382524b0f5983290b0bd785aa6160a3fee72b9521f241f53088b4fc79731ba12
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.3-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.whl
Size 1.3 MB
Tags CPython 3.11 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
08bb9e0be87c32aa40a29fc851b018f4c3ab2cdb9784c9e90677a9bdd413f398
BLAKE2b-256 checksum
How to use checksums
9f35bc50d735fbfcd81604b4ce6c6a05824fbc8c5506c50bec3f56b656833079
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.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL cave_closure-0.0.3-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
9efc0b5583e862f3e277767efee2eb97eae406bc8c4ffd208ff04edf6f6752b7
BLAKE2b-256 checksum
How to use checksums
cdb0ce6f3eb0d648dd53f06ea22fe7f2286253718a77acb0ae6bb7c344afa6a1
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.3-cp311-abi3-macosx_11_0_arm64.whl

Download URL cave_closure-0.0.3-cp311-abi3-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
27eda7783116e88c697bc1a2131f863e51bb2166b2ba1d1542a32c0e662bc698
BLAKE2b-256 checksum
How to use checksums
6704abd963f8a088816d585ae5c80b7fdaa6446cff5a40f8d083ff564aa1152f
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.3-cp311-abi3-macosx_10_12_x86_64.whl

Download URL cave_closure-0.0.3-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9931cd1c3db26d0cc9293abbf22b5f880721bef769fb392075e5b3ff60611e93
BLAKE2b-256 checksum
How to use checksums
e7e261a555afe5df97c85aa689820902f1552b301cee4ff2719ebc98ae183014
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.3

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.3.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