Skip to main content

A libary to create datastreams of ODIN objects

Project description

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 -e .

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 .

Python Stub files generation

They are generated automatically buy can also be generated

python -m nanobind.stubgen -m nanobind_example_ext

Test

pytest test

Project details


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.1.0.tar.gz (48.8 kB 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.1.0-pp310-pypy310_pp73-win_amd64.whl (161.1 kB view details)

Uploaded PyPyWindows x86-64

odin_stream-0.1.0-cp312-abi3-win_amd64.whl (165.8 kB view details)

Uploaded CPython 3.12+Windows x86-64

odin_stream-0.1.0-cp312-abi3-win32.whl (159.4 kB view details)

Uploaded CPython 3.12+Windows x86

odin_stream-0.1.0-cp311-cp311-win_amd64.whl (175.9 kB view details)

Uploaded CPython 3.11Windows x86-64

odin_stream-0.1.0-cp311-cp311-win32.whl (167.2 kB view details)

Uploaded CPython 3.11Windows x86

odin_stream-0.1.0-cp310-cp310-win_amd64.whl (171.5 kB view details)

Uploaded CPython 3.10Windows x86-64

odin_stream-0.1.0-cp310-cp310-win32.whl (163.6 kB view details)

Uploaded CPython 3.10Windows x86

File details

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

File metadata

  • Download URL: odin_stream-0.1.0.tar.gz
  • Upload date:
  • Size: 48.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3e7ae045bfa07d3318147b365083999d4e57ae76ed5f0c1fc96ea1929be69cc5
MD5 1cf8de6603ae1685646e354b0164d21c
BLAKE2b-256 27a41b0f586dfefaf7234aa1d500e6d3067b840ff1fd79b0245a3d034f8a33fc

See more details on using hashes here.

Provenance

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

Publisher: wheel.yml on fvsolutions-common/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.1.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for odin_stream-0.1.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bb85ba65776b402b7c6f8aef87c8222bc53641407b2bf687af893dcc70068d49
MD5 9f98aee56c7192c14f94e4d614aece54
BLAKE2b-256 06f0be99709aaae734d43414697da4aecc2dc6f6610002b6dd55dcf48eedeef0

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.1.0-pp310-pypy310_pp73-win_amd64.whl:

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp312-abi3-win_amd64.whl.

File metadata

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

File hashes

Hashes for odin_stream-0.1.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 9609741ce2b53cc6ad59d9bbbe1afdabe6c8df10914a0418e32d5e09326a5e93
MD5 075e966e917a22a62547f0ee038fb708
BLAKE2b-256 871e7d3b8cdd6107ad29a5814dc69b6a7e092c262dfddbb011340535ea0e96b5

See more details on using hashes here.

Provenance

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

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp312-abi3-win32.whl.

File metadata

  • Download URL: odin_stream-0.1.0-cp312-abi3-win32.whl
  • Upload date:
  • Size: 159.4 kB
  • Tags: CPython 3.12+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0-cp312-abi3-win32.whl
Algorithm Hash digest
SHA256 c9fbe7c4ac6cd5fdcecdcb25fbfb4c72ae986b2b84a3995d1cfd9992be8599d9
MD5 a2a4120b5dbe807bf2713386be2b24f7
BLAKE2b-256 4008d3b847582aa47e22ad4f72cd66850e10830c786e0e7f14195ec9f74e4fb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.1.0-cp312-abi3-win32.whl:

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: odin_stream-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 175.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 45ed24f58246c48f9a6ac5c485b6f0c5361c3ec20bb1751913fc6d7e1ed011ad
MD5 179f2f686714642d1ee932f03d500d20
BLAKE2b-256 03ce3c209538c3b1948ee23eb40fe0ef31cb3e3d55dbb9610becf48aa0630f5d

See more details on using hashes here.

Provenance

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

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: odin_stream-0.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 167.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7afc09693676e82be03f80e1d6da9a795cf5c707cfa83441283a70463e1780cb
MD5 516406c4df10a13fa28cdc1bf750785a
BLAKE2b-256 394f636317ff994c993199b1d71deb150a93ce8935c0a7c5d98ea3db153ab129

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.1.0-cp311-cp311-win32.whl:

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: odin_stream-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 171.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0b2c80bd63f96ad0c44f89eff251f0c3884c5dd895ce8d15fafd505cd2958c66
MD5 47cbabfa79715254a728f29efd07ebb8
BLAKE2b-256 e951a922fb3db4e9f3de928a5b382fe235d8fb2cd426e1d70913555925e975fd

See more details on using hashes here.

Provenance

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

Publisher: wheel.yml on fvsolutions-common/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.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: odin_stream-0.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 163.6 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for odin_stream-0.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 59c99d62e5931a1318e0793a8a1b8733f048962e5214e64b624532401ad5d4b0
MD5 c575281dedef42c2a1a95a7e658ce87c
BLAKE2b-256 c9b876f0d941659e9691475f59fdbf49b4914e0b0ab531730ecc7f440713278a

See more details on using hashes here.

Provenance

The following attestation bundles were made for odin_stream-0.1.0-cp310-cp310-win32.whl:

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

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page