root_numpy

root_numpy: The interface between ROOT and NumPy - Published in JOSS (2017)

https://github.com/scikit-hep/root_numpy

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    6 of 17 committers (35.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

cern cython hep numpy python root

Scientific Fields

Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation

Repository

The interface between ROOT and NumPy

Basic Info
Statistics
  • Stars: 134
  • Watchers: 21
  • Forks: 54
  • Open Issues: 0
  • Releases: 9
Archived
Topics
cern cython hep numpy python root
Created almost 14 years ago · Last pushed about 3 years ago
Metadata Files
Readme Contributing License Codemeta

README.rst

.. -*- mode: rst -*-
***************************************************************
:warning:root_numpy is deprecated and unmaintained:warning:
***************************************************************

``root_numpy`` has not been actively maintained or developed in several years. This is mostly due to the emergence of new alternatives which are both faster and more flexible.

* **uproot** provides support for reading and writing ROOT files without the need for an installation of ROOT. `See here for details. `_
* **ROOT** now natively supports converting objects into numpy arrays using either `directly using TTree `_ or with `the newer RDataFrame `_

root_numpy: The interface between ROOT and NumPy
================================================

.. image:: https://img.shields.io/pypi/v/root_numpy.svg
   :target: https://pypi.python.org/pypi/root_numpy
.. image:: https://api.travis-ci.org/scikit-hep/root_numpy.png
   :target: https://travis-ci.org/scikit-hep/root_numpy
.. image:: https://coveralls.io/repos/github/scikit-hep/root_numpy/badge.svg?branch=master
   :target: https://coveralls.io/github/scikit-hep/root_numpy?branch=master
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.592881.svg
   :target: https://doi.org/10.5281/zenodo.592881

`[see the full documentation] `_

root_numpy is a Python extension module that provides an efficient interface
between `ROOT `_ and `NumPy `_.
root_numpy's internals are compiled C++ and can therefore handle large amounts
of data much faster than equivalent pure Python implementations.

With your ROOT data in NumPy form, make use of NumPy's `broad library
`_, including fancy indexing,
slicing, broadcasting, random sampling, sorting, shape transformations, linear
algebra operations, and more. See this `tutorial 
`_ to get started.
NumPy is the fundamental library of the scientific Python ecosystem. Using
NumPy arrays opens up many new possibilities beyond what ROOT offers. Convert
your TTrees into NumPy arrays and use `SciPy `_ for
numerical integration and optimization, `matplotlib `_
for plotting, `pandas `_ for data analysis,
`statsmodels `_ for statistical modelling,
`scikit-learn `_ for machine learning, and perform
quick exploratory analysis in a `Jupyter notebook `_.

At the core of root_numpy are powerful and flexible functions for converting
`ROOT TTrees `_ into
`structured NumPy arrays
`_ as well as converting
NumPy arrays back into ROOT TTrees. root_numpy can convert branches of strings
and basic types such as bool, int, float, double, etc. as well as
variable-length and fixed-length multidimensional arrays and 1D or 2D vectors
of basic types and strings. root_numpy can also create columns in the output
array that are expressions involving the TTree branches similar to
``TTree::Draw()``.

Did we mention that root_numpy is fast?

.. image:: benchmarks/bench_tree2array.png

Owner

  • Name: Scikit-HEP Project
  • Login: scikit-hep
  • Kind: organization
  • Email: scikit-hep-forum@googlegroups.com

A community project for High Energy Physics data analysis in Python

JOSS Publication

root_numpy: The interface between ROOT and NumPy
Published
August 13, 2017
Volume 2, Issue 16, Page 307
Authors
Edmund Noel Dawe ORCID
The University of Melbourne
Piti Ongmongkolkul
Mahidol University International College
Giordon Stark ORCID
The University of Chicago
Editor
Daniel S. Katz ORCID
Tags
C++ ROOT NumPy CERN

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "http://orcid.org/0000-0003-0202-3284",
      "@type": "Person",
      "email": "noel@dawe.me",
      "name": "Edmund Noel Dawe",
      "affiliation": "The University of Melbourne"
    },
    {
      "@id": "",
      "@type": "Person",
      "email": "piti118@gmail.com",
      "name": "Piti Ongmongkolkul",
      "affiliation": "Mahidol University International College"
    },
    {
      "@id": "http://orcid.org/0000-0001-6616-3433",
      "@type": "Person",
      "email": "kratsg@gmail.com",
      "name": "Giordon Stark",
      "affiliation": "The University of Chicago"
    }
  ],
  "identifier": "http://doi.org/10.5281/zenodo.592881",
  "codeRepository": "https://github.com/scikit-hep/root_numpy",
  "datePublished": "2017-08-14",
  "dateModified": "2017-08-14",
  "dateCreated": "2017-05-11",
  "description": "root_numpy interfaces NumPy with CERN's ROOT software framework",
  "keywords": "Python, C++, NumPy, CERN, ROOT",
  "license": "BSD",
  "title": "root_numpy",
  "version": "4.8.0"
}

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 716
  • Total Committers: 17
  • Avg Commits per committer: 42.118
  • Development Distribution Score (DDS): 0.268
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Noel Dawe n****e@g****m 524
Piti Ongmongkolkul p****8@g****m 120
Chris Burr c****r 14
Todd Doughty t****1@b****u 11
Giordon Stark k****g@g****m 11
Christoph Deil D****h@g****m 10
Eduardo Rodrigues e****s@c****h 5
Johannes Heuel j****l@c****h 4
Daniela Remenska r****a@g****m 3
Igor Babuschkin i****r@b****n 3
Peter Waller p@p****t 3
Jacob Howard j****b@h****o 2
cbourjau c****u@c****h 2
Konstantin Schubert s****n@g****m 1
Raymond Ehlers r****s@g****m 1
Douglas Davis d****s@c****h 1
vvolkl v****l@c****h 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 71
  • Total pull requests: 29
  • Average time to close issues: 8 months
  • Average time to close pull requests: 4 months
  • Total issue authors: 54
  • Total pull request authors: 8
  • Average comments per issue: 5.48
  • Average comments per pull request: 2.76
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wlav (9)
  • graipher (3)
  • chrisburr (3)
  • kgizdov (2)
  • vmagerl (2)
  • wiso (2)
  • cxwx (2)
  • HDembinski (2)
  • uzzielperez (1)
  • ViacheslavLi (1)
  • ramankhurana (1)
  • SebsMedDr (1)
  • ndawe (1)
  • pmendiol (1)
  • mariel-pettee (1)
Pull Request Authors
  • ndawe (15)
  • chrisburr (7)
  • eduardo-rodrigues (2)
  • douglasdavis (1)
  • raymondEhlers (1)
  • graipher (1)
  • vvolkl (1)
  • jheuel (1)
Top Labels
Issue Labels
JOSS (9) wontfix (6) question (3) invalid (2) enhancement (1) long-term (1) bug (1) ROOT bug (1) MacOS issue (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 2
conda-forge.org: root_numpy

root_numpy is a Python extension module that provides an efficient interface between ROOT and NumPy. root_numpy's internals are compiled C++ and can therefore handle large amounts of data much faster than equivalent pure Python implementations.

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Forks count: 22.2%
Stargazers count: 27.8%
Average: 28.2%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • numpy *