Skip to main content

Python utilities for handling ESS streamed data

Project description

Python Streaming Data Types

Utilities for working with the FlatBuffers schemas used at the European Spallation Source ERIC for data transport.

https://github.com/ess-dmsc/streaming-data-types

FlatBuffer Schemas

name description verifiable*
hs00 Histogram schema Y
ns10 NICOS cache entry schema Y
pl72 Run start N
6s4t Run stop N
f142 Log Data Y
ev42 Event Data Y
x5f2 Status messages Y

* whether it passes verification via the C++ FlatBuffers library.

hs00

Schema for histogram data. It is one of the more complicated to use schemas. It takes a Python dictionary as its input; this dictionary needs to have correctly named fields.

The input histogram data for serialisation and the output deserialisation data have the same dictionary "layout". Example for a 2-D histogram:

hist = {
    "source": "some_source",
    "timestamp": 123456,
    "current_shape": [2, 5],
    "dim_metadata": [
        {
            "length": 2,
            "unit": "a",
            "label": "x",
            "bin_boundaries": np.array([10, 11, 12]),
        },
        {
            "length": 5,
            "unit": "b",
            "label": "y",
            "bin_boundaries": np.array([0, 1, 2, 3, 4, 5]),
        },
    ],
    "last_metadata_timestamp": 123456,
    "data": np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]),
    "errors": np.array([[5, 4, 3, 2, 1], [10, 9, 8, 7, 6]]),
    "info": "info_string",
}

The arrays passed in for data, errors and bin_boundaries can be NumPy arrays or regular lists, but on deserialisation they will be NumPy arrays.

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

ess_streaming_data_types-0.6.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

ess_streaming_data_types-0.6.0-py3-none-any.whl (51.1 kB view details)

Uploaded Python 3

File details

Details for the file ess_streaming_data_types-0.6.0.tar.gz.

File metadata

  • Download URL: ess_streaming_data_types-0.6.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for ess_streaming_data_types-0.6.0.tar.gz
Algorithm Hash digest
SHA256 af8af2cccde6858e824364de6e2313bcfa916a9e8021c90a4c23e4f7ba320289
MD5 081b0cb8521f54833316782bd2cf3e3f
BLAKE2b-256 33edac29007fe33d41ec9011e1a720bb67ca2eca167b03b1afb9ec721b5c9750

See more details on using hashes here.

File details

Details for the file ess_streaming_data_types-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: ess_streaming_data_types-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 51.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for ess_streaming_data_types-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d672096340832f15c317ea2ef268159c038f9cba6e0d5b66777af93d329fe0be
MD5 8fe940d9460ca46f97c2a67bafc3c1c8
BLAKE2b-256 b38196a7f00473bb5c6ff9aaa972786e882b7988323843c7e15e3a53fea9a3d6

See more details on using hashes here.

Supported by

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