While my Github profile contains many more projects in varying states, below are some highlights. Some of these were created for commercial purposes, others were things that interested me enough to do for fun.

Note: Many/most of these were written long ago. If you see something gross, let’s blame it on Greg-of-the-past. That guy…

EVE Market Data Relay

Techs: Python, Go, ZeroMQ, bottle

A high volume, ultra-high-resiliency distributed system for relaying player-uploaded EVE Online market data. A large number of EVE Online player-developed market sites used EMDR. Key technologies include Go, Python, gevent, Amazon Route53, and most importantly ZeroMQ. EMDR contributed to the eventual philosophical shift in EVE Online being willing to directly expose market data, obviating the need for EMDR and other market data scrapers/relays.

boto

Techs: Python, Requests, AWS

boto is one of the most widely used Python modules for Amazon Web Services. I started contributing back in 2011 while Mitch Garnaat was still heading up the project. Initially, I did extensive work to improve the documentation. I gradually progressed into making improvements and bug fixes on various service modules, mostly EC2, SES, and DynamoDB (which was at the time very new). I was eventually given commit access, and was very active until around the time where boto was handed over to Amazon.

Evennia

Techs: Python, Twisted, Django

Evennia started as an experimental attempt to combine Twisted and Django to form a text-based MUD. I was newer to Twisted and Django at the time, and wanted to sharpen my skills in both. My love for MUDs make this an easy decision.

In 2006, I got the first prototype working, loosely modeled on TinyMUX, sans softcode. I worked on the project in spurts while I was a student at Clemson, ultimately handing the project over to Griatch, the current maintainer, in 2011. I currently serve more of an advisory role, but am still involved in the community.

Today, Evennia is the most popular Python MUD codebase, and is the de-facto choice if you want to use Python but don’t want to write your own. The current maintainer (Griatch) deserves most of the credit for the project’s success. I list it here because of how much this project helped kickstart my Python and Django career.

python-colormath

Techs: Python, NumPy

python-colormath is a module that handles the complex math behind colorspace conversions, color comparisons and color adaptations. This was developed while I was a Graphic Communications student at Clemson University. It is now used in both commercial and open source products.

Color Sentry

Techs: Django, Python, Linux, Postgres, C++, wxWidgets, i1 Pro Spetrophotometer

Color Sentry was a Django application with a C++/wxWidgets desktop app that read the data from a spectrophotemer and sent it to the web app. We had some limited intelligence to suggest ways to improve color accuracy on press, driven by the interpretation of the spectral data.

After graduation, I sold Color Sentry to HAVI Global Solutions. Color Sentry is still in production all over the country today.

paypal-python

Techs: Python, requests

We needed to integrate with PayPal more closely at Pathwright, but there weren’t many quality PayPal for Python libraries at the time. We found a promising but inactive project, and I started contributing to it. Eventually, the original maintainer (Pat Collins) set us as the authoritative github repo for the project, and I took over maintainership.

We only cover the old NVP API, but that’s going to be around until their new REST API is available in more than a handful of countries (as it was at the time of this description’s writing)

sea-cucumber

Techs: Python, Django, Celery, Amazon SES

Based on hmarr’s django-ses, this is a Django email backend that defers mail sending to a celery task in the background. This is done transparently, making this a drop-in solution. As with any AWS service, response times and availability can be unpredictable. We wanted to make sure all emails being sent wouldn’t hang up our app servers due to said variations in responsiveness and availability in SES.

django-dynamodb-sessions

Techs: Python, Django, boto, DynamoDB

A drop-in Django session backend that uses DynamoDB. This hasn’t been touched in two years, but a few people still use it.

python-bluefin

Techs: Python, requests

Wrote a Python HTTP client for the Bluefin payment system (https://www.bluefin.com/). The HTTP APIs exposed by Bluefin were very poor, as was the documentation, so this was particularly challenging to piece together.

While not widely used at all, this module runs hundreds of thousands of dollars worth of transactions each year in a production setting.