Skip to main content

Zelos SDK

Zelos is the data platform for hardware systems. One platform to observe, control, test, and analyze your system in real time, from prototype to production.

Use the Zelos SDK to push data into the Zelos App, Zelos Agent or directly to Zelos Cloud.

Read data

connect() is the one import you need; zelos_sdk.agent re-exports the same names.

from zelos_sdk import connect

agent = connect("http://localhost:2300")
frame = agent.query("bus0/BMS_message/cells.*", start="-5m").short_names()

spread = frame["cell_0"] - frame["cell_1"]   # a series in V, on the frame's time axis
spread.abs().max()                           # prints its unit and what it measured
df = frame.ffill().to_pandas()               # a pandas DataFrame, when you want one

agent.check.that("bus0/BMS_message/status.pack_current", "<", 100)

A frame and a series answer to pandas' names, and carry units through arithmetic (power.to("kW"), energy.to("Wh")). Install zelos-sdk[notebook] for the pandas conversions.

Example: Logging Random Data

Install uv and save the file below as zelos_random.py and run uv run zelos_random.py to start streaming data live.

#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.10"
# dependencies = [ "zelos-sdk" ]
# ///
import random
import time

import zelos_sdk

zelos_sdk.init()

src = zelos_sdk.TraceSource("example_source")
while True:
    src.log("example/message", {"value": random.randint(0, 10)})
    time.sleep(0.01)

Example: Logging Thermal Zones on Linux

Linux supports reading temperature sensors via sysfs. On a linux system, install uv and save the file below as temp_linux.py and run uv run temp_linux.py to start streaming data live.

#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.10"
# dependencies = [ "zelos-sdk" ]
# ///
from pathlib import Path
import time

import zelos_sdk

zelos_sdk.init()

# Find all of our thermal zones from sysfs
thermal_zones = list(Path("/sys/class/thermal").glob("thermal_zone*"))

# Once per second, read the zone info and log it
src = zelos_sdk.TraceSource("linux_thermal")
while True:
    for zone_path in thermal_zones:
        # Read the zone info from sysfs
        zone_type = (zone_path / "type").read_text().strip()
        zone_temp_c = int((zone_path / "temp").read_text().strip()) / 1000.0

        # Log to the zelos sdk
        src.log(zone_path.name, {"type": zone_type, "temp_c": zone_temp_c})

    time.sleep(1)

Metadata

Release files for zelos-sdk 0.0.12

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

Built distributions (wheels)

Table of built distributions (wheels) for zelos-sdk 0.0.12
File
zelos_sdk-0.0.12-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
zelos_sdk-0.0.12-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 162.4 MB

Release files / zelos_sdk-0.0.12-cp310-abi3-win_amd64.whl

Download URL zelos_sdk-0.0.12-cp310-abi3-win_amd64.whl
Size 36.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c3640b0d42c107a0b0c03b1cb9d7c8e1975ba34b0ffd3e536d111d698b46da12
BLAKE2b-256 checksum
How to use checksums
8ade568832af9780aa345e3bde8199ccbc372bec612fa8f49f31830f0ff71c20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_x86_64.whl
Size 45.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
db17d72c0a7cbca9fc09a60b07bbd920abdd70f9b3b20f3aa258eeba718d2776
BLAKE2b-256 checksum
How to use checksums
1bf30f4d3289372b4418af5cc58054d6c9030dbd7e1e152979e2e29ef6825906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL zelos_sdk-0.0.12-cp310-abi3-manylinux_2_28_aarch64.whl
Size 46.3 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
6a0b08db09c92a9e6499233e3a60411c1abb329d6da893bc34c1606c20aa59c7
BLAKE2b-256 checksum
How to use checksums
0206a6e8fe1e5795af0c753380296d51b97c6ce2e267b2d9411f9dc6d65c2483
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / zelos_sdk-0.0.12-cp310-abi3-macosx_11_0_arm64.whl

Download URL zelos_sdk-0.0.12-cp310-abi3-macosx_11_0_arm64.whl
Size 34.0 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d14e78a9baf113ecbb8edeb98498629e8a493c8b5e921281f35fa94a4a2c8e48
BLAKE2b-256 checksum
How to use checksums
f905d870cf9ba7e4624492a887999dcf6319c6d6a83a65952a02e3116b2cddd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.0.12 This release

4 release files

0.0.10

4 release files

0.0.9

4 release files

0.0.8

4 release files

0.0.7

4 release files

0.0.6

4 release files

0.0.5

4 release files

0.0.4

4 release files

0.0.3

4 release files

0.0.2

4 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