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:
-
One of Python’s most popular HTTP libraries.
-
Another of Python’s most popular HTTP libraries (also a dependency of Requests).
-
A library written by Mark Pilgrim used to detect the character encoding of some text (also a dependency of Requests).
-
One of Python’s most popular linters and style guide enforcers.
-
A library that analyzes the McCabe Complexity of code which was originally authored by Ned Batchelder (also a dependency of Flake8).
-
A command-line tool and library that searches for lint and errors in code (also a dependency of Flake8).
-
A command-line tool and library that enforces style which is roughly in agreement with PEP-0008 (also a dependency of Flake8).
-
A command-line tool that securely uploads packages to the Python Package Index using Requests.
-
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
-
A library that also provides Rack Middleware to allow users to convert HTML to PDFs via wkHTMLtoPDF.
-
A package of Mozilla’s CA certificates trust bundle for Python.
-
A library pre-dating Requests meant to replace the standard library’s httplib.
I have authored:
-
A library for interacting with version 3 of GitHub’s API. This is maintained with the help of:
-
A library for parsing and expanding URI Templates as defined in RFC 6570.
-
A library for parsing, validating, and normalizing URIs as defined in RFC 3986.
-
A library for common utilities and patterns that are useful for Requests users but do not belong in the Requests library.
-
A library for writing integration tests for code that uses Requests. This was inspired by Ruby’s VCR.
Libraries that extend the usefulness of Betamax:
OpenStack¶
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