跳转到主要内容

纯Python和NumPy的ROOT I/O。

项目描述

Scikit-HEP NSF-1836650 DOI Python 3.5‒3.9 License

Uproot是使用仅Python和Numpy的ROOT文件格式的读取器和写入器。与标准的C++ ROOT实现不同,Uproot仅是一个I/O库,主要目的是将数据流式传输到Python中的机器学习库。与PyROOT和root_numpy不同,Uproot不依赖于C++ ROOT。相反,它使用Numpy将ROOT文件中的数据块转换为Numpy数组。

安装

Uproot可以通过pip从PyPI(请点击此处)安装,Awkward Array(请点击此处)是可选的,但强烈推荐

pip install uproot awkward

Uproot也可以使用conda(请点击此处)安装,Awkward Array也是如此(conda会自动安装)

conda install -c conda-forge uproot

如果您已经添加了conda-forge作为渠道,则无需使用-c conda-forge。推荐添加该渠道,因为它确保所有包都使用兼容的版本

conda config --add channels conda-forge
conda update --all

注意:如果您需要编写ROOT文件,目前需要使用已弃用的uproot3。这个功能很快将出现在新版本中。

获取帮助

教程和参考文档开始。

  • GitHub Issues上报告错误、请求功能以及获取更多文档。
  • 如果您有“我该如何...?”的问题,请在带有[uproot]标签的StackOverflow上提问。务必包括您使用的其他库的标签,例如Pandas或PyTorch。
  • 要实时提问,请尝试加入Gitter Scikit-HEP/uproot聊天室。

开发人员安装

Uproot是一个普通的Python库;您可以通过以下方式获取代码副本

git clone https://github.com/scikit-hep/uproot4.git

然后在存储库目录中调用pip install .以本地安装。

如果您还需要开发Awkward Array,请参阅其开发人员安装

依赖项

Uproot的唯一严格依赖项是NumPy。这是pip将自动安装的唯一依赖项。

强烈推荐Awkward Array。它不是严格依赖项,以便在限制性环境中使用Uproot。如果您在没有Awkward Array的情况下使用Uproot,您将不得不使用library="np"选项或全局设置uproot.default_library以返回NumPy数组(请参阅文档)。

  • awkward:请务必使用Awkward Array 1.x。

以下库与Uproot一起使用也很有用,但不是必需的。如果您调用需要其中一个的函数,系统将提示您安装它。(Conda会自动安装大多数这些库。)

对于以不同方式压缩的ROOT文件

  • lz4xxhash:仅当读取已被LZ4压缩的ROOT文件时。
  • zstandard:仅当读取已被ZSTD压缩的ROOT文件时。
  • backports.lzma:仅当读取已被LZMA压缩的ROOT文件时(在Python 2中)。

对于远程数据

  • xrootd:仅当读取以root:// URL时。

对于将数据导出到其他库

  • pandas:仅当使用library="pd"时。
  • cupy:仅当使用library="cp"(将数组读入GPU)时。
  • boost-histogram:仅当将直方图转换为boost-histogram使用histogram.to_boost()时。
  • hist:仅当将直方图转换为hist使用histogram.to_hist()时。

致谢

本工作的支持由NSF合作协议OAC-1836650(IRIS-HEP)、赠款OAC-1450377(DIANA/HEP)和PHY-1520942(US-CMS LHC Ops)提供。

特别感谢Uproot贡献者(包括原始存储库)的慷慨帮助。


Jim Pivarski

💻 📖 🚇 🚧

Pratyush Das

💻 🚇

Chris Burr

💻 🚇

德米特里·斯米尔诺夫

💻

马修·菲克尔特

🚇

塔马斯·加尔

💻

卢克·克雷茨科

💻 ⚠️

尼古拉斯·史密斯

💻

诺亚·贝德贝克

💻

奥克桑娜·沙杜拉

💻 🚇

亨利·施雷iner

💻 🚇 ⚠️

梅森·普罗菲特

💻 ⚠️

乔纳斯·雷姆布塞

💻

benkrikler

💻

汉斯·德明斯基

📖

马尔塞勒·R.

💻

鲁杰罗·图拉

💻

乔纳斯·鲁本纳赫

💻

bfis

💻

雷蒙德·埃勒尔斯

💻

安德烈·诺瓦克

💻

约书亚·本达维德

💻

道格·戴维斯

💻

曹浩

💻

卢卡斯·科赫

💻

米歇尔·佩雷萨诺

💻

爱德华多

💻

JMSchoeffmann

💻

alexander-held

💻

💻: 代码, 📖: 文档, 🚇: 基础设施, 🚧: 维护, ⚠: 测试和反馈, 🤔: 基础理念。

项目详情


下载文件

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

源分布

uproot4-4.0.0.tar.gz (7.1 kB 查看哈希值)

上传时间

构建分布

uproot4-4.0.0-py3-none-any.whl (6.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面