Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.4.0a12

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.4.0a12
File Size Uploaded
arcae-0.4.0a12.tar.gz 136.1 kB Details

Built distributions (wheels)

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

Total release size: 171.6 MB

Release files / arcae-0.4.0a12.tar.gz

Download URL arcae-0.4.0a12.tar.gz
Size 136.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3cc85321496f948625977faf118f6ffaba7ee7598cd00c64ada0e3e988dbea1f
BLAKE2b-256 checksum
How to use checksums
73b0b3dcbdd953800c449f8c982d1eceb96fded139728463f8be5e847f231115
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL arcae-0.4.0a12-cp314-cp314-manylinux_2_28_x86_64.whl
Size 17.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a7ddf42b5135c1dbc0ee9adf92c86230c4a72fbd199eab8cc63c15c4d0ecc9f
BLAKE2b-256 checksum
How to use checksums
8039fe641a8c34b9c4316b4b047c03334e0a3253bad3ebead154927d9584eae7
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL arcae-0.4.0a12-cp314-cp314-manylinux_2_28_aarch64.whl
Size 16.8 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5311185a7841d21cf9dcfb7f97b69848ef4cbc4439e0c8bb56ae1d981b2c901d
BLAKE2b-256 checksum
How to use checksums
a7bf432e5ebc9df27499d0a3384f3ef842a5f4d429ab35ef55720ed85ce81959
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp314-cp314-macosx_15_0_x86_64.whl

Download URL arcae-0.4.0a12-cp314-cp314-macosx_15_0_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
8c8707deeaeb1c9383782c94eb1ddeddaf85cc2b193a2c7559cb05deb6a2968b
BLAKE2b-256 checksum
How to use checksums
0fd915cc588501e2444c84a2f029a4a33eac29dd89d26c38a2850dd06cd228bd
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp314-cp314-macosx_14_0_arm64.whl

Download URL arcae-0.4.0a12-cp314-cp314-macosx_14_0_arm64.whl
Size 4.2 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f109bf2b1fb20c723a23f85c3d5e3a30292da2be761590edadcb81fc8b7606ba
BLAKE2b-256 checksum
How to use checksums
7987dd6de3ad6f97575ed4f912ade4fd88292d5d1089d86941b26013b9f56182
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL arcae-0.4.0a12-cp313-cp313-manylinux_2_28_x86_64.whl
Size 17.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e5a3624ecaabe63e7117d46113b84f8ef51ed265fa93e97d67ca4b2b0e86e098
BLAKE2b-256 checksum
How to use checksums
660bb3afdfe54237a3a50e74626d66d7d31dc56c23b41f11ed1d34491580b170
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL arcae-0.4.0a12-cp313-cp313-manylinux_2_28_aarch64.whl
Size 16.8 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9bd7ec5dcde62e976583de2904eb1c5070962fce3707371c58229e23fd004071
BLAKE2b-256 checksum
How to use checksums
fae9bfebf2e97a33df31d613c823d0da67529b6ac6e5a60b14e526ad48fb4541
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp313-cp313-macosx_15_0_x86_64.whl

Download URL arcae-0.4.0a12-cp313-cp313-macosx_15_0_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
7d7e36ff8d24f038ed4c73fe10f1a38591d00a828ebd6e619ae7fcd7ce0e3096
BLAKE2b-256 checksum
How to use checksums
d29a92003393c9451cd1d01045925af7846ddbb987231470ec0854ec69ba125f
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp313-cp313-macosx_14_0_arm64.whl

Download URL arcae-0.4.0a12-cp313-cp313-macosx_14_0_arm64.whl
Size 4.2 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
332157e914ece61920a6b0497a4b2b0964207bf17055f31d2207fbbe34bfa6b1
BLAKE2b-256 checksum
How to use checksums
348a7ed86209eaccfda7bb325dd429fee4c2eaf44b80d40f9e0ab62b80f65b98
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL arcae-0.4.0a12-cp312-cp312-manylinux_2_28_x86_64.whl
Size 17.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e4802d4277807ef9d093f807f12231f8432c353477e9437a6894a0ad7290ae03
BLAKE2b-256 checksum
How to use checksums
b5fce1b5e8a96b54e7c1daaf095b25d5d242d2a8ddbcf185473894dce3dfcf0f
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL arcae-0.4.0a12-cp312-cp312-manylinux_2_28_aarch64.whl
Size 16.8 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3b8329af85aace0db9a571347c24852af9baf8b82df68bd88b188d17bd27bee7
BLAKE2b-256 checksum
How to use checksums
109f7884118df5fd46dc2b0a4614b2d90d50ef8da1efba693ab3e34586680f9f
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp312-cp312-macosx_15_0_x86_64.whl

Download URL arcae-0.4.0a12-cp312-cp312-macosx_15_0_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
d152b1b52f5850d1d984183bf674f421f326eec136f93696f55fd0aa31cc21b6
BLAKE2b-256 checksum
How to use checksums
733cf61529e3c920ab0ee2fc89930c64cae475b5eafb9388ad5fbf7f5c6eb62a
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp312-cp312-macosx_14_0_arm64.whl

Download URL arcae-0.4.0a12-cp312-cp312-macosx_14_0_arm64.whl
Size 4.2 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
0bca95ce0e72e42284b7835de19ec5a70ae201f9263336e38586456bf2b8168c
BLAKE2b-256 checksum
How to use checksums
4344669fe8e7ef7d38d3b7ee613ac33eeacc5349185d0817cd2bcfa0a48ccc42
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL arcae-0.4.0a12-cp311-cp311-manylinux_2_28_x86_64.whl
Size 17.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f5b0230fe20c249f736b9938a91ac5d77a743ed561d55b4bc70fa6dcc7c0274
BLAKE2b-256 checksum
How to use checksums
ff8cb5b9a8079f90f42dbc7376eef90e1d52a16cf2f2869d0215bd718822d02e
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL arcae-0.4.0a12-cp311-cp311-manylinux_2_28_aarch64.whl
Size 16.7 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
73386465d2165414e6ffeede912e0273725a293d4d42281f9cbf214c7f8b7675
BLAKE2b-256 checksum
How to use checksums
0301e6d9677103ad06275c725609cdff58b7dd8eebc457b168d1ba60ca1c88fd
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp311-cp311-macosx_15_0_x86_64.whl

Download URL arcae-0.4.0a12-cp311-cp311-macosx_15_0_x86_64.whl
Size 4.4 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
bb2a2937bbbe83b81ea2f4c06e089953340093c0797bb66293fd6bf8711d99a9
BLAKE2b-256 checksum
How to use checksums
d3d345f33a07fbcd8cc84f9bc378e0fe4f4940e464d71e576d983305918c2ef5
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 23, 2026.

Transparency log

Release files / arcae-0.4.0a12-cp311-cp311-macosx_14_0_arm64.whl

Download URL arcae-0.4.0a12-cp311-cp311-macosx_14_0_arm64.whl
Size 4.2 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
65fc7ad7485ce5bbc6c9539915194c5e2a2a8ca4dc48b26fede8c0976ef696db
BLAKE2b-256 checksum
How to use checksums
7433da586dbe708ca0b8c4d3691e073e36618938a07b8d6d4b4be2e89f594b7e
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 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.5

17 release files

0.5.4

17 release files

0.5.2

17 release files

0.5.0

17 release files

This release

0.4.0a12 This release

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