Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rootpy/rootpy
A pythonic interface for the ROOT libraries on top of the PyROOT bindings.
https://github.com/rootpy/rootpy
cern hdf5 hep matplotlib numpy python root
Last synced: 5 days ago
JSON representation
A pythonic interface for the ROOT libraries on top of the PyROOT bindings.
- Host: GitHub
- URL: https://github.com/rootpy/rootpy
- Owner: rootpy
- License: bsd-3-clause
- Created: 2012-01-26T18:05:37.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2019-12-08T12:35:09.000Z (almost 5 years ago)
- Last Synced: 2024-10-05T10:47:50.433Z (about 1 month ago)
- Topics: cern, hdf5, hep, matplotlib, numpy, python, root
- Language: Python
- Homepage: rootpy.org
- Size: 11 MB
- Stars: 201
- Watchers: 27
- Forks: 73
- Open Issues: 42
-
Metadata Files:
- Readme: README.rst
- Contributing: docs/contributing.rst
- License: LICENSE
Awesome Lists containing this project
README
.. -*- mode: rst -*-
`[see full documentation] `_
rootpy: Pythonic ROOT
=====================.. image:: https://img.shields.io/pypi/v/rootpy.svg
:target: https://pypi.python.org/pypi/rootpy
.. image:: https://travis-ci.org/rootpy/rootpy.png
:target: https://travis-ci.org/rootpy/rootpy
.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.18897.svg
:target: http://dx.doi.org/10.5281/zenodo.18897Python 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.* 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.