Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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.12a2

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.12a2
File
zelos_sdk-0.0.12a2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
zelos_sdk-0.0.12a2-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
zelos_sdk-0.0.12a2-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
zelos_sdk-0.0.12a2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 161.7 MB

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

Download URL zelos_sdk-0.0.12a2-cp310-abi3-win_amd64.whl
Size 36.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b5feaa038dd12920c79d046e0bf8c452eed73b00938317b728678ed19cd9c15f
BLAKE2b-256 checksum
How to use checksums
2b29afbfc91fd82f25ffc0e7323366e2db38fd6e71b9470b868d000aa49d84b9
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.12a2-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL zelos_sdk-0.0.12a2-cp310-abi3-manylinux_2_28_x86_64.whl
Size 45.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
c6bbb018989d8fd1f452c3c04836ee12f4fcc3b56c5315667a4d048b3612beec
BLAKE2b-256 checksum
How to use checksums
eaf20cd1971c3849256ae70dfd73e9a9aea587992e5d244db5babfe934ad0f54
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.12a2-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL zelos_sdk-0.0.12a2-cp310-abi3-manylinux_2_28_aarch64.whl
Size 46.1 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
d3a34d262bf2bd2bf6a7ed9a3413751f50d7d2542138a8b3918d436f373738a2
BLAKE2b-256 checksum
How to use checksums
de1a3cf88c5dca44dacab317016ccfa44fff05edb72b3f5312ea04781d427c1f
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.12a2-cp310-abi3-macosx_11_0_arm64.whl

Download URL zelos_sdk-0.0.12a2-cp310-abi3-macosx_11_0_arm64.whl
Size 33.8 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6f4b13c19fdafb0825937c88a9b5a927d8f9ec1e5580fd03a206958d8dcac8d1
BLAKE2b-256 checksum
How to use checksums
424769ae2e812f2faa9ec4213784db9e8c3d73d53e0c03f5266a547dffd56806
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.12a2 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