Skip to main content

ODIN-Stream

A data streaming utility designed as an extension to the odin object dictionary.

How it works

This library is designed to stream out data. It separates the data into two packets, an identifier packet and a data packet. The identifier packet contains the metadata of the data packets, and the data packets contain the actual data. These packets can be send at different rates, and the identifier packet can be sent less frequently than the data packets to save bandwidth.

Packet definition

alt text

Common header The header contains the following content:

  • type: The type of the identifier packet, must be 1
  • id: The id of packet content, this is must be unique for each packet definition, and is used to identify the packet content in the data stream.

Identifier packet type=0x01

This packet contains the required metadata to process the data packets. They are sent less frequently than the data packets to save bandwidth.

In addition to the common header, the header contains the following content:

  • od_identifier: The identifier of the odin packet, this marks which Od definition is used.

There remaining data in the packet contains a fixed list of identifiers, each of which is a tuple of the following:

  • id: Ths id of the entry as referenced in odin
  • size: The size of the entry in bytes as it will be encoded in the data stream

Data packet type=0x02

This packet contains the data which is streamed out.

In addition to the common header, the header contains the following content:

  • timestamp: The timestamp of the packet, this is used to identify the time when the packet was sent.
  • sequence: The sequence number of the packet, this is used to identify the order of the packets.

There remaining data in the packet contains the data in a specific order, which is defined in the identifier packet.

Event packet type=0x0B

This packet contains custom event data which can be streamed out. Details of the events need to br predefined on both sides of the stream.

Prebuilt Wheels

Prebuilt wheels are available for Windows, Linux and MacOS, they can be installed using pip:

pip install odin-stream

From Source

Note: You need a valid C++ compiler and Python 3.7+ installed on your system.

Basic installation

uv pip install --reinstall -ve .

Fast build

uv pip install --reinstall --no-build-isolation -ve .

Auto rebuild on run

uv pip install --reinstall --no-build-isolation -Ceditable.rebuild=true -ve .

WIP

pip install --no-build-isolation -Ceditable.rebuild=true -ve .

Python Stub files generation

They are generated automatically buy can also be generated

python -m nanobind.stubgen -m odin_stream

Test

pytest test

Release

Create wheel

uv run pip wheel . --wheel-dir ./dist --no-deps --no-build-isolation -v

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odin_stream-0.2.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

odin_stream-0.2.0-cp312-abi3-win_amd64.whl (334.7 kB view details)

Uploaded CPython 3.12+Windows x86-64

odin_stream-0.2.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (163.8 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

odin_stream-0.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (152.0 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

odin_stream-0.2.0-cp312-abi3-macosx_11_0_arm64.whl (116.4 kB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

odin_stream-0.2.0-cp311-cp311-win_amd64.whl (335.1 kB view details)

Uploaded CPython 3.11Windows x86-64

odin_stream-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (168.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

odin_stream-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (155.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

odin_stream-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (118.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

odin_stream-0.2.0-cp310-cp310-win_amd64.whl (334.8 kB view details)

Uploaded CPython 3.10Windows x86-64

odin_stream-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (168.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

odin_stream-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (156.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

odin_stream-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (118.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file odin_stream-0.2.0.tar.gz.

File metadata

  • Download URL: odin_stream-0.2.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for odin_stream-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9e560a1202daefee3b28326547e6881b750e1f8160b34525b2a19e6f88d39ed7
MD5 68b4b934d66d1aca1ddf6c856e16bb7e
BLAKE2b-256 0923829362821cc78d560ee75bee200e4eba7b23c5d213474477c81cff20ba3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0.tar.gz:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: odin_stream-0.2.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 334.7 kB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for odin_stream-0.2.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e0f8249ee87b6eaaa830ab985236d12c930a0370ccc0241b08a27b9f6261d5c2
MD5 0696dc558fcaaff81a006157926292e0
BLAKE2b-256 b38c6ef08b32dc1af8f0529d9122dcd292b1d92ccf113b43446ba99ee867d812

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp312-abi3-win_amd64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ea8ec85db518def9a5f965d5e77868a8e87ee19974a37baccda0f80bda429083
MD5 39d335a6fd2e0d793728b9b42ab506bb
BLAKE2b-256 43123d24686b0518ae10fa7ebfda63b0fdfc4690b59f2feddc8627e1f67b3a46

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1fbaae365999800f015b03c64854f70afc91f6518d015f09279f510b4cfffafc
MD5 3620402d547786b4733965282cf2eb54
BLAKE2b-256 cc86ede09f0e07755eed753ab95a13a360e729fd844fc351e8ed75347eaf8240

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa5bd9d1118744186684e554014deec2df244aa14e757e9a3cec4820c26e69d6
MD5 0148d36c15966441038729ef6aa17e94
BLAKE2b-256 badd2f16f6df6b9cf91db4c5f0b384adabaa26382bd21b74adbcd1e76501d60f

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: odin_stream-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 335.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for odin_stream-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 12dacae9ec1b6145c07ab169c007c0eabf6c3ae297e84ba2e3561fc726bf01bb
MD5 3f19674d15e8a05f89a8e5bf9d73f938
BLAKE2b-256 6aef4e509c3a779dd5faba9b954e4a17c3a7dd8016e51fc399b5873d1944fae9

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 536fffa7449d87ffcc18138b6f649fa1f3209d83eaf8c130dfad542669837467
MD5 91c3351eb7ddca95885ef2ec730773db
BLAKE2b-256 ada716a317afafeed32f11b8bfaa1f74cb052fc604819940d7f92bf38128a35c

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d832ba7363a2d42802a8d8e097439d0bb65b1283fc199af5dcc732284fcd677d
MD5 ba43ef582fa51ba05fe7c64b67762e1e
BLAKE2b-256 989f17efaccdc09ab929b2a2e61ebb2b409fcb90d832e66c3bf2982728e2e557

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44bbd4d4db0517117f408c45476613f5ae8bbb472d1143d22310856a8d1ec139
MD5 2427c81e549004032017cffd50e7ac29
BLAKE2b-256 daed014a286e33b1207d671b4445fe619b635dfd366ad23edfa2f1563c1a1c97

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: odin_stream-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 334.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for odin_stream-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c7368125d0587d968ce818823e3b0e1bf5ce92e63dc8cae7bab1e0def35ad39
MD5 41e98446a9ddb9a3f5380100a380ad2f
BLAKE2b-256 17ed01b646e9bc7d5cf41fa1ac3f403217bd2c0f2904e6ef5de2d0427cb7fbd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9214f9a62032598777d760d0fdf522e53a22c7305220e6dbe948ccb0eceb259c
MD5 73b048fb945319d49830ccab87748b31
BLAKE2b-256 f7ecd2f8091204d1330d988bb31f8bf7bf3f089f9c854fbbd8248c0aadac4cd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 874139fee0cd6de8cc5cbf9d657bc3ed3a190ae6ab5776fd3a696ecddd2aa5ce
MD5 a751b1c3b87789e31bcf0eedf48b461e
BLAKE2b-256 0a9dd66cea86b1b3660cef10301bb05ada775dd58032c14bc42c12217b40949b

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file odin_stream-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for odin_stream-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db4d8d30e308e03ae88eeda6d8330ce0f0a1621883fbebd0e70fc1782200f609
MD5 15acd802662f98d620ff3d611e878349
BLAKE2b-256 0c06ad58a4eff3816c9b366f6716bada72af947f3cd7b77a0ab969ac370f11cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheel.yml on fvsolutions-dev/odin-stream

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

13 files

0.1.4

5 files

0.1.3

5 files

0.1.0

8 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