É difícil criar um micro web framework em python? Eu consegui em 12 dias :)

Hoje eu fiz o lançamento da versão 0.1.0 do Gunstar, um micro web framework em python. Isso levou ao todo 12 dias, desde a criação do repositório até a publicação da versão 0.1.0 no pypi.

A principal facilidade em escrever um micro framework em tão pouco tempo se resume a um padrão , o WSGI, com ele podemos escrever aplicações usando ótimas bibliotecas como o WebOb (que usei no Gunstar) ou o Werkzeug (base do Flask). Essas duas bibliotecas cuidam de transformar requisição e resposta em objetos que posso manipular facilmente na minha aplicação python.

Com o tempo que poupei usando o WebOb eu escrevi duas classes que fazem o papel de roteamento de urls, o código é bem simples, e o melhor de tudo, funciona!

Também criei uma interface para gerir sessão dos usuários usando signed cookies, não vejo motivos para usar sessão em arquivos ou em banco de dados, claro que temos que reconhecer que existe um limite para o tamanho da sessão e que isso tem uma influência no tamanho das requisições e respostas, mas se você precisa guardar tanta informação assim em uma sessão, você está fazendo isso errado, grave apenas a chave na sessão e o resto retorne de um banco de dados.

Usei o Blinker para implementar signals, um dos usos foi na captura do template e do contexto em que esse template foi renderizado para usar nos testes, o código chega a ser ridículo, o blinker é uma mão na roda.

A documentação ainda está devendo em muitos pontos, temos apenas o quickstart por enquanto, mas se vocês tiverem curiosidade podem olhar os testes que vão descobrir o que podemos fazer com o Gunstar.

Anúncios

13 comentários sobre “É difícil criar um micro web framework em python? Eu consegui em 12 dias :)

      1. conheci o nacho semana passada, é promissor, mas a falta de documentação atrapalha, testei bastante o gunstar hj e realmente fiquei impressionado, rodei com python3 e perfeito, acho que tem futuro se vc seguir nesse passo, o avanço da distribuição de API rest tem favorecido muito os micro frameworks, gostaria de colaborar com o gunstar criando mixin de json etc. Abs, fico torcendo para evoluir esse projeto

    1. Como é um framework wsgi podemos rodar qualquer server nele, mas eu vou adicionar um conteúdo sobre deploy na documentação.

      Eu gosto bastante do gunicorn, principalmente porque nele você tem como usar worker_class diferentes (tornado, eventlet e gevent) do padrão.

      Fora o gunicorn temos o uwsgi que é bem bacana também.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s