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 ofHTMX
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.
Top comments (0)