Tetra is a full stack component framework for Django built on top of Alpine.js. It is heavily inspired by frameworks such as Laravel Livewire and Phoenix Liveview, enabling you to create server rendered components that respond to user interactions reactively. However, it builds on the concept by allowing you to build “hybrid” components that also have full JavaScript capabilities thanks to using Alpine.js.
It also builds on the trend of bringing the different parts of a component (Python, HTML, CSS, JavaScript) into closer proximity, by keeping all related parts in the same file. It uses esbuild to bundle your JavaScript and CSS, whilst also creating source maps, making it possible to trace errors back to the original Python source files.
In terms of future plans, I’m aiming for a v1 release this summer - there is still quite a long to-do list! I have been working on this in my spare time so far, but hope to find the opportunity to work on it full time. I think there is a gap in the current Python framework ecosystem, and I believe, that what I have designed in Tetra plugs that gap. I hope to build this into a significant contribution to the community.
Yes, it plugs that gap perfectly. Congrats! Awesome job. Unfortunately I guess I don’t have enough developer skills to the task, but I believe there are other ways to contribute. I’ll be around, count on me.
Hi there! Thanks for sharing Tetra with us. It looks like an interesting framework, especially for Django developers who want to build reactive server-rendered components. I like the idea of keeping all related parts of a component in the same file and using esbuild to bundle the code.
It’s great to hear that you’re planning to release a v1 this summer and have further plans to build Tetra into a significant contribution to the Python framework ecosystem. I wish you the best of luck with your development and hope to see more from Tetra in the future!