Run Astra-compressed models on-device with local ONNX serving and built-in closed-loop telemetry that feeds the Astra dashboard
Project description
astra-ai-sdk
Serve Astra-compressed models on your own hardware — Astra never runs your model server-side — and keep the Astra dashboard monitoring them while they run.
pip install astra-ai-sdk # everything you need — pull, run, telemetry (onnxruntime + numpy included)
pip install 'astra-ai-sdk[system]' # optional: finer CPU/RSS host metrics (psutil)
Exports: AstraRunner, AstraRunnerError, pull_artifact, AstraTelemetryReporter,
AstraApiError.
On-device serving (the whole product)
AstraRunner.from_deployment pulls the deployed, compressed artifact once
(sha256-cached under ~/.cache/astra) and serves it with onnxruntime inside
your own process — no server to stand up, no hosted inference:
from astra_sdk import AstraRunner
# base_url defaults to the hosted Astra origin (override with ASTRA_BASE_URL).
runner = AstraRunner.from_deployment("dep_ab12cd34ef", "astra_sk_live_...")
out = runner.run({"input": my_numpy_array}) # bare ndarray per input name
print(out["latencyMs"], out["outputs"], out["preMs"], out["postMs"])
runner.close() # final telemetry flush
run() returns {latencyMs, outputs, preMs, postMs, raw}.
Run a file you already have
Downloaded the artifact (SDK Hub → Download Artifact) or have an .onnx on
disk? Skip the deployment — serve the file directly:
from astra_sdk import AstraRunner
runner = AstraRunner.from_file("compressed.onnx")
out = runner.run({"input": my_numpy_array})
runner.close()
Telemetry is off for a bare file; pass deployment_id= + api_key= to still
report local runs to that deployment.
Closed-loop telemetry (offline-durable)
Every on-device inference is measured and shipped back to Astra through a durable closed loop that can never block or break your serving path:
- buffers events in memory and spools them to disk when offline;
- flushes the buffered batches automatically on reconnect;
- deletes each batch only after the server acks it, with per-batch idempotency so a retry is never double-counted.
| Stream | Cadence | Fields |
|---|---|---|
| Request events | per inference | timestamp, latency breakdown (preprocess / inference / postprocess ms), success / error code, batch size, region tag, input shape signature |
| System snapshots | ~30 s | CPU %, RSS MB, throughput req/min, dropped-event count, SDK / Python / onnxruntime versions, OS, arch, execution provider, hostname |
| Window stats | ~60 s or 200 requests | per-input tensor mean/std/min/max/NaN%, output class distribution (top-10), 16-bin confidence histogram, mean entropy, mean top-1 confidence |
Window stats power the dashboard's prediction drift (PSI vs the deployment's reference distribution) and input distribution shift alerts.
Opt out any time: AstraRunner.from_deployment(..., report_telemetry=False)
or ASTRA_SDK_TELEMETRY=0. Disable the on-disk spool with ASTRA_SDK_SPOOL=0
(telemetry then buffers in memory only).
CLI
astra pull # pull the compressed artifact
astra serve --port 8765 # on-device HTTP endpoint: POST /infer
astra bench -n 200 # on-device p50/p95, reported as telemetry
Options can come from ASTRA_BASE_URL, ASTRA_DEPLOYMENT_ID, ASTRA_API_KEY
(or --deployment / --api-key / --base-url flags).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file astra_ai_sdk-0.5.0.tar.gz.
File metadata
- Download URL: astra_ai_sdk-0.5.0.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a79ee40b60c55f712d77d35d0aae026f268fc6c5a6eb52b674d8e55a680ac27
|
|
| MD5 |
2441d13299ff749d3e49d5c1a98eb9d4
|
|
| BLAKE2b-256 |
de9a4ee3568bd309f429d7d5c52e57a7c4629df047becd70db5e0a3d4a28808b
|
File details
Details for the file astra_ai_sdk-0.5.0-py3-none-any.whl.
File metadata
- Download URL: astra_ai_sdk-0.5.0-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87b2aa61afee8d1e36a6857077698eb49bc61638e5ae3e92a61fac8ed98abd3f
|
|
| MD5 |
383d7485a450b66a8aacc41a4f79b473
|
|
| BLAKE2b-256 |
3f4d380e9efdd823af6284d825318fef9e1ef53bfca58612fe68396286ae5314
|