Skip to main content

ServiceX Data Transformer for HEP Data

Project description

ServiceX_transformer Library

CI/CD codecov

Library of common classes for building serviceX transformers.

Minimum Requiremnts

Works with Python version 2.7 and above

Download from PyPi

To use this library:

pip install servicex-transformer

Standard Command Line Arguments

This library provides a subclass of ArgParse for standardizing commnand line arguments for all transformer implementations.

Available arguments are:

Transformed Result Output

Command line arguments determine a destination for the results as well as an output format.

  • Object Store - Each transformed file is written as an object to an S3 compatible object store. The only currently supported output file format is parquet. The objects are stored in a bucket named after the transformation request ID.

Command Line Reference

Option Description Default
--tree TREE Root Tree to extract data from. Only valid for uproot transformer Events
--path PATH Path to single Root file to transform. Any file path readable by xrootd
--limit LIMIT Max number of events to process
--result-destination DEST Where to send the results: object-store, output-dir, volume object-store
--output-dir Local directory where the result will be written. Use this to run standalone without other serviceX infrastructure None
--result-format Binary format for the results: arrow, parquet, or root-file arrow
--rabbit-uri URI RabbitMQ Connection URI host.docker.internal
--request-id GUID ID associated with this transformation request. Used as RabbitMQ Topic Name as well as object-store bucket servicex

Running Tests

Validation of the code logic is performed using pytest and pytest-mock. Unit test fixtures are in test directories inside each package.

The tests are instrumented with code coverage reporting via codecov. The travis job has a the codecov upload token set as an environment variable which is passed into the docker container so the report can be uploaded upon successful conclusion of the tests.

Coding Standards

To make it easier for multiple people to work on the codebase, we enforce PEP8 standards, verified by flake8. The community has found that the 80 character limit is a bit awkward, so we have a local config setting the max_line_length to 99.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

servicex-transformer-1.0.7rc2.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

servicex_transformer-1.0.7rc2-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

Details for the file servicex-transformer-1.0.7rc2.tar.gz.

File metadata

File hashes

Hashes for servicex-transformer-1.0.7rc2.tar.gz
Algorithm Hash digest
SHA256 b3f8e11023307f1aa34d00b38160a9c989c4968618b7cd55c77509e681c79e9d
MD5 fcd35c5d8ee16a7e62cf3da916e545e0
BLAKE2b-256 53c0ac2c6b4a08c821d84558a543226be4fc20c948351ef3275be4d1dd1a77e9

See more details on using hashes here.

Provenance

File details

Details for the file servicex_transformer-1.0.7rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for servicex_transformer-1.0.7rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 a7cfe2fb037af92ec60206c512f59b25dea2e2d6bc14e5d4bfa82f4831d2c46f
MD5 6695f561d8f4c81a0eba66789af553ba
BLAKE2b-256 8f39704c4d5a9de441f39b5a9cb96df336ec9285a7158b1f4534de905e227175

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page