Skip to main content

arrakis-admin

Admin CLI for the Arrakis low-latency timeseries data distribution platform

ci coverage documentation pypi version


Administrative tooling for operating Arrakis deployments: manage the Kafka topics backing data partitions, manage the server's static publisher tokens, probe data topics for debugging, and migrate server metadata caches.

Resources

Installation

With pip:

pip install arrakis-admin

Quickstart

Every command supports --help. Commands that modify the broker show what they will do and prompt for confirmation, and support --dry-run to preview changes without applying them.

Manage topics

Create Kafka topics for a publisher's data partitions, with partition assignments queried from the Arrakis server:

➜ arrakis-admin topics create H1-lldd -b kafka1:9092 -s grpc://arrakis:31206

topics to create (2):
  broker: kafka1:9092
  retention: 7d (604_800_000ms), replication factor: 1

  + arrakis-H1-lldd_float32
  + arrakis-H1-lldd_float64

metadata topic (compact, indefinite retention):
  + arrakis-metadata-H1-lldd

Is this ok [y/N]:

Partition assignments can instead be read from a publisher TOML config with --config, and replay-context publishers are supported via --replay-id.

Sync data topics against the channel metadata published on the broker, creating missing topics and removing stale ones:

➜ arrakis-admin topics sync -b kafka1:9092 --dry-run

Remove a publisher's topics (or all Arrakis topics with --all):

➜ arrakis-admin topics remove -b kafka1:9092 -p H1-lldd

Manage static publisher tokens

Manage the static token file of an arrakis-server running with --auth publish --static-token-file (see the arrakis-server authentication documentation). Register a publisher by minting a fresh 256-bit token bound to it:

➜ arrakis-admin tokens add H1-lldd -f /etc/arrakis/tokens.toml
token added for H1-lldd in /etc/arrakis/tokens.toml (fingerprint 3fa4b2c1)
f3a9c2...

The token is printed to stdout, once — deliver it to the publisher's host (e.g. an ARRAKIS_TOKEN= environment file for its service, which --env emits directly) and nowhere else. Edits touch only the target publisher's line, are written atomically, and are validated with the server's own parser, so a hand-maintained file's comments and layout survive; the server hot-reloads the file, so changes need no restart.

Rotate a token in two phases — tokens rotate mints a new token while keeping the old one valid, then tokens prune drops the old one once the publisher is redeployed. tokens remove revokes a publisher, tokens list shows entries as fingerprints (never secrets), and tokens check validates the file.

Probe data topics

A debugging tool that consumes a partition's data topic directly from Kafka and unpacks each message's Arrow payload, reporting block times, per-channel content, and latencies:

➜ arrakis-admin probe -p H1-lldd_float64 -b kafka1:9092 -v
probing topic 'arrakis-H1-lldd_float64' on kafka1:9092 (Ctrl-C to stop)

offset=5231 time=1418063158.000000000 latency=0.412s transport=0.198s size=125.4kB channels=42 samples=131072
  [   0]  float64  16384 samples
  [   1]  float64  16384 samples
  ...

latency is the delay between the GPS block time and receipt; transport is the delay relative to the Kafka message timestamp, separating publisher lag from broker lag.

A channel name can be given instead of a partition ID, in which case its partition is resolved through the Arrakis server and the channel's rows are highlighted in the output:

➜ arrakis-admin probe -c H1:GDS-CALIB_STRAIN -s grpc://arrakis:31206 -b kafka1:9092

Migrate metadata caches

Convert an arrakis-server TOML metadata cache to SQLite, or upgrade an existing SQLite cache to the current schema:

➜ arrakis-admin cache migrate metadata.toml
migrated 12483 channels from metadata.toml to metadata.db

➜ arrakis-admin cache migrate metadata.db
upgraded metadata.db from schema v2 to v3

Clear all data from a cache while preserving its schema:

➜ arrakis-admin cache clear metadata.db

Metadata

Release files for arrakis-admin 0.6.0

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

Source distribution (sdist)

Source distribution for arrakis-admin 0.6.0
File Size Uploaded
arrakis_admin-0.6.0.tar.gz 185.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arrakis-admin 0.6.0
File Interpreter ABI Platform
arrakis_admin-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 257.6 kB

Release files / arrakis_admin-0.6.0.tar.gz

Download URL arrakis_admin-0.6.0.tar.gz
Size 185.3 kB
Tags Source
SHA-256 checksum
How to use checksums
437085ebc225a623cb3b00308253ae25ffd78753f01225864f535fab9b1886d0
BLAKE2b-256 checksum
How to use checksums
a46cccb10b57dd0eb16c971e6be1fc6dfbdc797ca86e52b49b4506ac56249876
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release files / arrakis_admin-0.6.0-py3-none-any.whl

Download URL arrakis_admin-0.6.0-py3-none-any.whl
Size 72.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35f83f679a92b89b22c15b162b95af5d6f6d0c42568360d422dbb51954f0c7de
BLAKE2b-256 checksum
How to use checksums
e26bbd335544d6dc198b03b038f2ab54bf8c77e3953e80471e49842ef7c84df2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.12 HTTPX/0.28.1

Release history Release notifications | RSS feed

0.7.0

2 release files

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 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