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
Common header The header contains the following content:
type: The type of the identifier packet, must be 1id: 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 odinsize: 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odin_stream-0.1.4.tar.gz.
File metadata
- Download URL: odin_stream-0.1.4.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
926d78e6bc8a3045818d8dcac20fa2fd1a5c1ea0fa517a24166d99b4e23743ab
|
|
| MD5 |
b5cb065b023deb747e86f9b529ac6830
|
|
| BLAKE2b-256 |
d6955e6af58276016c0a456fd4f57d97c8467e6982544865db5034b867e14cdb
|
Provenance
The following attestation bundles were made for odin_stream-0.1.4.tar.gz:
Publisher:
wheel.yml on fvsolutions-common/odin-stream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odin_stream-0.1.4.tar.gz -
Subject digest:
926d78e6bc8a3045818d8dcac20fa2fd1a5c1ea0fa517a24166d99b4e23743ab - Sigstore transparency entry: 238731562
- Sigstore integration time:
-
Permalink:
fvsolutions-common/odin-stream@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/fvsolutions-common
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheel.yml@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file odin_stream-0.1.4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: odin_stream-0.1.4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 238.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5b34f83b4f190eeaa84dbeee8a3656d55a3390363e856be17809bc275592eef
|
|
| MD5 |
3b16a3fed04a218f249511f2b8969d16
|
|
| BLAKE2b-256 |
b3214cb0a1b6f9716b541572350c0535c68421ec12d396bd2eb1a6117d57983c
|
Provenance
The following attestation bundles were made for odin_stream-0.1.4-cp313-cp313-win_amd64.whl:
Publisher:
wheel.yml on fvsolutions-common/odin-stream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odin_stream-0.1.4-cp313-cp313-win_amd64.whl -
Subject digest:
b5b34f83b4f190eeaa84dbeee8a3656d55a3390363e856be17809bc275592eef - Sigstore transparency entry: 238731566
- Sigstore integration time:
-
Permalink:
fvsolutions-common/odin-stream@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/fvsolutions-common
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheel.yml@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file odin_stream-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: odin_stream-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 28.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5a29e79efab659a1abc4669cae36f6bbd9b86401346809551eb4e9527b6f0cd
|
|
| MD5 |
b37042fba6c877f8f7cc7c610724903c
|
|
| BLAKE2b-256 |
a550f240f3e64d5d39ca7c5af2d90fb0994e1d8caa80b8204fd01e4681a78bf5
|
Provenance
The following attestation bundles were made for odin_stream-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheel.yml on fvsolutions-common/odin-stream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odin_stream-0.1.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
d5a29e79efab659a1abc4669cae36f6bbd9b86401346809551eb4e9527b6f0cd - Sigstore transparency entry: 238731563
- Sigstore integration time:
-
Permalink:
fvsolutions-common/odin-stream@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/fvsolutions-common
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheel.yml@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file odin_stream-0.1.4-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: odin_stream-0.1.4-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 238.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3dd0cc31f49ed69dd618a39be4f9fe9fa83add1824e11f2f5afc4430b17bc29d
|
|
| MD5 |
a1f0390f9912fa3f2b865295f7eef986
|
|
| BLAKE2b-256 |
31e48095266ef8b90a8251d5a10283a43edb4d20b2b9149864ab5949eaeaa6c0
|
Provenance
The following attestation bundles were made for odin_stream-0.1.4-cp312-cp312-win_amd64.whl:
Publisher:
wheel.yml on fvsolutions-common/odin-stream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odin_stream-0.1.4-cp312-cp312-win_amd64.whl -
Subject digest:
3dd0cc31f49ed69dd618a39be4f9fe9fa83add1824e11f2f5afc4430b17bc29d - Sigstore transparency entry: 238731569
- Sigstore integration time:
-
Permalink:
fvsolutions-common/odin-stream@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/fvsolutions-common
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheel.yml@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file odin_stream-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: odin_stream-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 28.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a98b1b478b78ed92d53a1d9d3a015bcbbf63861ef613d8b14ded22cf14f857de
|
|
| MD5 |
b62bad8b88f5dd5ed43614abdcc05bf6
|
|
| BLAKE2b-256 |
afd53bd5f5d63391e7bc9b8f6cc7e543740d9cb8135872faa6900d851876d00e
|
Provenance
The following attestation bundles were made for odin_stream-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
wheel.yml on fvsolutions-common/odin-stream
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
odin_stream-0.1.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
a98b1b478b78ed92d53a1d9d3a015bcbbf63861ef613d8b14ded22cf14f857de - Sigstore transparency entry: 238731565
- Sigstore integration time:
-
Permalink:
fvsolutions-common/odin-stream@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/fvsolutions-common
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheel.yml@813581fa954e70a6b613305dd5cd634ca8b7e9f3 -
Trigger Event:
push
-
Statement type: