Hi. I'm James, a developer living in California.
I mostly work in Python, with the Django web framework, for which I've served in many leadership roles including committer, release manager, technical board member and security response team member.
I maintain several popular reusable Django applications:
-
django-contact-form is a configurable contact-form application.
-
django-registration is a highly customizable user-registration application.
-
pwned-passwords-django is an integration for Django's password validation system to check against the Pwned Passwords database.
I also maintain some general Python libraries:
-
akismet provides API clients for the Akismet spam-filtering service.
-
webcolors provides tools for parsing and converting HTML/CSS color formats.
I usually only find time for open source work on weekends, so that's when you're most likely to see me committing or responding to discussions.
-
A major new version of django-registration, with much-improved custom user-model support and a better-designed activation workflow.
-
Updating all of my projects to support Django 5.1, and also to support Python 3.13 and drop Python 3.8.
I occasionally blog about technical topics, or post about them on Mastodon.