纯Python和NumPy的ROOT I/O。
项目描述
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文件
lz4
和xxhash
:仅当读取已被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贡献者(包括原始存储库)的慷慨帮助。
💻: 代码, 📖: 文档, 🚇: 基础设施, 🚧: 维护, ⚠: 测试和反馈, 🤔: 基础理念。
项目详情
下载文件
下载适合您平台文件。如果您不确定要选择哪一个,了解更多关于 安装包 的信息。
源分布
构建分布
uproot4-4.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6f70f0c02a5dcb58dca925e6afc8878b9164cfb5744407f15663a8afef8c0c2 |
|
MD5 | 631162e4a9475e37b9cccc73f57d6000 |
|
BLAKE2b-256 | 80a4305e818e411fff60241d1b2be3bd9478d8e386daae4103f90345f5a11b88 |
uproot4-4.0.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f0ca687342f8ddfd3747481e899c5c7f30e8cca6faee36bd2d8800163d49796b |
|
MD5 | 4143692f374a6a5ec5d9eef9972673ec |
|
BLAKE2b-256 | 7a87ec7eec609b9a192696739574649530f272e8c36ca0bfacac5b334ebfe71c |