Framework web em Python 'Violit', que começou como uma alternativa ao Streamlit, recebe grande atualização (ORM/Auth integrados)
(github.com/violit-dev)Olá.
Sou o engenheiro que, há cerca de 3 meses, apresentou no GeekNews o framework web em Python 'Violit', criado como hobby para resolver o gargalo de reexecução completa (Full Rerun) do Streamlit.
Felizmente, graças ao bom feedback da comunidade internacional e também daqui do GeekNews, recentemente ultrapassamos 400 estrelas no GitHub. Nesse meio-tempo, acompanhando amigos próximos e usuários globais aplicando meu framework em projetos reais, percebi uma coisa:
depois de montar rapidamente uma UI, as pessoas logo procuram armazenamento em DB e funcionalidade de login (Auth).
No início, eu queria mantê-lo estritamente como uma biblioteca de frontend para deixar o framework leve. Mas, vendo os usuários sofrerem para conectar à força DB e sistemas de autenticação, depois de muito pensar decidi adicionar essas funcionalidades.
Com esta grande atualização, expandi o Violit de uma simples ferramenta de UI para um framework full-stack batteries-included.
🚀 Pontos principais desta atualização
- ORM integrado (SQLModel): basta passar uma única linha,
vl.App(db="./app.db"), para consultar e salvar dados imediatamente, sem configuração separada. - Auth integrado: autenticação baseada em sessão, hash de senha e proteção de permissões de acesso a páginas (baseada em papéis/roles) são suportadas nativamente.
- Tarefas assíncronas em segundo plano: ao executar inferência pesada de IA, para que a tela não trave, é possível enviar a tarefa com segurança para o background usando
app.background(). - Tailwind & Web Awesome: por meio do parâmetro
cls, agora é possível usar classes utilitárias do Tailwind diretamente para criar um estilo moderno.
Claro, o motor central de reatividade refinada baseada em sinais (signal-based fine-grained reactivity) ficou ainda mais sólido. Você escreve o código no formato intuitivo de script, como no Streamlit (API 90% compatível), mas, em vez de a tela inteira rodar a cada clique ou entrada, apenas os widgets com dependência são atualizados parcialmente.
Agora, com apenas um script Python, é possível lidar de uma vez só com UI responsiva moderna, banco de dados e autenticação de usuários.
Se na próxima vez você for criar uma ferramenta interna, um app de dados ou um MVP, eu ficaria muito grato se testasse e deixasse seu feedback e conselhos sobre a arquitetura! :)
- GitHub : https://github.com/violit-dev/violit
- Homepage : https://violit.cloud/
- Docs : https://doc.violit.cloud
Ainda não há comentários.