Skip to main content

A pythonic layer on top of the ROOT framework's PyROOT bindings.

Project description

https://img.shields.io/pypi/v/rootpy.svg https://travis-ci.org/rootpy/rootpy.png https://img.shields.io/pypi/dm/rootpy.svg https://zenodo.org/badge/doi/10.5281/zenodo.18897.svg

Python has become the language of choice for high-level applications where fast prototyping and efficient development are important, while glueing together low-level libraries for performance-critical tasks. The PyROOT bindings introduced ROOT into the world of Python, however, interacting with ROOT in Python should not feel like you are still writing C++.

The rootpy project is a community-driven initiative aiming to provide a more pythonic interface with ROOT on top of the existing PyROOT bindings. Given Python’s reflective and dynamic nature, rootpy also aims to improve ROOT design flaws and supplement existing ROOT functionality. The scientific Python community also offers a multitude of powerful packages such as SciPy, NumPy, matplotlib, scikit-learn, and PyTables, but a suitable interface between them and ROOT has been lacking. rootpy provides the interfaces and conversion mechanisms required to liberate your data and to take advantage of these alternatives if needed.

Key features include:

  • Improvements to help you create and manipulate trees, histograms, cuts and vectors.

  • Dictionaries for STL types are compiled for you automatically.

  • Redirect ROOT’s messages through Python’s logging system.

  • Optionally turn ROOT errors into Python exceptions.

  • Get and Set methods on ROOT objects are also properties.

  • Easy navigation through ROOT files. You can now access objects with my_file.some_directory.tree_name, for example.

  • Colours and other style attributes can be referred to by descriptive strings.

  • Provides a way of mapping ROOT trees onto python objects and collections.

  • Plot your ROOT histograms or graphs with matplotlib.

  • Conversion of ROOT trees into NumPy ndarrays and recarrays through the related root_numpy package. Now take advantage of the many statistical and numerical packages that Python offers (NumPy, SciPy, StatsModels, and scikit-learn).

  • Conversion of ROOT files containing trees into HDF5 format with PyTables.

  • roosh, a Bash-like shell environment for the ROOT file, very useful for quick ROOT file inspection and interactive plotting.

  • rootpy, a command for common tasks such as summing histograms or drawing tree expressions over multiple files, listing the contents of a file, or inspecting tree branches and their sizes and types.

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

rootpy-0.8.1.tar.gz (416.5 kB view details)

Uploaded Source

File details

Details for the file rootpy-0.8.1.tar.gz.

File metadata

  • Download URL: rootpy-0.8.1.tar.gz
  • Upload date:
  • Size: 416.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rootpy-0.8.1.tar.gz
Algorithm Hash digest
SHA256 ee04f2d8f886fa569816fa571cf7204e67da8336616f1c81edf8ede5f15c4d33
MD5 b7738dac76987a41d972a43f4ec36d9d
BLAKE2b-256 c346103fba17488d8a5ebdddf6dd63c542f79810784422c4a59f8db0189ad8ee

See more details on using hashes here.

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