Maintaining

Maintaining

Projects I maintain or co-maintain. For the Open edX packages I am the named owner in each repository’s catalog-info.yaml; releases go to PyPI. Badges are live.

ProjectWhat it isPythonReleaseLast commitMonthly downloads
OSSvitalsDaily repository health grades for open-source organisations; live  Last commit 
django-config-modelsDjango configuration models with history and auditingPython versionsPyPILast commitDownloads
django-user-tasksUser-triggered asynchronous tasks for DjangoPython versionsPyPILast commitDownloads
edx-rest-api-clientAuthenticated REST client for Open edX servicesPython versionsPyPILast commitDownloads
pytest-repo-healthpytest plugin that runs repository health checksPython versionsPyPILast commitDownloads
edx-repo-healthThe health checks every Open edX repository is scored on; the data source behind OSSvitals  Last commit 

Ecosystem work

Beyond the packages above, most of my open-source time goes to maintenance that spans many repositories at once:

  • Python 3.8 to 3.12 and Django 3.2 to 4.2 to 5.2 upgrades across 150+ Open edX repositories, with reusable codemods
  • Travis CI, Jenkins and CircleCI to GitHub Actions migrations, with self-hosted autoscaling runners on EKS
  • 678 merged pull requests across 95 openedx repositories and 4,400+ pull requests reviewed
  • Member of the Open edX Maintenance Working Group and the edx-platform Working Group