tatolab-stream
The Python SDK for Tatolab, which turns cameras, microphones, screens, models and your own code into realtime streams that browsers, other streams and AI agents can read.
Looking to get started? Install the Tatolab app first, not this package.
tatolab-streamis the library you write streams with. It doesn't run them: the Tatolab runtime on your machine does, and it comes with the app.
- macOS (Apple silicon, macOS 15 or later):
brew install --cask tatolab/tap/tatolab, thenopen -a Tatolab- Linux (x86_64 with a Vulkan GPU):
curl -fsSL https://get.tatolab.com/install.sh | shThen follow the Quickstart.
tatolab newcreates a project that already depends on this package, so you rarelypip installit yourself.
What it is
A stream is an ordinary Python project. You write nodes as Python classes and connect them in a
function decorated @stream:
from tatolab.stream import CameraSource, StreamBuilder, stream
from nodes.halftone_lens_effect import HalftoneLensEffect
@stream
def main(stream_builder: StreamBuilder) -> None:
camera = stream_builder.add(CameraSource)
effect = stream_builder.add(HalftoneLensEffect)
stream_builder.connect(camera.output("video"), effect.input("video_from_upstream"))
stream_builder.expose(effect.output("video_to_downstream"))
tatolab dev runs it in the runtime. Each node runs in its own process, so one slow node never
blocks another. An exposed output gets an address other streams, agents and browsers can read.
This package holds the authoring API (@stream, @node, StreamBuilder), typed classes for
every built-in node (camera, test pattern, microphone, speaker, H.264, H.265 and Opus codecs, and
more), and the protocols your nodes are handed at run time. It installs and imports without the runtime,
with complete type hints, so your editor, type checker and unit tests work on any machine.
Add it to an existing project
uv add tatolab-stream
The runtime runs your nodes with the project's .venv/bin/python, so anything you install there
your nodes can import. See Python SDK for details.
Supports CPython 3.10 to 3.13 (not the free-threaded builds).
Other packages
tatolab-webrtc: WHIP publish and WHEP play nodes.tatolabon PyPI is a placeholder that installs nothing. Tatolab itself installs as an app, as above.
Links
Licensed under the Business Source License 1.1.
Metadata
Release files for tatolab-stream 0.54.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tatolab_stream-0.54.11.tar.gz | 93.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tatolab_stream-0.54.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 202.2 kB
Release files / tatolab_stream-0.54.11.tar.gz
| Download URL | tatolab_stream-0.54.11.tar.gz |
|---|---|
| Size | 93.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b293d5c64b0022e749e915bcc49137868dc7dee31e96c8cd4961c3878839976d
|
|
BLAKE2b-256 checksum How to use checksums |
58ff94e805c9bc592879eac9acdf516f562902407698e7dacef1c0ba9694e174
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / tatolab_stream-0.54.11-py3-none-any.whl
| Download URL | tatolab_stream-0.54.11-py3-none-any.whl |
|---|---|
| Size | 108.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
12759bd38a65319980bf7fa2703103562407cadd62577148010916b0320ee609
|
|
BLAKE2b-256 checksum How to use checksums |
707b1319af1eaaeb2c1e063c07a126b575b6917718f4a481ecd7a1b4c9bf26af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for tatolab-stream 0.54.11
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.