Skip to main content

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:

  1. Data should exist in-memory only for a limited, configurable amount of time before it's sent to Core.
  2. Writes should fall back to disk if there are network failures.
  3. 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)

Table of built distributions (wheels) for nominal-streaming 0.9.10
File
nominal_streaming-0.9.10-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_armv7l.whl CPython 3.10 abi3 Linux musl 1.2+ ARMv7l Details
nominal_streaming-0.9.10-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 abi3 Linux glibc 2.17+ ARMv7l Details
nominal_streaming-0.9.10-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
nominal_streaming-0.9.10-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

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

Release history Release notifications | RSS feed

0.10.0

8 release files

This release

0.9.10 This release

8 release files

0.9.9

8 release files

0.9.8

7 release files

0.9.7

8 release files

0.9.6

8 release files

0.9.5

8 release files

0.9.4

8 release files

0.9.3

8 release files

0.9.2

8 release files

0.9.1

8 release files

0.9.0

8 release files

0.8.2

8 release files

0.8.1

8 release files

0.8.0

8 release files

0.7.11

8 release files

0.7.10

8 release files

0.7.9

8 release files

0.7.8

8 release files

0.7.7

8 release files

0.7.6

8 release files

0.7.5

8 release files

0.7.4

8 release files

0.7.3

7 release files

0.7.2

7 release files

0.7.1

7 release files

0.7.0

7 release files

0.6.0

7 release files

0.5.8

7 release files

0.5.7

7 release files

0.5.6

7 release files

0.5.5

7 release files

0.5.4

7 release files

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