- Framework web projetado para permitir criar produtos rapidamente com Python (um fork do Django)
- É possível iniciar o desenvolvimento local com um único comando e migrar para produção com dashboard e feature flags, entre outros recursos
- Clone o starter kit para começar rapidamente
- Composto pelo pacote principal
plain e por pacotes oficiais de extensão que podem ser instalados opcionalmente
Recursos do pacote plain
- Conecta padrões de URL a funções de view em Python
- Processa requisições e respostas HTTP
- Renderização de HTML com templates Jinja
- Forms para processar entrada do usuário
- Fornece uma interface de linha de comando (CLI)
- Pode servir assets estáticos como CSS, JS e imagens
- Expande funcionalidades do app por meio de middleware
- Permite integrar facilmente pacotes oficiais e de terceiros
- Fornece um sistema de verificação prévia antes da execução do app (Preflight check system)
Recursos de extensão por meio dos pacotes first-party
- plain.models: fornece um ORM para armazenar dados em Postgres, MySQL e SQLite
- plain.cache: solução de cache que funciona junto com o banco de dados existente
- plain.email: fornece configuração e envio de e-mail em todo o app
- plain.sessions: permite ler e gravar sessões com base em banco de dados
- plain.worker: solução de tarefas em segundo plano com suporte ao banco de dados existente
- plain.api: permite criar APIs JSON usando uma arquitetura de views baseada em classes
Autenticação
- plain.auth: fornece a base para adicionar usuários, autenticar requisições e restringir views
- plain.oauth: solução flexível de OAuth com suporte a login social moderno e acesso à API
- plain.passwords: oferece suporte ao login tradicional baseado em senha
- plain.loginlink: fornece links de login de uso único para entrar sem senha
- plain.passkeys: oferecerá login sem senha
Administração
- plain.admin: fornece um dashboard administrativo totalmente personalizável
- plain.flags: permite controlar conteúdo por usuário com feature flags baseadas em banco de dados
- plain.support: oferece suporte ao cliente sem serviços de terceiros
- plain.redirection: monitora 404 e gerencia redirecionamentos no banco de dados
- plain.pageviews: permite verificar o que os usuários estão vendo e oferecer melhor suporte
Desenvolvimento
- plain.dev: permite iniciar o ambiente de desenvolvimento local com um único comando
- plain.pytest: permite escrever e executar testes com a popular biblioteca de testes para Python
- plain.code: permite formatar e aplicar lint em código Python com configuração padrão
- plain.tunnel: permite expor apps locais à internet para integração com webhooks
Front-end
- plain.tailwind: fornece integração de primeira classe com o popular framework CSS
- plain.htmx: permite criar experiências de usuário modernas usando ferramentas existentes
- plain.elements: apresenta um novo paradigma para componentes reutilizáveis nos templates do app
- plain.pages: fornece roteamento baseado em arquivos usando HTML e Markdown
- plain.esbuild: fornece um processo de build simplificado para compilação de JavaScript
- plain.vendor: permite baixar e hospedar localmente assets de JavaScript e CSS sem depender de CDN
1 comentários
Comentários do Hacker News
Muitas pessoas talvez não saibam que o rastreador de bugs do Django Rest Framework foi tornado privado e que estão procurando um novo mantenedor
Tenho sentimentos mistos sobre um fork do Django
Os pontos fortes do Django são o ORM e o ecossistema/idiomas consagrados
Existem algumas desvantagens no Django
Fiquei surpreso com o sentimento negativo em relação ao Django
Migrei de Django para Supabase/Firebase
Não gosto de configurações em forma de strings que referenciam classes
Dei uma olhada na documentação do Plain
Não sei se o Plain vai ter sucesso, mas entendo os motivos do fork