跳转到主要内容

NSLS-II数据源统一

项目描述


Databroker


|build_status| |coverage| |pypi_version| |license|

Databroker 是围绕 Bluesky 数据模型_ 构建的数据 访问 工具。它管理的数据可能来自导入的文件、基于 Python 的数据分析捕获的结果或使用 Bluesky 运行引擎获取的实验数据。

  • 提供一致的程序接口,无需考虑存储细节,如文件格式或存储介质。
  • 以标准广泛使用的 Python 和 SciPy 数据结构提供 元数据和数据 的连贯捆绑。
  • 支持对元数据的快速、灵活 搜索
  • 使软件工具能够无缝地在 Bluesky 运行引擎的实时流数据与 Databroker 保存的数据之间操作。

Databroker 与 Suitcase。 Suitcase 进行数据 写入,而 databroker 进行读取。Databroker 基于 Intake,一个通用数据访问工具(在 Bluesky 项目之外)。

============== ============================================================== PyPI pip install databroker Conda pip install -c nsls2forge databroker 源代码 https://github.com/bluesky/databroker 文档 https://blueskyproject.io/databroker ============== ==============================================================

例如,元数据和数据的捆绑看起来像这样。

.. code:: python

run BlueskyRun uid='4a794c63-8223-4893-895e-d16e763188a8' exit_status='success' 2020-03-07 09:17:40.436 -- 2020-03-07 09:28:53.173 Streams: * primary * baseline

除了显示的内容之外,额外的用户元数据存储在 run.metadata 中。捆绑包含一定数量的数据逻辑表(“流”)。它们可以通过名称访问,并从 xarray读取到标准数据结构中。

.. code:: python

>>> run.primary.read()
<xarray.Dataset>
Dimensions:                   (time: 411)
Coordinates:
  * time                      (time) float64 1.584e+09 1.584e+09 ... 1.584e+09
Data variables:
    I0                        (time) float64 13.07 13.01 12.95 ... 9.862 9.845
    It                        (time) float64 11.52 11.47 11.44 ... 4.971 4.968
    Ir                        (time) float64 10.96 10.92 10.88 ... 4.761 4.763
    dwti_dwell_time           (time) float64 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0
    dwti_dwell_time_setpoint  (time) float64 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0
    dcm_energy                (time) float64 1.697e+04 1.698e+04 ... 1.791e+04
    dcm_energy_setpoint       (time) float64 1.697e+04 1.698e+04 ... 1.791e+04

可以使用高级 Python 接口执行常见的搜索查询。

.. code:: python

>>> from databroker.queries import TimeRange
>>> catalog.search(TimeRange(since="2020"))

可以使用 MongoDB 查询语言执行自定义查询。

.. code:: python

>>> query = {
...    "motors": {"$in": ["x", "y"]},  # scanning either x or y
...    "temperature" {"$lt": 300},  # temperature less than 300
...    "sample.element": "Ni",
... }
>>> catalog.search(query)

请参阅教程了解更多信息。

.. |build_status| image:: https://github.com/bluesky/databroker/workflows/Unit%20Tests/badge.svg?branch=master :target: https://github.com/bluesky/databroker/actions?query=workflow%3A%22Unit+Tests%22 :alt: Build Status

.. |coverage| image:: https://codecov.io/gh/bluesky/databroker/branch/master/graph/badge.svg :target: https://codecov.io/gh/bluesky/databroker :alt: Test Coverage

.. |pypi_version| image:: https://img.shields.io/pypi/v/databroker.svg :target: https://pypi.ac.cn/project/databroker :alt: Latest PyPI version

.. |license| image:: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg :target: https://open-source.org.cn/licenses/BSD-3-Clause :alt: BSD 3-Clause License

.. _xarray: https://xarray.pydata.org/

.. _MongoDB query language: https://docs.mongodb.com/manual/reference/operator/query/

.. _Bluesky Data Model: https://blueskyproject.io/event-model/data-model.html

.. _Suitcase: https://blueskyproject.io/suitcase/

.. _Intake: https://intake.readthedocs.io/en/latest/

项目详情


发行历史 发行通知 | RSS 源

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

databroker-1.2.5.tar.gz (200.1 kB 查看哈希值)

上传时间 源代码

构建分发版

databroker-1.2.5-py2.py3-none-any.whl (232.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持