Skip to main content

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arcae-0.5.4.tar.gz (100.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

arcae-0.5.4-cp314-cp314-manylinux_2_28_x86_64.whl (16.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

arcae-0.5.4-cp314-cp314-manylinux_2_28_aarch64.whl (15.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ ARM64

arcae-0.5.4-cp314-cp314-macosx_15_0_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

arcae-0.5.4-cp314-cp314-macosx_14_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

arcae-0.5.4-cp313-cp313-manylinux_2_28_x86_64.whl (16.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

arcae-0.5.4-cp313-cp313-manylinux_2_28_aarch64.whl (15.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

arcae-0.5.4-cp313-cp313-macosx_15_0_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

arcae-0.5.4-cp313-cp313-macosx_14_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

arcae-0.5.4-cp312-cp312-manylinux_2_28_x86_64.whl (16.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

arcae-0.5.4-cp312-cp312-manylinux_2_28_aarch64.whl (15.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

arcae-0.5.4-cp312-cp312-macosx_15_0_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

arcae-0.5.4-cp312-cp312-macosx_14_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

arcae-0.5.4-cp311-cp311-manylinux_2_28_x86_64.whl (16.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

arcae-0.5.4-cp311-cp311-manylinux_2_28_aarch64.whl (15.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

arcae-0.5.4-cp311-cp311-macosx_15_0_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

arcae-0.5.4-cp311-cp311-macosx_14_0_arm64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

File details

Details for the file arcae-0.5.4.tar.gz.

File metadata

  • Download URL: arcae-0.5.4.tar.gz
  • Upload date:
  • Size: 100.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for arcae-0.5.4.tar.gz
Algorithm Hash digest
SHA256 911097497d163ed591776372ca446ae2c76eeff3479d507acb772d8255cb05a9
MD5 59870ebec230fc9882f95343e2d879c9
BLAKE2b-256 3e87d7c1e94e268e774cb1a22e1ed0c1d41552f1e60f662575c62fedd2b7e4ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4.tar.gz:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4eb3750340f7ab40262a26f9e46320967ea471db24e8dfaf03b40a6d7778f991
MD5 25e5e2860f5d77f272665ef30373b928
BLAKE2b-256 7f591f36a1eb1cf297f03c7b3195853dfacc194b73e4ecbc31911dd24e39b532

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp314-cp314-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp314-cp314-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 43520c0a22bba7ac7debda32012802ce9b637d57812a461e82c58e9ee7e1339d
MD5 54ff03d835a29c0981119f702dbcfbb0
BLAKE2b-256 d961ec3f3a9a14c149971657d50ef576be558885dd60c811bc453f93766a42b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp314-cp314-manylinux_2_28_aarch64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 bc751ec1241fc3a8782921790dbacba5319177a625879fa6072d49c48ff891d3
MD5 2b3aa934aaeb7018bfcff39ddaa14059
BLAKE2b-256 5b7c201b4c51be59b7e4d5547355aa3e3938b298c2c88b90647dddf337c37c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp314-cp314-macosx_15_0_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a8eed4fa4f4eb4916dfa1a94b0731d6bbbd2baf97017fd62cde4f17dabdd5efc
MD5 daffacd323072e3f5995b08d7b610e20
BLAKE2b-256 499850a60701d3aa4255128cffed9eb0bc804cf96d416b437bf8ef451b0b0138

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6488b875448f099919f59caefd2c6db56d168783d60f5e5f66a0f462bb0332b9
MD5 deedd8528dcc0b80815198be636d66ba
BLAKE2b-256 4c74fc9c750c25ba03db96d06f973d9d4d856338f34fa460314ff1ead2ffe7d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 42c3f99fed3d6eb1f6697a662a25d8b61aa156cabdb3099a32590162d90d765f
MD5 00acfb390874836e14c215360540a2f7
BLAKE2b-256 356a1855882a68d3285e7fa8206b1c330af626e2d3b83d2ec843fe034d4f00b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d254f10f6234679d7b5ee9d62cb57a6dea8885a60bff22aa727d4ba788e1d214
MD5 710615da88a69bef91c8cbf560baa54f
BLAKE2b-256 dd119c4f75b94b5a3bf0f299906ad5c8c1ef1e4d0e0bfa97752dd6d63640c912

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp313-cp313-macosx_15_0_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 12e30f032a6716b26f80cb74f254098b9f949d1bb345d089d459031be809b563
MD5 01b0eda39ae1acf2194a5db47877bdf0
BLAKE2b-256 43ca5322dbfc1c8ca59cddc461270930a6921d101bc326671bee5fffad78960c

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 38eaf4dbf3f02c5f87d684b2208d3da1e849281cd79325ef40fa0eeaca279566
MD5 d6d3e3747842326654c0bfd05dd06548
BLAKE2b-256 4237b605a90a0dfc3323a2874ed06ede386d82effa9e775dbdba4a8ed400a28d

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 02d986fdf0f634dd58e072d96f03ff1832606651b00815be4e7e5b2bc5d8cd48
MD5 83fd51baa51d215ee0eb5e247c41d973
BLAKE2b-256 03005a9a8a6ab2dba57f3b581c1c7abfe2edaf45961d5923a71b21ee023715da

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 05bb54acf3a2ef9b029af28eeaff05aa46b5991200b51e325d155f48b7427a52
MD5 56d0ef90a4d786472b269f8a2d28efcd
BLAKE2b-256 c489a5713eb0eaf82eb863b38b5e3ed25081d669878b1b63d54a229689d690c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp312-cp312-macosx_15_0_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 340c1df1757c33efc0c40d7c871db65f5c89584a07b4dbd0f27ad0002b6e5cdc
MD5 2328211546878e508288153b5a039bc3
BLAKE2b-256 c44764dd2899aea28a7a8bddb45591d02006431b8f4f54657d77d1feadb14252

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5589e7a629c561846e276443dca3a2b05d5ccbf888eaa0334589fe7b58f760b1
MD5 0984f97d7032adbd9d2e3e8dacdfab97
BLAKE2b-256 d91395c34553dbf590a23f027c72de70fe2020fdb6348680a2826f4a5d01364f

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 61ad61f91ed00304426ed26b4329d47d65d96f1ed45ffe64b4e570b3a2a4f1e1
MD5 ce0149666292e990a07a4ea2a9882419
BLAKE2b-256 0c701fefa4401361f9fe8a3a299b29c5aa4d79e7155dfb2634f903de4ee870cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c428411ed8ed15d6e450814aea20954879c86cb75527c08354cf270a50235294
MD5 90ec924c029bd1838b9da62a50793b68
BLAKE2b-256 23789ea280c0c9f32c3a73c4e1827765515dee20521d558c7f49411921f95269

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp311-cp311-macosx_15_0_x86_64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcae-0.5.4-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for arcae-0.5.4-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e2ed5ad1809b647bfc4bf762220004d44b1a869f654922ad6b37288927eb17f9
MD5 4e012f4acb36556d0ddffa9235eba176
BLAKE2b-256 aa50026ad771c38a02b618a9914fee668ac865177363c6c6fa3de545b801894b

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcae-0.5.4-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: ci.yml on ratt-ru/arcae

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.4 This release

17 files

0.5.3

17 files

0.5.2

17 files

0.5.1

17 files

0.5.0

17 files

0.3.3

17 files

0.3.2

17 files

0.3.1

17 files

0.3.0

17 files

0.2.9

13 files

0.2.8

13 files

0.2.7

13 files

0.2.6

13 files

0.2.5

13 files

0.2.4

17 files

0.2.3

17 files

0.2.2

5 files

0.2.1

5 files

0.2.0

5 files

0.1.0

5 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