HealthyPear / scikit-hep-testdata

A common package to provide example files (e.g., ROOT) for testing and developing packages against.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyPI version Github Actions badge Build Status codecov

scikit-hep-testdata

A common package to provide example files (e.g. ROOT) for testing and developing packages against. The sample of files is representative of typical files found "in the wild".

In addition to including some root files directly, this package adds some simple helper methods to get larger files from common open-access data repositories.

Installing and usage

To install:

pip install scikit-hep-testdata

Once installed, absolute file paths can be resolved using the helper methods:

from skhep_testdata import data_path

filename = data_path("some_file.root")

By default, if an unknown file is requested an exception is raised but this can be skipped by passing the above method raise_missing=False:

filename = data_path("unknown_file.root", raise_missing=False)

Remote vs. Local files

Some files, particularly large ones, for example, are not stored within this package and instead live on a remote server; we call these "remote files". To obtain these use the same data_path method as above, however this will trigger the code to download and configure the remote file. This might be slow the first time round but will subsequently be as fast as for a local file.

Command-line invocation

You can also interact with this package from the command-line:

python -m skhep_testdata cms_hep_2012_tutorial/data.root

Adding new files

We're on the look out for new, interesting files!

  • Large files: If the file is particularly large, for example > 25 MB, it might be worth adding to an external open access data repository and adding a configuration here so that the internal helper methods can pull this down.
  • Experiment data policies: Please make sure you have permissions to add the file to this collection, and that any private or sensitive data has been appropriately masked, salted, or scrambled.

List of files

The following lists describe the files known by this package.

Files stored in this package

Known remote files

Acknowledgements

  • Many of the files collected directly within this package were collated originally by Jim Pivarski for uproot

Running the tests

This package uses pytest to run the unit tests. Install with pip install scikit-hep-testdata[test] or pip install -e .[test] (dev) to get the testing requirements. then run:

pytest

The pytest-cov plugin is used to get a report on the test coverage:

pytest --cov=skhep_testdata --cov-report=html -vv tests/

About

A common package to provide example files (e.g., ROOT) for testing and developing packages against.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 83.9%Language:Python 16.1%