Skip to main content

Python 3 tools to request data from the Karabo controlsystem.

Project description

https://travis-ci.org/European-XFEL/karabo-bridge-py.svg?branch=master https://codecov.io/gh/European-XFEL/karabo-bridge-py/branch/master/graph/badge.svg

karabo_bridge is a Python 3 client to receive pipeline data from the Karabo control system used at European XFEL. A simulated Karabo bridge server is included to allow testing code without a connection to a real Karabo server.

Installing

to install the package:

$ python3 -m pip install git+https://github.com/European-XFEL/karabo-bridge-py.git#egg=karabo-bridge-py

or

$ git clone https://github.com/European-XFEL/karabo-bridge-py.git
$ cd ./karabo-bridge-py
$ python3 -m pip install .

How to use

Request data from a karabo bridge server

Use the Client class from karabo_brige to create a client and the next method to request data from the server. The function returns 2 dictionaries: the first one holds a train data and the second one holds the associated train metadata. Both dictionaries are keyed by source name, and the values are dictionaries containing parameters name and values for data and metadata information (source name, timestamp, trainId) for the metadata. Values are all built-in python types, or numpy arrays.

>>> from karabo_bridge import Client
>>> krb_client = Client('tcp://server-host-name:12345')
>>> data, metadata = krb_client.next()
>>> data.keys()
dict_keys(['source1', 'source2', 'source3'])
>>> data['source1'].keys()
dict_keys(['param1', 'param2'])
>>> metadata['source1']
{'source1': {'source': 'source1',
  'timestamp': 1528476983.744877,
  'timestamp.frac': '744877000000000000',
  'timestamp.sec': '1528476983',
  'timestamp.tid': 10000000073}}

Use the Simulation server

To start a simulation, call the start_gen function and provide a port to bind to. You can the use the Client class and connect to it to test the client without the need to use Karabo.

>>> from karabo_bridge import start_gen
>>> start_gen(1234)
Server : buffered train: 15202746822
Server : buffered train: 15202746823
Server : buffered train: 15202746824
Server : buffered train: 15202746825
Server : buffered train: 15202746826
Server : buffered train: 15202746827
...

You can also run the simulated server from the command line:

$ karabo-bridge-server-sim 1234

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

karabo_bridge-0.1.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

karabo_bridge-0.1.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for karabo_bridge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8cc044a4f8c9fe7205a895c4ecf7e1527186198207ad1005caf15a87713a6398
MD5 a9e4452f93a6ae904725df59796e0443
BLAKE2b-256 a84b88f03f8226aa7dca1b605193664df093ed4eaff3571e408b46540ca1b501

See more details on using hashes here.

File details

Details for the file karabo_bridge-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for karabo_bridge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03564c8c2183ea2730d3addc1946f563e3afab7d79ab9b059240e17eb5976546
MD5 2d41ec121a06779e43b77a4dcdba7571
BLAKE2b-256 2c0e08125bef70811434045f8c5b8e38f8bed64d147cdc45a352b7be7bbad991

See more details on using hashes here.

Supported by

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