nominal-streaming
Python bindings for the Nominal Rust streaming client
What it is and what it does
nominal-streaming is a Python wrapper around a Rust streaming client that sends time-series data to Nominal Core, a cloud data platform. It manages three competing concerns: keeping data in memory for only a configurable duration, falling back to local disk storage when the network fails, and applying backpressure to slow incoming requests when network throughput is saturated. You can stream individual readings or batch large arrays of timestamped values, optionally attaching tags for metadata.
The package depends on typing-extensions and python-dateutil for its runtime. It uses precompiled Rust bindings distributed as wheels for Python 3.10+ across Linux, macOS, Windows, and ARM platforms. The library is actively maintained but explicitly warns that it may introduce breaking changes during development.
Use it for:
- Stream sensor readings or telemetry from IoT devices to Nominal Core with automatic disk fallback during network outages.
- Batch-upload historical time-series data to a cloud backend with configurable buffering and memory management.
- Build a data pipeline that applies backpressure to prevent overwhelming downstream infrastructure when network throughput is constrained.
- Log structured time-series events with tags for later analysis, protecting against data loss via local file fallback.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Streams time-series data to Nominal Core with optional file fallback and backpressure handling, wrapping a Rust streaming client for Python.
Yes, if you are actively using Nominal Core and need a Python client for streaming time-series data with network resilience. The permissive MIT license, active maintenance, and prebuilt wheels for common platforms make it straightforward to integrate. However, be aware that the library is under active development and may introduce breaking changes; review the warning in its documentation and test thoroughly before production deployment.
Install
nominal-streaming on PyPI
pip
pip install nominal-streaminguv
uv add nominal-streamingpoetry
poetry add nominal-streamingInstalling nominal-streaming
Before you install
Medium install friction due to compiled Rust bindings, but prebuilt wheels cover common platforms (x86_64, ARM, macOS, Linux, Windows). Active maintenance with a recent release 15 days ago; requires Python 3.10 or later.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
from nominal_streaming import NominalDatasetStream, PyNominalStreamOpts
import pathlib
stream = NominalDatasetStream(
auth_header="your_token",
opts=PyNominalStreamOpts(),
).with_core_consumer("endpoint").with_file_fallback(pathlib.Path("fallback.avro"))
with stream:
stream.enqueue("channel", int(time.time() * 1e9), value, tags={"key": "val"})
Requires Python 3.10 or later; Rust bindings are precompiled but platform-specific wheels must match your OS and architecture.
Verify before relying
- Whether the library is suitable for production use given the active-development warning in its documentation.
- What authentication mechanism the auth_header parameter expects and how to obtain it.
- Performance characteristics and throughput limits under typical network conditions.
- Exact behavior of backpressure application when network throughput saturates.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — typing-extensions, python-dateutil |
| Maintenance | actively maintained — 15 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 138,231/month — #11,335 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nominal_streaming-0.9.3-cp310-abi3-macosx_11_0_arm64.whl; nominal_streaming-0.9.3-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; nominal_streaming-0.9.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; nominal_streaming-0.9.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; nominal_streaming-0.9.3-cp310-abi3-musllinux_1_2_aarch64.whl; nominal_streaming-0.9.3-cp310-abi3-musllinux_1_2_armv7l.whl; nominal_streaming-0.9.3-cp310-abi3-musllinux_1_2_x86_64.whl; nominal_streaming-0.9.3-cp310-abi3-win_amd64.whl
Tags
More Distributed Computing packages
gRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
cloudpickleCloudpickle extends Python's standard pickle…
permissive · top 1,000 on PyPI
smart-openProvides a unified, open()-compatible Python…
permissive · top 1,000 on PyPI
portalockerPortalocker provides cross-platform file…
permissive · top 1,000 on PyPI
rayRay is a distributed computing framework that…
permissive · top 1,000 on PyPI
nominalNominal is a Python SDK for automating…
permissive · top 15,000 on PyPI
snowpipe-streamingStreams data in real-time into Snowflake tables…
permissive · top 15,000 on PyPI
streamlinkStreamlink extracts video streams from various…
permissive · top 15,000 on PyPI
fastarFastar provides high-performance tar archive…
permissive · top 1,000 on PyPI
json-streamStreams JSON data from files, URLs, or…
permissive · top 5,000 on PyPI
stream-zipConstructs ZIP archives on-the-fly without…
permissive · top 15,000 on PyPI
betfairlightweightA Python wrapper for the Betfair API-NG that…
permissive · top 15,000 on PyPI
faust-streamingFaust-streaming is a Python library for…
permissive · top 15,000 on PyPI
httprhttpr is a fast HTTP client for Python built on…
permissive · top 5,000 on PyPI
python-subunitSubunit is a streaming protocol library for…
permissive · top 5,000 on PyPI