Python utilities for handling ISIS streamed data
Project description
Streaming Data Types
FlatBuffers is the format chosen for the ISIS data streaming system, derived from the ESS messaging system.
Schema ids
| ID | File name | Description |
|---|---|---|
| f144 | f144_logdata.fbs |
Controls related log data, typically from EPICS or NICOS. Note: not to be used for array data |
| ev44 | ev44_events.fbs |
Multi-institution neutron event data for both single and multiple pulses |
| df12 | df12_det_spec_map.fbs |
Detector-spectrum map for Mantid |
| se00 | se00_data.fbs |
Used for storing arrays with optional timestamps, for example waveform data. Replaces senv. |
| ad00 | ad00_area_detector_array.fbs |
EPICS area detector array data |
| hs01 | hs01_event_histogram.fbs |
Event histogram stored in n dim array |
| ep01 | ep01_epics_connection.fbs |
Status or event of EPICS connection. Replaces ep00 |
| json | json_json.fbs |
Carries a JSON payload |
| pl72 | pl72_run_start.fbs |
File writing, run start message for file writer and Mantid |
| 6s4t | 6s4t_run_stop.fbs |
File writing, run stop message for file writer and Mantid |
| answ | answ_action_response.fbs |
Holds the result of a command to the filewriter |
| wrdn | wrdn_finished_writing.fbs |
Message from the filewriter when it is done writing a file |
| x5f2 | x5f2_status.fbs |
Status update and heartbeat message for any software |
| fc00 | fc00_forwarder_config.fbs |
Configuration update for Forwarder |
| al00 | al00_alarm.fbs |
Generic alarm schema for EPICS, NICOS, etc. |
| da00 | da00_dataarray.fbs |
Pseudo-scipp DataArray with time-dependent and constant Variables |
| un00 | un00_units.fbs |
Engineering units update |
Adding new schemas
Add .fbs file to `schemas directory
Check ess-streaming-data-types first; attempt not to diverge without reason. If a new schema is really needed, then
add a new .fbs schema in the schemas directory.
Note: to generate code from .fbs schemas, you will need the flatc tool installed. It can be acquired from
https://github.com/google/flatbuffers/releases .
Adding Python bindings
Python bindings have low-level code (autogenerated by flatc) in the fbschemas directory, but also
manually-written convenience serializers and deserializers in the top-level of the python module.
When adding or modifying a schema:
- The low-level code must be generated by manually calling
flatc --python schemas\some_schema.fbsand adding the resulting generated code topython/src/streaming_data_types/fbschemas. - Manually-written serializers & deserializers will need to be updated, and added to the lists in
__init__.py.
Rust bindings
Rust bindings have low-level code in flatbuffers_generated, and a small high-level wrapper
to deserialize any message.
When adding or modifying a schema:
- The low-level code must be generated by calling
generate_rust_bindings.py - The wrapper (defined in
lib.rs) will need to be updated with the new schema.
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
Built Distribution
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 isis_streaming_data_types-0.1.1.tar.gz.
File metadata
- Download URL: isis_streaming_data_types-0.1.1.tar.gz
- Upload date:
- Size: 58.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88bc380f7168accd4b709da2056977969a7002c3eabfda123d6e470b4cfe2f5b
|
|
| MD5 |
c5b11c115b6d529d25ba938032c71dd0
|
|
| BLAKE2b-256 |
685590400ae1151c3fe13dda169b4870f06562b815f75497d54b73d3b7ef6234
|
Provenance
The following attestation bundles were made for isis_streaming_data_types-0.1.1.tar.gz:
Publisher:
release.yml on ISISComputingGroup/streaming-data-types
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isis_streaming_data_types-0.1.1.tar.gz -
Subject digest:
88bc380f7168accd4b709da2056977969a7002c3eabfda123d6e470b4cfe2f5b - Sigstore transparency entry: 1185999326
- Sigstore integration time:
-
Permalink:
ISISComputingGroup/streaming-data-types@c5c6c79da57cec4d223f483d9ee2d80be6b06f54 -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/ISISComputingGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c5c6c79da57cec4d223f483d9ee2d80be6b06f54 -
Trigger Event:
push
-
Statement type:
File details
Details for the file isis_streaming_data_types-0.1.1-py3-none-any.whl.
File metadata
- Download URL: isis_streaming_data_types-0.1.1-py3-none-any.whl
- Upload date:
- Size: 72.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93e50bf85789f69df37b8a8d0345da55393defceb43b5965b41b148375479c76
|
|
| MD5 |
11f6f460cf79df9904c2731658d326c9
|
|
| BLAKE2b-256 |
78a4744bef9f90a3f745d3f5503c669bf027072aa2bcb598ede7ea7ed6cdb8cc
|
Provenance
The following attestation bundles were made for isis_streaming_data_types-0.1.1-py3-none-any.whl:
Publisher:
release.yml on ISISComputingGroup/streaming-data-types
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isis_streaming_data_types-0.1.1-py3-none-any.whl -
Subject digest:
93e50bf85789f69df37b8a8d0345da55393defceb43b5965b41b148375479c76 - Sigstore transparency entry: 1185999371
- Sigstore integration time:
-
Permalink:
ISISComputingGroup/streaming-data-types@c5c6c79da57cec4d223f483d9ee2d80be6b06f54 -
Branch / Tag:
refs/tags/0.1.1 - Owner: https://github.com/ISISComputingGroup
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c5c6c79da57cec4d223f483d9ee2d80be6b06f54 -
Trigger Event:
push
-
Statement type: