Open Source

I have been privileged to work professionally on open source, as well as having the leisure time to work on a few projects on my own time. This is a sample of my open source work.

Agnostic Database Migrations

37 MIT teamhg-memex/agnostic Docs

Database migration tools are often highly tailored to a specific programming language or application framework. Agnostic is a database migration tool that can be used with any language or framework. It supports MySQL, PostgreSQL, and SQLite.

Encoding Tools

5 GPL-3.0 mehaase/encoding-tools

A tool for generic byte string manipulations, similar to Burp Suite Encoder or CyberChef. Online version available at and can also be used offline.

Page Compare

53 teamhg-memex/page-compare

A simple heuristic for comparing the structural similarity of two HTML documents. This algorithm was also used for the clustering step in the construction of the Dark Web Map.

Python Chrome DevTools Protocol

20 MIT hyperiongray/python-chrome-devtools-protocol

A Python library for Chrome DevTools Protocol (CDP), which can be used to drive headless Chrome. This library uses code generation to produce native Python wrappers from the machine-readable CDP specification. This is a sans-I/O project that can be wrapped for use with any concurrency framework, such as multithreading, asyncio, Trio, etc.


53 hyperiongray/starbelly

A GUI-driven web crawler written on top of the Trio async Python framework. The crawler uses a novel “crawl policy” system to simplify the configuration of directed crawlers.

Trio Chrome DevTools Protocol

16 MIT hyperiongray/trio-chrome-devtools-protocol

This library provides a Trio-compatible CDP implementation by wrapping Python Chrome Devtools Protocol and adding an asynchronous I/O layer.

Trio WebSocket

39 MIT hyperiongray/trio-websocket

An implementation of the WebSocket protocol on top of the Trio asynchronous framework. This library is used in Starbelly and Trio CDP. It’s also used in third party products around the world, such as this super adorable robot.