nominal-streaming Python Bindings
nominal-streaming is a thin python wrapper around the existing nominal-streaming rust crate.
Usage semantics remain largely the same, but with some slight alterations to allow for a more pythonic interface.
The library aims to balance three concerns:
- Data should exist in-memory only for a limited, configurable amount of time before it's sent to Core.
- Writes should fall back to disk if there are network failures.
- Backpressure should be applied to incoming requests when network throughput is saturated.
This library streams data to Nominal Core, to a file, or to Nominal Core with a file as backup (recommended to protect against network failures). It also provides configuration to manage the tradeoff between above listed concerns.
Usage example: streaming from memory to Nominal Core with file fallback
import pathlib
import time
from nominal.core import NominalClient
from nominal_streaming import NominalDatasetStream, PyNominalStreamOpts
if __name__ == "__main__":
num_points = 100_000
stream = (
NominalDatasetStream(
auth_header="<api key>",
opts=PyNominalStreamOpts(),
)
.enable_logging("info") # can set debug, warn, etc.
.with_core_consumer("<dataset rid>")
.with_file_fallback(pathlib.Path("local_fallback.avro"))
)
with stream:
# Stream 100_000 live readings (made up values)
for idx in range(num_points):
time_ns = int(time.time() * 1e9)
value = (idx % 50) + 0.5
stream.enqueue("channel_name", time_ns, value, tags={"tag_key": "tag_value"})
# Stream 100_000 points in one batch
start_time = int(time.time() * 1e9)
timestamp_offsets = int(1e9 / 1600)
timestamps = [start_time + timestamp_offsets * idx for idx in range(num_points)]
values = [(idx % 50) + 0.5 for idx in range(num_points)]
stream.enqueue_batch(
"channel_name",
timestamps,
values,
tags={"tag_key": "tag_value"}
)
Metadata
Release files for nominal-streaming 0.9.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 30.4 MB
Release files / nominal_streaming-0.9.10-cp310-abi3-win_amd64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9ef7b33f5417ca9e8cd511858d00cc69dca72cc7fb372313b436051bd57b4192
|
|
BLAKE2b-256 checksum How to use checksums |
e6e8545012687e8342f76e7e98f6cab0b154353d50e308ff7dc0a3c064356a9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8aa1aee8423c8a1ec8f50c14c3cc27ba33844418fb3b3fed3239fc2233164411
|
|
BLAKE2b-256 checksum How to use checksums |
4d8eeaae8edaae1556a516389137e5ca1f712e8372862aa3512f8b5601ac552a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_armv7l.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_armv7l.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
71cdbe17c06f5f432f950f7d3b97d03b8ef1d36e887b4469e61febb1e4e9c859
|
|
BLAKE2b-256 checksum How to use checksums |
0b68d35c1096465b59b71407d543b52fa41f057d0687ed537d858fb158e701e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
cb5c7177cc6d486bc70fd58b16eb91aa2e52198debedc9f6bdc76ad2835c7dcc
|
|
BLAKE2b-256 checksum How to use checksums |
5c51c3f2e63941d1061556e641564237c112adc59f112856175ea6714de057ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0077394678554d4dde4ddf3a21dbe271c96dc1d08980d053f71efefae6018f80
|
|
BLAKE2b-256 checksum How to use checksums |
b6a850e0418a6591fc3662cf0629a16fb6642ef1f9294c105a639a442d920edb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl |
|---|---|
| Size | 3.4 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARMv7l abi3 |
|
SHA-256 checksum How to use checksums |
938ba2bfa893d3efe389ab20a6ed00320e91ddfbc276c560efe7979eff4dec38
|
|
BLAKE2b-256 checksum How to use checksums |
cea83e42f1f8333d36649b5d9d952890017d886f5898eb0eefee7aa8dd493d27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
00e6cc207383506bd947899bd53daef3cd79f4335efe824fe1b116f85372893a
|
|
BLAKE2b-256 checksum How to use checksums |
00bc24de83bfe61ed345033bcb08fd61b57adf6c3086e918a3321b073f308812
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|
Release files / nominal_streaming-0.9.10-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | nominal_streaming-0.9.10-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a2aa15d9525c7ae83eb927e5bbd07ed3f1abcdcf787d059802a5b5b00a94a297
|
|
BLAKE2b-256 checksum How to use checksums |
ba42a4065839e7d4092b0f0d814374991a020cb489ee3717ab3c4240368ed781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.24
|