skillfed

nominal-streaming

Python bindings for the Nominal Rust streaming client

nominal-streaming v0.9.3 138.2K downloads/30d#11,335 on PyPI0
Permissive license MIT Active released

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-streaming

uv

uv add nominal-streaming

poetry

poetry add nominal-streaming

Installing 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

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Rust

Tags

time series data streamingnominal core clientdata buffering with fallbackbackpressure handlingstreaming to cloud storagedisk fallback streamingnetwork resilient data pipeline
time-seriesstreamingrust-bindings

More Distributed Computing packages