Python-Web-Framework „Violit“, das als Streamlit-Alternative begann, erhält großes Update (mit integriertem ORM/Auth)
(github.com/violit-dev)Hallo.
Ich bin der Engineer, der vor etwa drei Monaten hier auf GeekNews das als Hobbyprojekt entstandene Python-Web-Framework „Violit“ vorgestellt hat, das den Flaschenhals der vollständigen Neuausführung (Full Rerun) von Streamlit lösen sollte.
Dankenswerterweise haben mir die internationale Community und auch GeekNews hier gutes Feedback gegeben, sodass das Projekt kürzlich die Marke von 400 GitHub-Stars überschritten hat. Während ich beobachtete, wie Bekannte von mir und globale Nutzer mein Framework tatsächlich in realen Projekten einsetzten, wurde mir eines klar.
Sobald man schnell eine UI zusammengebaut hat, suchen die Leute sofort nach DB-Speicherung und Login-/Auth-Funktionen.
Anfangs wollte ich das Framework bewusst schlank halten und es strikt nur als Frontend-Bibliothek belassen. Aber als ich sah, wie sich Nutzer abmühten, Datenbank und Authentifizierung irgendwie zusammenzuflicken, habe ich mich nach reiflicher Überlegung entschieden, diese Funktionen hinzuzufügen.
Mit diesem großen Update habe ich Violit von einem einfachen UI-Tool zu einem Batteries-included-Full-Stack-Framework erweitert.
🚀 Die Kernpunkte dieses Updates
- Integriertes ORM (SQLModel): Wenn man einfach nur
vl.App(db="./app.db")übergibt, sind Abfragen und Speicherung sofort ohne separates Setup möglich. - Integriertes Auth: Sitzungsbasierte Authentifizierung, Passwort-Hashing und Schutz von Seitenzugriffsrechten (Role-based) werden nativ unterstützt.
- Asynchrone Hintergrundaufgaben: Damit der Bildschirm bei aufwendiger AI-Inferenz nicht einfriert, können Aufgaben mit
app.background()sicher in den Hintergrund ausgelagert werden. - Tailwind & Web Awesome: Über den Parameter
clskönnen Tailwind-Utility-Klassen direkt verwendet werden, was modernes Styling ermöglicht.
Natürlich wurde auch die tragende signalbasierte feingranulare Reaktivitäts-Engine (Signal-based fine-grained reactivity) weiter verbessert. Der Code wird wie bei Streamlit in einer intuitiven Skriptform geschrieben (API zu 90 % kompatibel), aber bei Klicks oder Eingaben wird nicht der gesamte Bildschirm neu ausgeführt, sondern nur die Widgets mit tatsächlichen Abhängigkeiten werden teilweise aktualisiert.
Jetzt lassen sich mit nur einem Python-Skript moderne reaktive UI, Datenbank und Benutzerauthentifizierung auf einmal umsetzen.
Wenn Sie das nächste Mal ein internes Tool, eine Daten-App oder ein MVP bauen, probieren Sie es gern einmal aus — ich wäre Ihnen wirklich dankbar für Feedback und Ratschläge zur Architektur! :)
- GitHub : https://github.com/violit-dev/violit
- Homepage : https://violit.cloud/
- Docs : https://doc.violit.cloud
Noch keine Kommentare.