# Tetra Full stack component framework for [Django](http://djangoproject.com) using [Alpine.js](https://alpinejs.dev) Tetra is a new full stack component framework for Django, bridging the gap between your server logic and front end presentation. It uses a public shared state and a resumable server state to enable inplace updates for components. It also encapsulates your Python, HTML, JavaScript and CSS into one file or directory for proximity of related concerns. ## Documentation Too much for a README. There's a [Documentation](https://tetra.readthedocs.org) page. There is also a shortcut to some [examples](https://www.tetraframework.com/examples/). ## Installation As usual: ``` uv pip install tetra ``` But wait, this isn't all. Tetra needs some customization in your Django project. Read more at [Installation docs](https:/www.tetraframework.com/installation.md) ## Short Overview For the impatient: here's a short example video that shows what Tetra is capable of: https://github.com/user-attachments/assets/137c53af-1fc2-48c5-9c53-a007fbad7874 This is done using simple and concise code in one component, rendered in your template with just `{% InfoCard / %}`. No page reload needed. ```python from tetra import Component, public class InfoCard(Component): title: str = "I'm so excited!" content: str = "We got some news for you." name: str = public("") @public def close(self): self.client._removeComponent() @public def done(self): print("User clicked on OK, username:", self.name) self.content = f"Hi { self.name }! No further news." template = """
{{ content }}
Enter your name below!
Thanks, {% livevar name %}