casacure and python-casacure
This repository contains two user-facing packages that share one engine — a pure-Rust implementation of the CASA table system that reads and writes real casacore Measurement Sets and tables without needing the C++ casacore library:
| Package | Kind | Install | Entry point |
|---|---|---|---|
| casacure | Rust crate | cargo add casacure (crates.io) |
use casacure; |
| python-casacure | Python package | pip install casacure (PyPI) |
import casacure.tables |
"python-casacure" is the name of the Python package. Its published PyPI name
stays casacure (module casacure.tables) — the Python package is
not renamed. The Python package is built from the internal
crates/casacure-python crate, which is not published to crates.io and is
not intended for direct use.
Both packages expose the same capabilities — the StandardStMan,
IncrementalStMan and TiledColumnStMan on-disk formats, table metadata,
keywords and subtable linkage, and a TaQL subset — without building or linking
the C++ casacore library. Install is fast (a wheel or the crate), there is no
multi-hour C++ dependency build, and it works everywhere a Rust cdylib can
be built, including ARM (aarch64).
The Python binding's casacure.tables is an interface-compatible
replacement for casacore.tables, so existing tooling — most notably
dask-ms — can run on casacure unchanged (CPython 3.9–3.14; wheels for
Linux, macOS and Windows).
| On-disk formats | StandardStMan, IncrementalStMan, TiledColumnStMan — read and write |
| Table surface | columns (scalar / fixed / variable-shape arrays, strings, records), keywords, dminfo, subtable linkage (::SUBTABLE) |
| TaQL | SELECT (WHERE / ORDERBY / GROUPBY / UNIQUE) and CREATE TABLE |
| Measurement Sets | full MS + 17 standard subtable schemas, default_ms, writable in place |
| Interop | tables written by casacure open in real casacore and vice-versa |
Status is tracked in ARE_WE_CURED.md; the outline is in CASACORE_TO_CASA_RS.md.
Why choose casacure?
- Drop-in replacement for
casacore.tables.casacure.tablesmirrors the python-casacore interface, so existing packages — most notably dask-ms — run unchanged. The full dask-ms 0.2.32 test suite passes against it (219/219 on Python 3.13 and 3.14), reading, writing and updating real Measurement Sets. - No C++ casacore library. The table engine is pure Rust. There is no
casacore build, no multi-hour C++ dependency compile, and no Fortran/C
system library (
wcs,measures,images, …) to install.pip install casacureis the entire setup; building from source needs only a Rust toolchain plus maturin — still no C++ compiler. - Real on-disk interop. casacure is byte-compatible with the casacore table formats it implements (StandardStMan, IncrementalStMan, TiledColumnStMan): tables it writes open in real casacore and vice-versa, verified against casacore 3.8.1 — including full Measurement Sets with their subtable tree and multi-manager tables.
- Endian-correct anywhere. The engine reads and writes both big- and little-endian tables, so it behaves identically on any host endianness.
- Self-contained wheels. Prebuilt wheels for Linux, macOS and Windows on
CPython 3.9–3.14 — including
aarch64, the machines where casacore is most painful to build (see "Platforms and architectures"). - One engine, two packages. The same Rust core ships as the
casacurecrate on crates.io (Rust) and as thecasacurePython package on PyPI. - Memory-safe by construction. A Rust implementation removes the segfault
and memory-management warts of the C++ python-casacore bindings: for
example,
putcolaccepts numpy object arrays directly — behaviours that crash the C++ build are absent by construction. - TaQL included. A real TaQL subset ships in the same package:
SELECTwith WHERE / ORDERBY / GROUPBY / HAVING / UNIQUE / subqueries, a casacore-style function library (numeric/string/date-time/stats families,g*aggregates,LIKE/IN), and the write statements (UPDATE,DELETE,INSERT INTO,ALTER TABLE,DROPTABLE,SHOW/CALC) — all reachable throughtaql()/table.taql(), so no separate query layer is needed.
Using casacure in place of casacore
casacure provides a python-casacore-compatible surface. The whole dask-ms 0.2.32 test suite passes against it (219/219 on both Python 3.13 and 3.14), including reading, writing and updating real Measurement Sets.
Direct API
casacure.tables mirrors casacore.tables:
import numpy as np
import casacure.tables as ct # drop-in for `import casacore.tables`
t = ct.table("test.tab",
{"TIME": {"valueType": "double", "option": 0, "comment": "",
"keywords": {}},
"DATA": {"valueType": "dcomplex", "option": 0, "comment": "",
"ndim": 2, "shape": [8, 4], "keywords": {}}},
nrow=3)
t.putcol("TIME", np.array([0.0, 1.5, 3.0]))
t.putcol("DATA", np.random.rand(3, 8, 4).astype(np.complex128))
t.flush()
r = ct.table("test.tab", ack=False) # read-only view
print(r.getcol("DATA").shape) # (3, 8, 4)
q = ct.taql("SELECT * FROM $1 WHERE TIME > 1.0", tables=[r])
print(q.getcol("TIME"))
ms = ct.default_ms("observation.ms") # full MS + 17 subtables
Also available: taql CREATE TABLE, getcell/putcell, getvarcol/
putvarcol, getcolslice/putcolslice, getkeywords/putkeywords,
addcols, addrows, required_ms_desc/complete_ms_desc,
default_ms_subtable, tablefromascii.
Units and quantities
casacure.quanta mirrors casacore.quanta — the unit system and Quantity
(a value with a unit), with SI conversion, arithmetic, the time/angle value
classes, and the physical-constant / unit / prefix tables:
import casacure.quanta as qa # drop-in for `import casacore.quanta`
q = qa.quantity(1.5, "Jy") # Quantity
q.get_value("mJy") # 1500.0
q.canonical() # '1.5e-26 kg.s-2'
qa.quantity(3, "km") + qa.quantity(500, "m") # 3.5 km
qa.quantity(45, "deg").formatted() # '+045.00.00'
qa.quantity(51544, "d").to_unix_time() # 946684800.0 (2000-01-01T00:00Z)
The full casacore.measures engine (direction/epoch/uvw transforms, backed
by the casacore ephemeris data) is not implemented.
Driving dask-ms on casacure
dask-ms imports casacore.tables; point it at casacure in one of two ways:
1. A drop-in casacore shim — a two-file package that re-exports
casacure, placed on PYTHONPATH ahead of any real python-casacore (this is
exactly what the project's own tests/daskms_smoke.py runs):
casacore/__init__.py # (empty)
casacore/tables.py # from casacure.tables import *
2. Backend selection (the cleaner upstream path) — an env-gated
DASK_MS_BACKEND=casacure that aliases casacore.tables → casacure.tables
in-process. It is a ~10-line sys.modules swap in dask-ms's __init__,
validated against the full dask-ms suite; it is the prototype for the upstream
store-dispatch change.
Either way, the dask-ms workflow is unchanged:
import dask
import dask.array as da
import numpy as np
import xarray as xr
from daskms import xds_from_ms, xds_to_table
import casacure.tables as ct
n = 4
data = (np.random.rand(n, 8, 4) + 1j * np.random.rand(n, 8, 4)).astype(np.complex64)
ds = xr.Dataset({
"TIME": (("row",), da.from_array(np.array([0.0, 1.0, 2.0, 3.0]), chunks=n)),
"ANTENNA1": (("row",), da.from_array(np.array([0, 1, 0, 1], dtype=np.int32), chunks=n)),
"DATA": (("row", "chan", "corr"), da.from_array(data, chunks=(n, 8, 4))),
}, coords={"row": np.arange(n)})
# Create a Measurement Set from datasets (partitioned, chunked writes).
dask.compute(xds_to_table(ds, "example.ms", descriptor="ms"))
# Read it back as lazily-chunked dask arrays.
xds = xds_from_ms("example.ms", columns=["TIME", "ANTENNA1", "DATA"])[0]
# Modify in xarray and write back in place.
xds2 = xds.assign(DATA=(xds.DATA.dims, xds.DATA.data * 2))
dask.compute(xds_to_table(xds2, "example.ms", ["DATA"]))
# The result is a real MS: open it with casacure (or real casacore).
t = ct.table("example.ms", ack=False)
print(t.getcol("DATA")[0, 0, :2]) # doubled visibilities
Because casacure is implemented in Rust, none of this needs a C++ toolchain: the entire dependency stack for reading and writing Measurement Sets is the published wheel.
Install
pip install casacure # prebuilt wheels once published
# or build from source:
pip install . # maturin builds the cdylib for your interpreter
The Rust core is published to crates.io as the casacure crate; add
casacure = "3.8" to Cargo.toml (the crate tracks the casacore interface:
3.8 == casacore 3.8.x) if you want the table engine in Rust directly.
Versions are <casacore-major>.<casacore-minor>.<casacure-patch>
(e.g. 3.8.2): the first two digits are the casacore interface level the
package implements (3.8 == casacore 3.8.x), and the last digit is casacure's
own patch counter — incremented on every fix/feature release and reset to 1
when the mirrored interface moves (3.8 → 3.9 …). The crates.io casacure
crate and the PyPI wheel share the same three-part version, so a release
publishes both together. casacure.__version__ reports the same number.
pip install casacure on Python 3.9–3.14 installs a self-contained package —
no casacore C++ library, no wcs/measures harness — which is the point: MS
support on machines (including aarch64) where casacore is painful to build.
Dependencies
Rust core (casacure crate). A single small runtime dependency:
thiserror (error-type plumbing). serde / serde_json are dev-only
dependencies, used by the casacore-comparison fixture tests
(crates/casacure/tests/compat_fixtures.rs). The core is pure Rust and
compiles for any Rust target; there is no unsafe system linkage.
Python bindings (casacure wheel). Built from crates/casacure-python,
which links the two standard Rust↔Python bridge crates — pyo3 (CPython
binding, 0.27) and numpy (0.27) — against the core crate. The installed
Python package has exactly one runtime dependency — numpy — declared in
pyproject.toml (dependencies = ["numpy"]): getcol/putcol/getvarcol
return and accept the same numpy-typed values as python-casacore (which also
hard-depends on numpy), so pip install casacure pulls it automatically and
the casacure-test / casacure-bench console scripts run out of the box.
Everything else — including the C++ casacore library — is absent.
Explicitly not needed — the point of the project:
- the C++ casacore library or its build system (no
wcs,measures,imagesharnesses); - any system C / Fortran library or header — the only native code is Rust;
- a C++ toolchain to install or to build wheels.
Building from source adds only the Rust toolchain plus maturin (the
pyproject [build-system]):
pip install . compiles the cdylib for your interpreter without invoking a
C++ compiler.
Platforms and architectures
The pure-Rust core is portable to any Rust target and handles both byte
orders, so it runs on any architecture where a Rust toolchain exists. On top
of that, the Publish Python package workflow (maturin) builds prebuilt
wheels for the following matrix:
| Platform | Architectures | CPython versions |
|---|---|---|
| Linux (manylinux) | x86_64, aarch64 |
3.9 – 3.14 |
| macOS | aarch64 (Apple Silicon) |
3.10 – 3.14 |
| Windows (MSVC) | x86_64 |
3.10 – 3.14 |
Notes:
- Linux wheels are built from the manylinux image, whose
--find-interpreterpass covers every supported CPython (3.9–3.14) in a single build per target; the source distribution is produced from thex86_64Linux job. - Intel-macOS (
x86_64) wheels are deliberately not built: GitHub no longer hosts Intel-mac runners. Intel Mac users install the source distribution, which still needs only Rust + maturin — no C++. - The Rust
casacurecrate itself is endian- and target-agnostic: cargo builds it for any supported target (the CI gate runs on Linux, but the engine's portability is what makes the cross-compiled wheel matrix above possible).
Development
- TODO.md — the live task list; CHANGELOG.md records completed steps.
- ARE_WE_CURED.md — progress / test counts.
- CASACORE_TO_CASA_RS.md — the implementation
outline (the upstream
casacore/submodule is the reference C++ source and is never modified). tests/daskms_smoke.py— end-to-end dask-ms MS create/read/write smoke;tests/test_types_compat.py— type-system comparison vs real casacore.
Rust work is linted with clippy and rustfmt as we go — CI runs these as gates
(.github/workflows/ci.yml), so run them locally before committing:
cargo fmt
cargo clippy --workspace --all-targets -- -D warnings
The toolchain is pinned to the current stable channel in rust-toolchain.toml
(so local lints always match CI's latest stable); keep it current with
rustup update stable. A pre-push hook (.githooks/pre-push) runs the
full gate — rustfmt, clippy with -D warnings, cargo test --release, and
the pytest suite against a freshly built extension — before anything reaches
the remote. Enable it once per clone (git hooks are not tracked):
git config core.hooksPath .githooks
clippy is run with -D warnings (warnings are errors); cargo fmt keeps
the formatting canonical. Everything merged must pass both.
Release files for casacure 3.8.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| casacure-3.8.7.tar.gz | 254.1 kB | Details |
Built distributions (wheels)
Total release size: 28.6 MB
Release files / casacure-3.8.7.tar.gz
| Download URL | casacure-3.8.7.tar.gz |
|---|---|
| Size | 254.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5389b4aead754fc5388bd2abc00523a79bdee9e3179cc42ad1abea4f445f77a4
|
|
BLAKE2b-256 checksum How to use checksums |
8af47be34b390c8e1392f396682cbb94101798876d5432e9ddd180d9b7a6ff7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
a01f6effeabcdd150fef4f3e8f2292b84de2a4ad4e7ae253efd572532ce94197
|
|
BLAKE2b-256 checksum How to use checksums |
7cfebce5052be0897c0e412a358d9d8f1691ccff464a8a6b744742676acf5d18
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
40c6d48ffb1faad4c24cecb0da4c86f106deab2305a3b42dc7726867445323ee
|
|
BLAKE2b-256 checksum How to use checksums |
f6f87ddb34e635a51e077f3ff71f0513680c5806c9fad7e1643425662b37f31a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
92b01a7db0ab60b902cc35fb6690d4458f7e8b9f94a6bfdbcb230c82aff73e46
|
|
BLAKE2b-256 checksum How to use checksums |
ae1f0397a99d4d2620e2c54b703040637b18912c7a53ba6b1195a06fcf43fc1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7b468fab47e88703871ff2b8a1168cb29af8e99434b87a21452ad1026d11c711
|
|
BLAKE2b-256 checksum How to use checksums |
8f5e92cbeeb7d1258fa67e286692f3ce1ada26cf09a42505021fbf79a94e9278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314-win_amd64.whl
| Download URL | casacure-3.8.7-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7eaa52e5a94d487cff44a895f4078f812fcf06cf95eb91e6c3d82d8d45cd936e
|
|
BLAKE2b-256 checksum How to use checksums |
3d7e9fe4b5e274ecc08a37b957ecab1636c9a009cd73b972a11ea82add0990ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
0ca936f289c4ab5915956bd43a5b040f66a2fe8ef572bbf715f21f10c7c624a9
|
|
BLAKE2b-256 checksum How to use checksums |
9038a8dccc587bc2cbc29c8abee907fb3811b10dfad5cfa84eed5000f95906ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
fa2a20a316f49cf16fa8fb43e397f9d39d93b98d3481a8fd2696fa49fda673c1
|
|
BLAKE2b-256 checksum How to use checksums |
32ddfd0916690c21c1ed5bfc0572a095ece4d271e91b8cb44ebd4b052402dabd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | casacure-3.8.7-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
de432ddec6ead1b358f83439f290e5d4220fb79479e299d127d9ab3e3f1cb338
|
|
BLAKE2b-256 checksum How to use checksums |
3d6ba13d10bc2780fab710137eb971cb943b0734d2b8392c516cbfef9eb34e99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp313-cp313-win_amd64.whl
| Download URL | casacure-3.8.7-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9ddc21a904f31a14c065d4af333749dceef3d5fbe389b558076e0ec504d414e7
|
|
BLAKE2b-256 checksum How to use checksums |
96f51b53a0df9f469b200a4cadb2f0ae6adff96ae25eb4967ab19c7c36145bd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
7c8f8470921c87ee25edff0002f28cc177d5392a7c60eb2c8c776eb38fc55a21
|
|
BLAKE2b-256 checksum How to use checksums |
160275c8a55c6d014df314b30ee28a7072740feaceffbf1aab83ee72231dd43d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
0c56210ff06f30147f7ecde024d9dd1288a4d721ec571abc6d48a16d40bd8b79
|
|
BLAKE2b-256 checksum How to use checksums |
c813443cd1ba8ecb3d12000ed4a34f3fee35069ceeb9f8982092339ad580dbb5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | casacure-3.8.7-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9b1b5cc2e4bb265f4ce07077af6cf6e74526815e25ecd9301bc89725d13f8612
|
|
BLAKE2b-256 checksum How to use checksums |
1596ff26fcf8e808f7abf9fbff360bb5594a7ccf62e0f56b8d16a94da3adffa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp312-cp312-win_amd64.whl
| Download URL | casacure-3.8.7-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cc17a4a93f376fd9d10e126f500db69ca089dde81335c7c4f911b042603046da
|
|
BLAKE2b-256 checksum How to use checksums |
2ecc715b15f2ed5d532e0e0050d3f324ffe828a711bbc6d01f715a95e50985cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
478c0e590ad455e20e61ac864e6ba78bc0a5c3483e594133ce4e98c16bf8df9d
|
|
BLAKE2b-256 checksum How to use checksums |
fc63169ea792fbfa91e66a0911f524cd29510b39860b33f1c35a25461415de28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7a77b45a2310c701292d5a4779ed214bc392a00937387dbfbb511d60ba87d92e
|
|
BLAKE2b-256 checksum How to use checksums |
473fcb3381d4a20c8a1a5aa0e3da5c6c22a222db2ed7df433cc2c9dbcf4377dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | casacure-3.8.7-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
07c45187ab7295afcab5f270c86c6ae79f0c1bc93050f33f214fd09c2d14a147
|
|
BLAKE2b-256 checksum How to use checksums |
a29329e4223c6b927b67b9ad339b0f10ef7e090af5c7cf029da5d97f57bff27b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp311-cp311-win_amd64.whl
| Download URL | casacure-3.8.7-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
608a9dac296ad9d6482b3190394f6daa04a1bd0dcc8863cd95e3670be6eff38d
|
|
BLAKE2b-256 checksum How to use checksums |
93f16a22f45a47eb8961cb291ce5e0a4ceda23370d20521369aba0557dccea6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c973e70ad42a646a1cf6cfcfa285a1282099a41bb318723cd5eb0204727c91f8
|
|
BLAKE2b-256 checksum How to use checksums |
02cad0f4f17cd1bf344af4053dd35014804b6fd1c180576559f168c32fac1013
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
c54f42c716e275aa9eedd6163ef746495fa2eb4295b145eed6e0c71fc8be58c6
|
|
BLAKE2b-256 checksum How to use checksums |
81fdf6cb03ac5b9a6387c208b746ceabf2483646c9ee792e0e60d94a1c16db75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | casacure-3.8.7-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a3d3774d742e13dad539ffeda57480791d39eb6686241f4366e1d74807a0ea18
|
|
BLAKE2b-256 checksum How to use checksums |
327ba50be8c62acacf820d71c9ca7071c0b29121c7ff2631b4ecd30a678cebca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp310-cp310-win_amd64.whl
| Download URL | casacure-3.8.7-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bbe962ee1de22c0281f2642040fdf5e76e0b96e8ba041ba30f1ecf1b39ee3418
|
|
BLAKE2b-256 checksum How to use checksums |
4350abc8df887fd3faf3ecb89cb1da57a13ae03421be216d34d954306317feaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b56519e09ccb34fb6a32a538c30135ce544c06ae252e06dbf21ddcc56fc36adf
|
|
BLAKE2b-256 checksum How to use checksums |
a4b03c0d9f5acda740e91d250dcc33eec47c9908f5a532a7899ca9bcf80fd15b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
f35466c9a5c2bf7fcdc4abaed827307797afd195240d630596cc6aafaa15ba41
|
|
BLAKE2b-256 checksum How to use checksums |
12feab06f28939937e9a4999600e97e0b253a41766455ffbee5c357a1ac722f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | casacure-3.8.7-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
89e5fb007132f8bbff84328e77d80005d0eba60c43dbed8451434dd044e37e5b
|
|
BLAKE2b-256 checksum How to use checksums |
47b4a91cd3d67d01d2971d46dafb9d828404f4394709de00e705317bfcc7ff31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | casacure-3.8.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
53f0c4fc0819ac2e2506a7ad97b4bf6da1e559bd9b2b82ff4558b083e2e2859b
|
|
BLAKE2b-256 checksum How to use checksums |
b4b0463cc58fd89addac34f6bc86916f9bc3a26539dd52e1fc12f57e15cdd8e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / casacure-3.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | casacure-3.8.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
290a7f90885f085bc8c42f21527fbadbc2766059167626b7064a4fe74b330c8c
|
|
BLAKE2b-256 checksum How to use checksums |
0b67d448d14ba6a8ca1f18aee64e80ab43881749cd7ff93cf43b14d462be21e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log