Ryan Reece’s selected software projects

at github

I’m a physicist working with the ATLAS experiment at CERN. Read more about me and my research here.

This page describes some projects I’m developing at github. Please feel free to leave me comments below.


  1. adlkit
  2. ipyhep
  3. markdown2bib
  4. markdown-memo
  5. pyframe
  6. pyrootutils
  7. rdrshell
  8. root2html
  9. rootnotes


Formerly DLKit, adlkit is a deep learning framework that I am developing with Amir Farbin, Grayson Hilliard, and others. It helps organize the submission and bookkeeping of several datasets and models, and other helpful things needed when doing large scale training of deep neural networks.

Some important features:

Most of our development in the last year has been in the older “DLKit” version in bitbucket. We are currently doing a large code rewrite and have just begun releasing the newer “adlkit” version on github. Lots more development from us is expected to continue there.

Repo: github.com/anomalousdl/adlkit



ipyhep is a Python package I have developed for making plots that are common in high-energy physics, most importantly stacked histograms, with PyROOT and Jupyter notebooks.

Repo: github.com/rreece/ipyhep



Converts simple markdown-formatted APA bibliographies to bibtex. Scrape the world’s bibliographies. All your bibs are belong to us.

Repo: github.com/rreece/markdown2bib



This project is meant to make writing easier and more productive. This package makes it very easy to use pandoc to compile notes taken in Markdown into valid xhtml or to a pdf via LaTeX. It basically consists of a Makefile and some html/css templates. You can use it to make simple webpages like this one (for example, by writing this simple markdown).

Read the guide to markdown-memo.

Repo: github.com/rreece/markdown-memo



This Python package is a framework for doing event-by-event processing of ROOT ntuple files. Several analyses for physics measurements and searches for new physics with the ATLAS experiment were preformed with this framework or derivatives of it. A good overview of pyframe is given in these slides. A wiki for an older implementation specific for ATLAS is here. This makes use of pyrootutils, described below.

Repo: github.com/rreece/pyframe



A set of useful tools for taming pyroot. This package has my default implementations for how to read and write trees/ntuples/files with pyroot.

Repo: github.com/rreece/pyrootutils



An extensible organization of my bash dotfiles. I check this out everywhere I work.

Repo: github.com/rreece/rdrshell



This is a tool for visualizing many variables in multi-dimensional data. It is a script that generates clickable-expandable html and images from a ROOT file of TCanvases for visualizing plots. An example of its output is here.

Repo: github.com/rreece/root2html


This is a python module that allows ROOT to be integrated into Jupyter notebooks. It was first developed by Alexander Mazurov, but I have extended it, and it is used by ipyhep.

Repo: github.com/rreece/rootnotes