DEV Community

Adam Hill
Adam Hill

Posted on

Request for maintainer(s) for django-unicorn

After starting building django-unicorn in July 2020 and spending probably 3-4 years diligently adding features, fixing bugs, and driving the project forward, I have decided I need to officially look for other maintainers to help out with the project.

django-unicorn is an interactive component library for Django. It sort of works similarly to Livewire for Laravel.

Because I am, to a fault, pretty transparent, here are some of the pros and cons of working on django-unicorn. 🦄

The good

  • django-unicorn has over 2.5k stars on GitHub, so I'm pretty sure it is solving a pain point for Django developers.
  • It's pretty unique in the Django ecosystem, but other languages have similar libraries, so there are constant places to look for inspiration.
  • Pretty high test coverage, the use of Python types, etc.
  • It is used in production by a number of companies AFAIK.

The bad

  • It's complicated: there is both a custom JavaScript reactive library and Django back-end code.
  • The backend in particular does some ✨ magic ✨ with undocumented Django APIs.
  • Replicating user bugs can be a challenging experience.

The ugly

  • Some features probably need a re-think, e.g. child components.
  • Requiring a cache for components was useful, but probably not a great approach going forward.
  • HTMX seems to have "won" for frontend libraries (that aren't React/Vue) in the Django ecosystem (no shade here -- I'm a fan of HTMX as well).

The future

Ideally, one (or more!) people would be interested in helping me work on django-unicorn going forward. I'm not sure I can commit to working on it forever, but I do pledge to help others ramp up, work through issues together, and help guide the project forward.

I do think there are lots of opportunities to improve the project (I have a list of pie-in-the-sky ideas if anyone is interested), but even if someone was willing to help triage and write tests for issues that would be a good start.

Why would you want to help?

A chance to work on a project that already has some traction, improve it, and help out the Django community to build cooler (read: more interactive) websites quicker.

Do you have ideas about how to build better websites in Django quicker? I'd love to hear from you. Please DM on Mastodon (adamghill@indieweb.social) or in this discussion: https://github.com/adamghill/django-unicorn/discussions/746.

More context

Documentation

The journey

Top comments (0)