TL;DR
3,135 members, 84 projects, 150M+ PyPI downloads/month, 1,312 releases. Read on for what worked, what didn’t, and what actually happened behind the numbers.
Jazzband is sunsetting. Before moving on, here’s a look at what 10 years of cooperative coding actually looked like.
Five years in, we had about 1,350 members and 55 projects. Here’s where things stand now:
The numbers above only tell part of the story. Here’s what’s more interesting.
20 active projects never shipped a single release through it. Some, like Watson (2,515 stars) and django-admin2 (1,187), didn’t release at all while under Jazzband. Others, like django-rest-knox, django-fsm-log, and django-recurrence, published directly to PyPI on their own – bypassing the pipeline entirely. For these projects, Jazzband was a collaborative home for shared access and maintenance, not a release tool.
django-avatar’s repo was created in 2008 and shipped its most recent Jazzband release in January 2026 – a 17-year-old repo still getting releases. django-axes (2009), sorl-thumbnail (2010), django-constance (2010), and over 20 other projects created before 2015 were all still getting releases in 2025 or 2026. Jazzband kept old projects alive long after their original authors moved on. That was the whole point.
django-axes had the most active release cadence: 258 release files across 129 versions, peaking at 28 versions in 2019 – roughly one every 13 days. pip-tools was second at 146 releases / 73 versions.
Meanwhile, 7 active projects have no team members at all – django-permission, django-mongonaut, and five others. Nobody was actively working on them, but they had a home and stayed installable.
With 69 team members it dwarfed every other project (the next largest, djangorestframework-simplejwt, had 24). It was basically a sub-organization within Jazzband. And two projects joined as recently as 2024 (django-tagging, django-summernote) with single-digit stars and zero releases – people were still finding value in the model right up to the end.
When django-newsletter transferred in, its author @dokterbob worried that giving 800 members write access would “dissolve the responsibility so much that it might actually reduce participation.” I wrote a long reply defending the open model.
An earlier project, Collectfast, actually left Jazzband after a member pushed directly to master without review – merging commits the author had been holding off on. That incident led to real discussions about code review processes, branch protection, and what “open access” should actually mean. The tension between openness and control was never fully resolved.
Over the years I had to block 10 accounts from the GitHub organization – first crypto spammers who joined just to be in the org, then community conflicts that needed real moderation decisions, and finally the AI-driven spam that made the open model untenable. None of that is unusual for an organization this size, but it all went through one person.
Every transferred project got an onboarding checklist – a webhook
automatically opened an “Implement Jazzband guidelines” issue with
TODOs like fixing links, adding badges, setting up CI, adding
jazzband to PyPI, deciding on a project lead. 41 projects got one
of these. 28 completed it. 13 are still open.
The pattern in those 13 is telling: contributors would do every item they could, then get stuck on things that required admin access – configuring webhooks, fixing CI checks, setting up the release pipeline – and wait for me. Sometimes for months.
django-user-sessions’ original author pinged me five times over two months about broken CI checks only an admin could fix. Watson’s lead asked twice to remove legacy CI tools blocking PR merges. The checklist was good. The bottleneck was me.
One of the earliest and most visible Jazzband projects was django-debug-toolbar, transferred in back in 2016. It grew to over 8,000 stars under Jazzband before it moved to Django Commons in 2024.
django-simple-history, django-oauth-toolkit, PrettyTable, and tablib all moved on too, for similar reasons – they needed more autonomy than Jazzband’s structure could provide.
For context on how widely these projects are used, here are some numbers from PyPI. All projects that were ever part of Jazzband account for over 150 million downloads a month. Current projects alone are around 95 million.
Top 15 by monthly downloads:
| Project | Downloads/month | Note |
|---|---|---|
| prettytable | 42.4M | left Jazzband |
| pip-tools | 23.3M | |
| contextlib2 | 10.7M | |
| django-redis | 9.6M | |
| django-debug-toolbar | 7.3M | left, now Django Commons |
| djangorestframework-simplejwt | 6.1M | |
| dj-database-url | 5.5M | |
| pathlib2 | 4.9M | |
| django-model-utils | 4.8M | |
| geojson | 4.6M | |
| tablib | 4.1M | |
| django-oauth-toolkit | 3.7M | left |
| django-simple-history | 3.1M | left, now Django Commons |
| django-silk | 2.7M | |
| django-formtools | 2.1M |
One thing that surprised me: prettytable alone accounts for 42 million downloads a month, and it isn’t even a Django package. contextlib2, pathlib2, and geojson aren’t either. Jazzband ended up being broader than the Django ecosystem it started in.
django-debug-toolbar ranked in the top three most used third-party packages in the Django Developers Survey and is featured in the official Django tutorial. It spent 8 years under Jazzband before moving to Django Commons.
If you’ve come across Jazzband projects before, it was probably through the Django News newsletter, Python Weekly, or Opensource.com’s 2020 piece on how Jazzband worked.
| Project | Stars |
|---|---|
| pip-tools | 7,997 |
| django-silk | 4,939 |
| tablib | 4,752 |
| djangorestframework-simplejwt | 4,310 |
| django-taggit | 3,429 |
| django-redis | 3,059 |
| django-model-utils | 2,759 |
| Watson | 2,515 |
| django-push-notifications | 2,384 |
| django-widget-tweaks | 2,165 |
Written by Jannis Leidel on Mar 14, 2026, 12:02:00 PM