Skip to main content

kymoscope

Stream live, end-to-end encrypted telemetry to Kymoscope from Python.

Requires Python 3.9 or later.

pip install kymoscope

Example

import math, time
from kymoscope import LiveStream

API_KEY = "kymoscope_..."   # Account -> API & real-time streaming, or a project's API key
# state_path keeps this sender's identity, so a restart needs no new approval
with LiveStream(API_KEY, "Rig A", state_path="kymoscope-state.json") as stream:
    print("stream id:", stream.stream_id)
    while True:
        t = time.time()           # absolute (Unix seconds)
        stream.send([{"t": t, "signals": [
            {"name": "speed", "unit": "m/s", "value": 50 + 10 * math.sin(t)},
        ]}])
        time.sleep(1 / 60)

In an end-to-end encrypted project, the first run waits until a project member's browser approves the sender; after that it publishes on its own.

Keep every sample when the connection drops

with LiveStream(API_KEY, "Rig A", state_path="kymoscope-state.json",
                buffer_path="kymoscope-buffer", buffer_max_mb=2048) as stream:
    ...

With buffer_path (a folder), the stream always sends, also with nobody watching, so a cloud recording keeps everything. While the relay is unreachable it keeps the encrypted messages on disk, then sends them in order when the relay is back, with the bandwidth live data leaves spare. Viewers see that data in the recording, not in the live view. A crash can send a few messages twice. buffer_max_mb caps the disk used; when it is full, new samples are dropped and counted in stream.buffer_dropped. Since 0.3.0 the stream sends the compact format by default (4–8× less data); block_format=False sends the classic format for viewers on SDK versions before 0.2.0 or self-hosted relays before 0.2.0 (buffer_path always uses the compact one). With buffer_path, send absolute times (time.time()), so data sent after a restart lands in the right place in the recording.

The headless viewer (kymoscope.viewer) needs msgpack: pip install 'kymoscope[viewer]'.

Full documentation: https://kymoscope.com/docs/live

Metadata

Release files for kymoscope 0.3.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 kymoscope 0.3.0
File Size Uploaded Provenance
kymoscope-0.3.0.tar.gz 49.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kymoscope 0.3.0
File Interpreter ABI Platform
kymoscope-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 81.9 kB

Release files / kymoscope-0.3.0.tar.gz

Download URL kymoscope-0.3.0.tar.gz
Size 49.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b17966902122a8d12a372e8b4d893386c032ef789df9cf1e8c376d4daa6ce295
BLAKE2b-256 checksum
How to use checksums
ff60e81395285b3e4551cb840494457a8947871f11a05f5ba1d9cf7426d9791c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / kymoscope-0.3.0-py3-none-any.whl

Download URL kymoscope-0.3.0-py3-none-any.whl
Size 32.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
db60a8b4c2afdd6404b087990c5f7821ac32cfa112a550c07a8f5b1adbf88201
BLAKE2b-256 checksum
How to use checksums
ffd7c5329ba87ff2fc576d805b16d66f773f9632f7eb25f7f36a23f1c000c38d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for kymoscope 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for kymoscope-0.3.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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