用于从Karabo控制系统请求数据的Python 3工具。
项目描述
karabo_bridge 是一个用于从位于 欧洲XFEL 的 Karabo 控制系统接收管道数据的Python 3客户端。包含一个模拟的Karabo桥服务器,以便在没有连接到真实Karabo服务器的情况下进行测试代码。
安装
要安装包
$ python3 -m pip install karabo-bridge or $ git clone https://github.com/European-XFEL/karabo-bridge-py.git $ cd ./karabo-bridge-py $ python3 -m pip install .
如何使用
从karabo桥服务器请求数据
使用 karabo_brige 中的 Client 类创建客户端,并使用 next 方法从服务器请求数据。函数返回2个字典:第一个包含列车数据,第二个包含相关的列车元数据。这两个字典都按源名称键,值是包含数据参数名称和值的字典,以及元数据信息(源名称、时间戳、trainId)的元数据。值都是内置的Python类型或NumPy数组。
>>> 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}}
使用模拟服务器
要开始仿真,请调用start_gen函数并提供要绑定的端口号。您可以使用Client类并连接到它来测试客户端,无需使用Karabo。
>>> from karabo_bridge import start_gen
>>> start_gen(1234)
Server : emitted train: 10000000000
Server : emitted train: 10000000001
Server : emitted train: 10000000002
Server : emitted train: 10000000003
Server : emitted train: 10000000004
...
您还可以从命令行运行模拟服务器
$ karabo-bridge-server-sim 1234
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分布
karabo_bridge-0.7.0.tar.gz (19.8 kB 查看哈希值)
构建分布
karabo_bridge-0.7.0-py3-none-any.whl (26.1 kB 查看哈希值)
关闭
karabo_bridge-0.7.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cec6fbc2aa8de9dcabc1590029d24787fbe5b6a1760242f76f7d5f5781954223 |
|
MD5 | 02a5a14e46dd2a51bcdc76019c093a51 |
|
BLAKE2b-256 | bd84c0d3bf226837d8b28e9009ff533f8844fad151c873d58a2b1e97ec51f1d0 |
关闭
karabo_bridge-0.7.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ea87e2d30ad399da6c08e9e07fffd8905a9d754a666147429da3bf27fcfc776 |
|
MD5 | 1f7b966fa1c108931dd0c90246ce6cae |
|
BLAKE2b-256 | 49ee13677884ca55c6339fa024d8078f7e5f41da74cfda4a315429d4cee605c5 |