Skip to main content

Serve Astra-compressed models anywhere - hosted or local ONNX serving with built-in 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[serve]'         # on-device ONNX serving (onnxruntime, numpy)
pip install 'astra-ai-sdk[serve,system]'  # + precise CPU/RSS metrics (psutil)

Exports: LocalRunner, RunnerError, pull_artifact, TelemetryReporter, ApiError.

On-device serving (the whole product)

LocalRunner.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 LocalRunner

# base_url defaults to the hosted Astra origin (override with ASTRA_BASE_URL).
runner = LocalRunner.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 LocalRunner

runner = LocalRunner.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: LocalRunner.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

astra_ai_sdk-0.3.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

astra_ai_sdk-0.3.0-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file astra_ai_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: astra_ai_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for astra_ai_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c75412a6fdb467d78e035da3867376c987a4b147b79c94ed78693dc4e0ec2b2a
MD5 2934b9bdfa18e7eef7516a2ec2f52cef
BLAKE2b-256 b1caf09ebe92e433699a679c1f03bb23de364ecacd42e866356d622cdc6c2b9d

See more details on using hashes here.

File details

Details for the file astra_ai_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: astra_ai_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 22.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for astra_ai_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04c49f1b9c7de5a9a6f2944af19d2300d520af4ed94ad3e1c9b9771528fa12dc
MD5 d702edd2981942e8606919c245a69bcc
BLAKE2b-256 4edb04ced035c08cff9456498249fc09e0fa8071b3320d1a426e3bd72dd1d76d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page