Get started

Perspectives

24 Jul 2025

20,000 Django packages

Measuring the size of the package ecosystem

Thibaud Colas

Thibaud Colas

Wagtail core team

Have you ever had stakeholders asking you whether Wagtail or Django has a ready-made integration or plugin for this or that functionality? The large package ecosystem is a big strength, but how large is it exactly? Are are some numbers straight from PyPI statistics.

  • 23382 Django packages are published on PyPI
  • 10875 Django packages have had a release in the last five years (keeping in mind Django is 20 years old!)
  • 7367 in the last three years
  • 3459 packages with a release in the last year

There have been 2374 Django packages making at least one release since Django 5.2 was released earlier this year, which is a good indication of the number of packages under active development.

If we were to chart this distribution of how long ago packages were released, here’s what it looks like (with each bar representing 6 months):

Distribution of Django packages days since last release histogram, with linear amount of packages in 6 months bucket, with a spike around 5 years ago

Except for the one spike 5 years ago, this is relatively linear? Could be a pattern in the data (Django 2.2 LTS and 3.0 release?), or a flaw in the PyPI statistics. This data is dependent on packages either having "django", "dj-" or other signifiers in the package name, or declaring "Framework = Django" in the metadata of any of their releases.

Wagtail ecosystem

As of today there are 526 packages that are Wagtail-specific, however a big strength of Wagtail is that developers can leverage almost all of the other more generic Django packages. Check out our packages page for an overview of Wagtail-friendly apps, which is a bit like Django’s official ecosystem page.

Interesting highlights

  • drf-spectacular is the most downloaded package in the REST Framework ecosystem of 724 packages, with 5M downloads in 30 days.
  • 5371 packages have only ever had one release
  • Our own django-permissionedforms is the most downloaded package with only one release, with 300k downloads in the last 30 days. This is a good indicator that sometimes things “just work” and there’s no need to make upgrades!

Permissioned forms is also interesting as a feature because it was part of a feature sponsorship by Google! Those are often done as packages even if they might be part of the Wagtail roadmap. The most recent example being the Wagtail newsletter package, made possible thanks to the Freedom of the Press Foundation 🫶.


I hope this little series on the Django package ecosystem is interesting! Check out the previous entry, 10 underrated Django packages. Up next, we’ll compare ”popularity“ metrics like GitHub stars and download counts! Be sure to subscribe to the blog’s RSS feed or our newsletter.