Sanic est un serveur Web et un framework Web Python 3.8+ écrit pour aller vite. Il permet l'utilisation de la syntaxe async/await
ajoutée dans Python 3.5, ce qui rend votre code non bloquant et rapide.
Sanic est également conforme ASGI, vous pouvez donc le déployer avec un autre serveur Web ASGI.
Code source sur GitHub | Aide et forum de discussion | Guide de l'utilisateur | Discutez sur Discord
Le projet est entretenu par la communauté, pour la communauté. Les contributions sont les bienvenues !
L'objectif du projet est de fournir un moyen simple de mettre en place et d'exécuter un serveur HTTP hautement performant, facile à créer, à développer et, finalement, à faire évoluer.
Consultez le collectif ouvert pour en savoir plus sur la manière d'aider à financer Sanic.
pip3 install sanic
Sanic utilise
uvloop
etujson
pour améliorer les performances. Si vous ne souhaitez pas utiliser ces packages, ajoutez simplement une variable d'environnementSANIC_NO_UVLOOP=true
ouSANIC_NO_UJSON=true
au moment de l'installation.$ export SANIC_NO_UVLOOP=true $ export SANIC_NO_UJSON=true $ pip3 install --no-binary :all: sanic
Note
Si vous utilisez une nouvelle installation de Fedora 28 ou supérieure, assurez-vous que le package redhat-rpm-config
est installé au cas où vous souhaiteriez utiliser sanic
avec la dépendance ujson
.
depuis sanic import Sanicfrom sanic.response import jsonapp = Sanic("my-hello-world-app")@app.route('/')async def test(request):return json({'hello': 'world'} )si __name__ == '__main__':app.run()
Sanic peut désormais être facilement exécuté en utilisant sanic hello.app
.
[2018-12-30 11:37:41 +0200] [13564] [INFO] Goin' Fast @ http://127.0.0.1:8000 [2018-12-30 11:37:41 +0200] [13564] [INFO] Travailleur débutant [13564]
Et nous pouvons vérifier que cela fonctionne : curl localhost:8000 -i
HTTP/1.1 200 OK Connexion : keep-alive Maintien en vie : 5 Longueur du contenu : 17 Type de contenu : application/json {"Bonjour le monde"}
Maintenant, allons construire quelque chose rapidement !
La version minimale de Python est 3.8. Si vous avez besoin de la prise en charge de Python 3.7, veuillez utiliser la v22.12LTS.
Le guide de l'utilisateur, le journal des modifications et la documentation de l'API sont disponibles sur sanic.dev.
Posez une question ou rejoignez la conversation.
Nous sommes toujours heureux d'avoir de nouvelles contributions. Nous avons marqué les problèmes comme étant bons pour tous ceux qui souhaitent commencer et nous acceptons les questions sur les forums. Veuillez consulter nos directives de contribution.