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.
| Project | What it is | Python | Release | Last commit | Monthly downloads |
|---|---|---|---|---|---|
| OSSvitals | Daily repository health grades for open-source organisations; live | ||||
| django-config-models | Django configuration models with history and auditing | ||||
| django-user-tasks | User-triggered asynchronous tasks for Django | ||||
| edx-rest-api-client | Authenticated REST client for Open edX services | ||||
| pytest-repo-health | pytest plugin that runs repository health checks | ||||
| edx-repo-health | The health checks every Open edX repository is scored on; the data source behind OSSvitals |
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
openedxrepositories and 4,400+ pull requests reviewed - Member of the Open edX Maintenance Working Group and the edx-platform Working Group