Open Source Projects

I actively contribute to several open source projects in my free time. I am also employed to work on a handful of other open source projects. I’m often asked which projects I actually work on and I thought I would dedicate a portion of my website to the complete list. Unless noted, everything below I work on in my free time.

I am a core developer/maintainer of:

  • Requests

    One of Python’s most popular HTTP libraries.

  • urllib3

    Another of Python’s most popular HTTP libraries (also a dependency of Requests).

  • chardet

    A library written by Mark Pilgrim used to detect the character encoding of some text (also a dependency of Requests).

  • Flake8

    One of Python’s most popular linters and style guide enforcers.

  • McCabe

    A library that analyzes the McCabe Complexity of code which was originally authored by Ned Batchelder (also a dependency of Flake8).

  • PyFlakes

    A command-line tool and library that searches for lint and errors in code (also a dependency of Flake8).

  • PyCodestyle (formerly pep8)

    A command-line tool and library that enforces style which is roughly in agreement with PEP-0008 (also a dependency of Flake8).

  • Twine

    A command-line tool that securely uploads packages to the Python Package Index using Requests.

  • SQLObject

    A database-independent library written by Ian Bicking and mostly maintained by Oleg Broytman which provides a object-relational mapper. I helped with the effort to add Python 3 compatibility.

  • Many (authentication) plugins for Requests:

  • Extensions for Flake8

  • PDFKit

    A library that also provides Rack Middleware to allow users to convert HTML to PDFs via wkHTMLtoPDF.

  • certifi

    A package of Mozilla’s CA certificates trust bundle for Python.

  • httplib2

    A library pre-dating Requests meant to replace the standard library’s httplib.

I have authored:


I am also paid to work on some OpenStack projects. As part of that work I am a core reviewer of:

  • The Glance Project:
    • Glance
    • python-glanceclient
    • glance_store
    • Glance Specifications

I am paid to contribute to OpenStack Ansible which is a project consisting of several Ansible role repositories and playbooks to deploy OpenStack in LXC containers using the Rackspace Private Cloud reference architecture.

I am also paid to contribute to rpc-openstack which is another collection of Ansible roles and playbooks to deploy the Rackspace Private Cloud product that I am employed to work on.

I am also a core reviewer of Hacking – the style guide of OpenStack implemented as an extension of Flake8 – but am not paid to work on that.

I am also an OpenStack Security Group member working as a core reviewer of Bandit – a static security analysis tool for Python – but am not paid to work on this either.

OpenStack presently uses the following projects (from the list above) in one capacity or another:

  • Betamax
  • httplib2
  • Requests
  • requests-kerberos
  • rfc3986
  • urllib3
  • Flake8
  • flake8-docstrings
  • McCabe
  • PyFlakes
  • PyCodestyle

And most OpenStack projects use Hacking and Bandit as well.

This was last updated: 2016 May 22