Data model used by the bluesky ecosystem
Project description
Event Model
This repository contains documents that specify the schema for an event-based data model used at NSLS-II. Other projects in the organization use this model; it is their common way of organizing event-based data.
See this page of the NSLS-II documentation for an illustrated overview of the model.
The documents are specified using jsonschema. See this excellent tutorial for more on jsonschema.
Conda Recipes
Install the most recent tagged build: conda install event-model -c lightsource2-tag
Install the most recent tagged build: conda install event-model -c lightsource2-dev
Find the tagged recipe here and the dev recipe here
Usage
The schemas are packaged with a Python API. (In the future, they will probably be packaged for other languages. Get in touch if you are interested in this.) Because of its use of the new Enum type, this package requires Python 3.4+.
There are two variables in the public API, an Enum called DocumentNames
and
a dictionary called schemas
that is keyed on the values of
DocumentNames
.
In [1]: import event_model
In [2]: event_model.schemas[event_model.DocumentNames.event]
Out[2]:
{'additionalProperties': False,
'description': 'Document to record a quanta of collected data',
'properties': {'data': {'description': 'The actual measument data',
'type': 'object'},
'descriptor': {'description': 'UID to point back to Descriptor for this event stream',
'type': 'string'},
'seq_num': {'description': 'Sequence number to identify the location of this Event in the Event stream',
'type': 'integer'},
'time': {'description': 'The event time. This maybe different than the timestamps on each of the data entries',
'type': 'number'},
'timestamps': {'description': 'The timestamps of the individual measument data',
'type': 'object'},
'uid': {'description': 'Globally unique identifier for this Event',
'type': 'string'}},
'required': ['uid', 'data', 'timestamps', 'time', 'descriptor', 'seq_num'],
'title': 'event',
'type': 'object'}
Use it in conjunction with the jsonschema package to validate documents in Python.
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 Distribution
File details
Details for the file event-model-1.13.0b5.tar.gz
.
File metadata
- Download URL: event-model-1.13.0b5.tar.gz
- Upload date:
- Size: 55.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23cec6d093771fb56bc04a0c107fb6618dfb244956937265f046da8c7da02ca0 |
|
MD5 | 70102fbe9168b455d712b2197b00aa31 |
|
BLAKE2b-256 | dae4f8aae9f12c49b03c039718315cb21831c805e5502b86a715c88a526c08e8 |
File details
Details for the file event_model-1.13.0b5-py3-none-any.whl
.
File metadata
- Download URL: event_model-1.13.0b5-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 639698d70fb57f88332552d7fda1e731034c7a39385e22e6795289d5f7618eb5 |
|
MD5 | e8ccf1cbf41a66c4fb6a39c03479baca |
|
BLAKE2b-256 | 1eff8bcbd07406a8e7dfce432c94337819e4e0be24b528585df82b0bc8f216f3 |