This is a test library to provide reference implementations of MCMC algorithms and ideas. The basis and reference for much of this library is from Michael Betancourt’s wonderful A Conceptual Introduction to Hamiltonian Monte Carlo. The highlight of the library right now is the ~15 line Hamiltonian Monte Carlo implementation (which relies on an 8 line integrator). This is commented and documented, with an aim to be instructive to read.

Ridge Map

A library for making ridge plots of… ridges. Choose a location, get an elevation map, and tinker with it to make something beautiful. Heavily inspired from Zach Cole’s beautiful art, Jake Vanderplas’ examples, and Joy Division’s 1979 album “Unknown Pleasures”. Uses matplotlib,, numpy, and scikit-image (for lake detection).

Strava Calendar

Plot the paths of all your runs from a year. Using Strava.

Simulation Based Calibration

A PyMC3 implementation of the algorithms from: Validating Bayesian Inference Algorithms with Simulation-Based Calibration (Talts, Betancourt, Simpson, Vehtari, Gelman).


I helped create ArviZ, a Python package for exploratory analysis of Bayesian models that is compatible with PyStan, PyMC3, emcee, Pyro, and TensorFlow probability. Includes functions for posterior analysis, model checking, comparison and diagnostics. Paper, docs, and on GitHub.

Hipster Media

A twitter bot inspired by the wonderful @NYT_first_said, this project uses the Media Cloud project to find the earliest mention of a word in major English language newspapers. It uses this to issue a smugly superior tweet.


imcmc (im-sea-em-sea) is a small library for turning 2d images into probability distributions and then sampling from them to create images and gifs.

Date Guesser

A library to extract a publication date from a web page, along with a measure of the accuracy. Built with the support and help of the Center for Civic Media at the MIT Media Lab.

Feed Seeker

A library for finding atom, rss, rdf, and xml feeds from web pages. Produced at the mediacloud project. An incremental improvement over feedfinder2, which was itself based on feedfinder, written by Mark Pilgrim, and maintained by Aaron Swartz until his untimely death.


A command line utility to run, profile, and save Jupyter notebooks. Available on github and pypi.