Sanic é um servidor web e estrutura web Python 3.8+ escrito para ser rápido. Ele permite o uso da sintaxe async/await
adicionada no Python 3.5, o que torna seu código sem bloqueio e rápido.
Sanic também é compatível com ASGI, então você pode implantá-lo com um servidor web ASGI alternativo.
Código-fonte no GitHub | Fórum de ajuda e discussão | Guia do usuário | Bate-papo no Discord
O projeto é mantido pela comunidade, para a comunidade. Contribuições são bem-vindas!
O objetivo do projeto é fornecer uma maneira simples de colocar em funcionamento um servidor HTTP de alto desempenho que seja fácil de construir, expandir e, em última análise, escalar.
Confira o coletivo aberto para saber mais sobre como ajudar a financiar o Sanic.
pip3 install sanic
Sanic usa
uvloop
eujson
para ajudar no desempenho. Se você não quiser usar esses pacotes, simplesmente adicione uma variável de ambienteSANIC_NO_UVLOOP=true
ouSANIC_NO_UJSON=true
no momento da instalação.$ exportar SANIC_NO_UVLOOP = verdadeiro $ exportar SANIC_NO_UJSON = verdadeiro $ pip3 install --no-binary:all:sanic
Observação
Se você estiver executando uma instalação limpa do Fedora 28 ou superior, certifique-se de ter o pacote redhat-rpm-config
instalado caso queira usar sanic
com dependência ujson
.
from sanic import Sanicfrom sanic.response import jsonapp = Sanic("my-hello-world-app")@app.route('/')async def test(request):return json({'hello': 'world'} )se __name__ == '__main__':app.run()
Sanic agora pode ser executado facilmente usando sanic hello.app
.
[30/12/2018 11:37:41 +0200] [13564] [INFO] Indo rápido @ http://127.0.0.1:8000 [2018-12-30 11:37:41 +0200] [13564] [INFO] Iniciando trabalhador [13564]
E podemos verificar se está funcionando: curl localhost:8000 -i
HTTP/1.1 200 OK Conexão: keep-alive Keep-Alive: 5 Comprimento do conteúdo: 17 Tipo de conteúdo: application/json {"olá":"mundo"}
Agora, vamos construir algo rápido!
A versão mínima do Python é 3.8. Se você precisar de suporte para Python 3.7, use v22.12LTS.
O Guia do usuário, o Changelog e a documentação da API podem ser encontrados em sanic.dev.
Faça uma pergunta ou participe da conversa.
Estamos sempre felizes em receber novas contribuições. Marcamos os problemas como bons para quem deseja começar e aceitamos perguntas nos fóruns. Por favor, dê uma olhada em nossas diretrizes de contribuição.