ServiceX HEP数据转换器
项目描述
ServiceX_transformer库
用于构建serviceX转换器的常用类库。
最低要求
支持Python版本2.7及以上
从PyPi下载
要使用此库
pip install servicex-transformer
标准命令行参数
此库为所有转换器实现提供ArgParse子类,以标准化命令行参数。
可用参数
转换结果输出
命令行参数确定结果的存储位置以及输出格式。
- 对象存储 - 每个转换文件都作为对象写入一个兼容S3的对象存储。目前支持的唯一输出文件格式是parquet。对象存储在以转换请求ID命名的存储桶中。
命令行参考
选项 | 描述 | 默认 |
---|---|---|
--tree TREE | 要从其中提取数据的根树。仅适用于uproot转换器 | 事件 |
--path PATH | 要转换的单个Root文件的路径。任何可由xrootd读取的文件路径 | |
--limit LIMIT | 要处理的最多事件数 | |
--result-destination DEST | 将结果发送到:对象存储、输出目录、卷 | 对象存储 |
--output-dir | 本地目录,结果将写入其中。使用此目录在没有其他serviceX基础设施的情况下独立运行。 | 无 |
--result-format | 结果二进制格式:arrow、parquet 或 root-file | arrow |
--rabbit-uri URI | RabbitMQ 连接URI | host.docker.internal |
--request-id GUID | 与此次转换请求关联的ID。用作RabbitMQ主题名称以及对象存储桶。 | servicex |
运行测试
使用 pytest 和 pytest-mock 对代码逻辑进行验证。单元测试固定在每个包内的 test
目录中。
测试使用 codecov 进行了代码覆盖率报告。travis作业将codecov上传令牌设置为环境变量,并将其传递到docker容器中,以便在测试成功完成后上传报告。
编码标准
为了使多人更容易共同工作在代码库上,我们强制执行PEP8标准,由flake8验证。社区发现80个字符的限制有些不灵活,因此我们有一个本地配置将 max_line_length
设置为99。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
servicex-transformer-1.0.8.tar.gz (11.8 kB 查看哈希值)