Skip to main content

C++ and Python Arrow Bindings for casacore

arcae implements a limited subset of functionality from the more mature python-casacore package. It bypasses some existing limitations in python-casacore to provide safe, multi-threaded access to CASA formats, thereby enabling export into newer cloud native formats such as Apache Arrow and Zarr.

Rationale

casacore and the python-casacore Python bindings provide access to the CASA Table Data System (CTDS) and Measurement Sets created within this system. The CTDS, as of casacore 3.5.0 is subject to the following limitations:

Resolving these concerns is potentially a major effort, involving invasive changes across the CTDS system.

In the time since the CTDS was developed, newer, open-source formats such as Apache Arrow and Zarr have been developed that are suitable for representing Radio Astronomy data.

  • The Apache Arrow project defines a programming language portable in-memory columnar storage format.

  • Translating CTDS data to Arrow is relatively simple, with some limitations mentioned below.

  • It’s easy to convert Arrow Tables between many different languages

  • Once in Apache Arrow format, it is easy to store data in modern, cloud-native disk formats such as parquet and Zarr.

  • Converting CASA Tables to Arrow in the C++ layer avoids the GIL

  • Access to non thread-safe CASA Tables is constrained to a ThreadPool containing a single thread

  • It also allows us to write astrometry routines in C++, potentially side-stepping thread-safety and GIL issues with the CASA Measures server.

Limitations

Arrow supports both 1D arrays and nested structures:

  1. Fixed shape multi-dimensional data (i.e. visibility data) is currently represented as nested FixedSizeListArrays .

  2. Variably-shaped multi-dimensional (i.e. subtable data) is currently represented as nested ListArrays.

  3. Complex values are represented as an extra FixedSizeListArray nesting of two floats.

  4. Currently, it is not trivially trivial (repetition intended here) to convert between the above and numpy via to_numpy calls on Arrow Arrays, but it is relatively trivial to reinterpret the underlying data buffers from either API. This is done transparently in getcol and putcol functions (see usage below).

Going forward, FixedShapeTensorArray and VariableShapeTensorArray will provide more ergonomic structures for representing multi-dimensional data. First class support for complex values in Apache Arrow will require implementing a C++ extension type within Arrow itself:

Some other edge cases have not yet been implemented, but could be with some thought.

  • Columns with unconstrained rank (ndim == -1) whose rows, in practice, have differing dimensions. Unconstrained rank columns whose rows actually have the same rank are catered for.

  • Not yet able to handle TpRecord columns. Probably simplest to convert these rows to json and store as a string.

  • Not yet able to handle TpQuantity columns. Possible to represent as a run-time parametric Arrow DataType.

Installation

Binary wheels are providing for Linux and MacOSX for both x86_64 and arm64 architectures

$ pip install arcae

Usage

Example usage with Arrow Tables:

import json
from pprint import pprint

import arcae
import pyarrow as pa
import pyarrow.parquet as pq

# Obtain (partial) Apache Arrow Table from a CASA Table
casa_table = arcae.table("/path/to/measurementset.ms")
arrow_table = casa_table.to_arrow()        # read entire table
arrow_table = casa_table.to_arrow(index=(slice(10, 20),)
assert isinstance(arrow_table, pa.Table)

# Print JSON-encoded Table and Column keywords
pprint(json.loads(arrow_table.schema.metadata[b"__arcae_metadata__"]))
pprint(json.loads(arrow_table.schema.field("DATA").metadata[b"__arcae_metadata__"]))

pq.write_table(arrow_table, "measurementset.parquet")

Some reading and writing functionality from python-casacore is replicated, with added support for some NumPy Advanced Indexing.

casa_table = arcae.table("/path/to/measurementset.ms", readonly=False)
# Get rows 10 and 2, and channels 16 to 32, and all correlations
data = casa_table.getcol("DATA", index=([10, 2], slice(16, 32), None))
# Write some modified data back
casa_table.putcol("DATA", data + 1*1j, index=([10, 2], slice(16, 32), None))

See the test cases for further use cases.

Multi-threaded read support

When opening a CASA table, arcae can open multiple instances of the table in separate threads and multiplex read operations over them. This mode of operation is intended to saturate the number of I/O requests in-flight by submitting read operations from multiple threads:

import concurrent.futures as cf

table = arcae.table("/path/to/measurementset.ms", ninstances=8, readonly=True)
with cf.ThreadPoolExecutor(max_workers=8) as pool:
  nrow = table.nrow()
  futures = []
  for start_row in range(0, nrow, 10_000):
  nrow = min(10_000, nrow - start_row)
    futures.append(pool.submit(table.getcol, "DATA", startrow=start_row, nrow=nrow))

  with cf.as_completed(futures):
    ...

Multi-threaded write support

arcae only supports writing when a single instance of the table is opened (ninstances=1). Writing to a table when multiple instances are opened is an unsafe operation and arcae will error if this is attempted. Future versions of arcae may support this. In the meantime, the support for this ability can be inspected via the arcae.safe_multithread_writes function:

assert not arcae.safe_multithreaded_writes()

table = arcae.table("/path/to/measurementset.ms", ninstances=8, readonly=False)
table.putcol("DATA", ...)  # Fails, ninstances > 1

Bounding storage manager cache sizes

casacore’s Tiled Storage Managers use unbounded caches by default: reading a large Measurement Set lets the cache grow until it holds much of the MS in memory. Because arcae opens ninstances independent table instances, each with its own caches, this growth is multiplied by the instance count.

The cache_size argument to arcae.table bounds these caches. It accepts an integer shorthand, or a flat, prefixed dictionary offering three levels of granularity, resolved with precedence column: > stman: > default:

# Global default of 256 MiB for every storage manager
table = arcae.table("/path/to/measurementset.ms", cache_size=256)

# Fine-grained control
table = arcae.table("/path/to/measurementset.ms", cache_size={
    "default": 128,                # global default for unmatched columns
    "stman:TiledData": 256,        # per storage manager
    "column:WEIGHT_SPECTRUM": 32,  # per column
})

# Restore the historical unbounded behaviour
table = arcae.table("/path/to/measurementset.ms", cache_size=0)

Notes:

  • All sizes are in MiB.

  • None (the default) applies a bounded default of 128 MiB; 0 restores the historical unbounded behaviour.

  • A per-column cap physically targets that column’s storage manager (casacore caps the whole storage manager), so columns sharing a hypercolumn share the cap — last write wins.

  • The cap is applied to every opened instance, so the worst-case resident cache is roughly ninstances × (number of tiled storage managers) × cache_size MiB.

  • Unknown stman: / column: names, malformed keys, and non-integer or negative values are rejected with a clear error.

Exporting Measurement Sets to Arrow Parquet Datasets

Install the applications optional extra.

pip install arcae[applications]

Then, an export script is available:

$ arcae export /path/to/the.ms --nrow 50000
$ tree output.arrow/
output.arrow/
├── ANTENNA
│   └── data0.parquet
├── DATA_DESCRIPTION
│   └── data0.parquet
├── FEED
│   └── data0.parquet
├── FIELD
│   └── data0.parquet
├── MAIN
│   └── FIELD_ID=0
│       └── PROCESSOR_ID=0
│           ├── DATA_DESC_ID=0
│           │   ├── data0.parquet
│           │   ├── data1.parquet
│           │   ├── data2.parquet
│           │   └── data3.parquet
│           ├── DATA_DESC_ID=1
│           │   ├── data0.parquet
│           │   ├── data1.parquet
│           │   ├── data2.parquet
│           │   └── data3.parquet
│           ├── DATA_DESC_ID=2
│           │   ├── data0.parquet
│           │   ├── data1.parquet
│           │   ├── data2.parquet
│           │   └── data3.parquet
│           └── DATA_DESC_ID=3
│               ├── data0.parquet
│               ├── data1.parquet
│               ├── data2.parquet
│               └── data3.parquet
├── OBSERVATION
│   └── data0.parquet

This data can be loaded into an Arrow Dataset:

>>> import pyarrow as pa
>>> import pyarrow.dataset as pad
>>> main_ds = pad.dataset("output.arrow/MAIN")
>>> spw_ds = pad.dataset("output.arrow/SPECTRAL_WINDOW")

Etymology

Noun: arca f (genitive arcae); first declension A chest, box, coffer, safe (safe place for storing items, or anything of a similar shape)

Pronounced: ar-ki.

Metadata

Release files for arcae 0.5.5

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

Source distribution (sdist)

Source distribution for arcae 0.5.5
File Size Uploaded
arcae-0.5.5.tar.gz 113.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for arcae 0.5.5
File
arcae-0.5.5-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
arcae-0.5.5-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
arcae-0.5.5-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
arcae-0.5.5-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
arcae-0.5.5-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
arcae-0.5.5-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
arcae-0.5.5-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
arcae-0.5.5-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
arcae-0.5.5-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
arcae-0.5.5-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
arcae-0.5.5-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
arcae-0.5.5-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
arcae-0.5.5-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
arcae-0.5.5-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
arcae-0.5.5-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
arcae-0.5.5-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details

Total release size: 165.5 MB

Release files / arcae-0.5.5.tar.gz

Download URL arcae-0.5.5.tar.gz
Size 113.7 kB
Tags Source
SHA-256 checksum
How to use checksums
69319bb83dae9c6b1e762e6ac825472e30349c07f1fbbc9e0c1aa2b541d8ed4c
BLAKE2b-256 checksum
How to use checksums
ae150e26aaeb3fd9bd3ff05adfafcedc5121e4798c8deaa9254deb91e3085bf4
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL arcae-0.5.5-cp314-cp314-manylinux_2_28_x86_64.whl
Size 16.8 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
579c60e1e1ec01c34ffe6b0f227f9020d173de7dbcf11c7904254595a1ef9a90
BLAKE2b-256 checksum
How to use checksums
27f00ae5ee2fa1d6e54877711168ea3ddfd9de95c10a682ac76eb2c4a1a1bbea
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL arcae-0.5.5-cp314-cp314-manylinux_2_28_aarch64.whl
Size 16.1 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a54fa4ffb5480861135524c0c46c421f2f3d330c88e160a543f30e71799d4841
BLAKE2b-256 checksum
How to use checksums
91f9addb71814810ad1f1534a0d241d84ca9fd5c6fecdb375bbeeef2fc8df4fa
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp314-cp314-macosx_15_0_x86_64.whl

Download URL arcae-0.5.5-cp314-cp314-macosx_15_0_x86_64.whl
Size 4.3 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
7bcb3c258fbb55a6e160219d33ee807766eabdb57d4ffedcb057a864e014e7a8
BLAKE2b-256 checksum
How to use checksums
8421d4b55af480ae7fceb78a1374972305f79021767a1611ab7062f2a7d242dc
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp314-cp314-macosx_14_0_arm64.whl

Download URL arcae-0.5.5-cp314-cp314-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
6a32252f918158fdfbeb596fdf0a4372084a3832dbfb136d38eb14e2a3888684
BLAKE2b-256 checksum
How to use checksums
ceef8e185a403a9dec021a22cc41bd4ae1ef489ed59691179467159ff61426f7
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL arcae-0.5.5-cp313-cp313-manylinux_2_28_x86_64.whl
Size 16.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
328af5ef04c20783f5cbb4edb56b7cc2f4c720d9488820324dd4738f56dc6696
BLAKE2b-256 checksum
How to use checksums
85e04801f030bc889e53f0150f557ed12f12f706b2d44abf2df61f5c9bbd8184
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL arcae-0.5.5-cp313-cp313-manylinux_2_28_aarch64.whl
Size 16.1 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ae12c075ab5edec6cd81e1db29ae72635ca210f7486fb93e57ecbcccc2d283bd
BLAKE2b-256 checksum
How to use checksums
530939f55061ba43895df271453d21cfc828bb7c5404f8445821ddca1698db1b
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp313-cp313-macosx_15_0_x86_64.whl

Download URL arcae-0.5.5-cp313-cp313-macosx_15_0_x86_64.whl
Size 4.3 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
1c60323afa7c6fc4edf9a4ca63f7d42def7c9d64e4bea40677f6876382405eb7
BLAKE2b-256 checksum
How to use checksums
75a644775545070deffcbf96de67d2c529f1f9f7e109f2292529003e2c4aaa4a
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp313-cp313-macosx_14_0_arm64.whl

Download URL arcae-0.5.5-cp313-cp313-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
be47b738a8ba440b55842881b88fa20dbcd9eafd24f7238f6c658b517c22948c
BLAKE2b-256 checksum
How to use checksums
df7f749c89abc5b83dd8172089274c922dc90233f5b1fe1bfaea0dec18ed0356
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL arcae-0.5.5-cp312-cp312-manylinux_2_28_x86_64.whl
Size 16.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a4c00defa32a08bb7750dcf6af703ab5278ace3d69caf60af8107c98cc4bd259
BLAKE2b-256 checksum
How to use checksums
d60e215d7afc284534190e7cda15e06ce049200b660c42aa5b9b2266a7eadb67
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL arcae-0.5.5-cp312-cp312-manylinux_2_28_aarch64.whl
Size 16.1 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
593ec2dd7280dece3515513ae957bab0e51bf267825ae0f3cbc8e9c8188f5970
BLAKE2b-256 checksum
How to use checksums
0b0c025982ce40645b0eab477c11e6e4968626e27e9316adf3c78425d98e0d09
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp312-cp312-macosx_15_0_x86_64.whl

Download URL arcae-0.5.5-cp312-cp312-macosx_15_0_x86_64.whl
Size 4.3 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
fdefe4c19d057a610bded1b3171e0a8da035040cc05bc73ecd47e7c7b03c7272
BLAKE2b-256 checksum
How to use checksums
f60b4e652814431a4a4e5372cb08b6e5e2edb77077b114191a648626fed1dbbc
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp312-cp312-macosx_14_0_arm64.whl

Download URL arcae-0.5.5-cp312-cp312-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
5fbf35b430ed2f4287355fb4a510180ffa65b9636104ecdf13144964f5dc76b1
BLAKE2b-256 checksum
How to use checksums
554522716feaa55c7fa1b439a6ff34ee7492710353b8ef1b888b0a3a09322ad6
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL arcae-0.5.5-cp311-cp311-manylinux_2_28_x86_64.whl
Size 16.8 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
45a6d344dc9a815f29a60b0cdbe2a9bd43e37e9048c6ec59e33af635dfd5a4c9
BLAKE2b-256 checksum
How to use checksums
bcf4be30a65bc0fe245d7fed6cf647063e10a6290d6a883e246649d43fc70413
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL arcae-0.5.5-cp311-cp311-manylinux_2_28_aarch64.whl
Size 16.1 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
096798341b4e998bb1cc2c6bb95c6335a6a66d93958fc985f66c2b2e1292d433
BLAKE2b-256 checksum
How to use checksums
ebaa39773175b2ec2d498f4ace35e0e4fa83996c39d7291b0234f217b44d8fcb
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp311-cp311-macosx_15_0_x86_64.whl

Download URL arcae-0.5.5-cp311-cp311-macosx_15_0_x86_64.whl
Size 4.3 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
8c875c33e2ee557c1262f65ec5baf12253f9838c51d16c6003545ce750a2545b
BLAKE2b-256 checksum
How to use checksums
47b0e6acbf8280e3d8a8213aaab00a3e2f4551ef59957f05f76f7565e4e22847
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 22, 2026.

Transparency log

Release files / arcae-0.5.5-cp311-cp311-macosx_14_0_arm64.whl

Download URL arcae-0.5.5-cp311-cp311-macosx_14_0_arm64.whl
Size 4.1 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
680f529f72d63a541996557e7757f160d7a0c78233137c29cde614b47217a6ad
BLAKE2b-256 checksum
How to use checksums
cf42223c47eaed8fe4bbe18ffbfeb636093353d01a4fa282e76811fe819a48ec
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 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.5 This release

17 release files

0.5.4

17 release files

0.5.2

17 release files

0.5.0

17 release files

0.3.2

17 release files

0.3.1

17 release files

0.3.0

17 release files

0.2.9

13 release files

0.2.8

13 release files

0.2.7

13 release files

0.2.6

13 release files

0.2.3

17 release files

0.2.2

5 release files

0.2.1

5 release files

0.2.0

5 release files

0.1.0

5 release files

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