Rápido de aprender, rápido de codificar, rápido de ejecutar
Django Shinobi - Framework REST rápido para Django
Django Shinobi es un framework web para construir APIs con Django y type hints de Python 3.6+.
Es un fork de la fantástica librería Django Ninja enfocada en características y correcciones deseadas por la comunidad. Revisa la lista de diferencias si vienes de Ninja, así como la hoja de ruta!
Características clave:
- Fácil: Diseñado para ser fácil de usar e intuitivo.
- Ejecución RÁPIDA: Muy alto rendimiento gracias a Pydantic y soporte async.
- Rápido para codificar: Los type hints y la documentación automática te permiten enfocarte solo en la lógica de negocio.
- Basado en estándares: Basado en los estándares abiertos para APIs: OpenAPI (anteriormente conocido como Swagger) y JSON Schema.
- Compatible con Django: (obviamente) tiene buena integración con el núcleo de Django y el ORM.
- Listo para producción: El proyecto original Ninja es usado por múltiples empresas en proyectos en producción.

Documentación: https://pmdevita.github.io/django-shinobi
Instalación
En tu proyecto Django, añade Django Shinobi.
pip install django-shinobi
o iniciar un nuevo proyecto.pip install django django-shinobi
django-admin startproject apidemoUso
En tu proyecto Django, junto a urls.py, crea un nuevo archivo llamado api.py.
from ninja import NinjaAPIapi = NinjaAPI()
@api.get("/add")
def add(request, a: int, b: int):
return {"result": a + b}
Now go to urls.py and add the following:
``Python hl_lines="3 7"
...
from .api import api
urlpatterns = [ path("admin/", admin.site.urls), path("api/", api.urls), # <---------- ! ]
shell python manage.py runsever `` Ahora ve a http://127.0.0.1:8000/api/docs¡Eso es todo!/api/addAhora acabas de crear una API que:
- recibe una solicitud HTTP GET en
atoma, valida y convierte los parámetros GET ybdecodifica el resultado a JSON genera un esquema OpenAPI para la operación definida Documentación interactiva de la API
Ejecuta tu proyecto Django
Verás la documentación automática interactiva de la API (proporcionada por Swagger UI o Redoc):

¿Qué sigue?
- Lee la documentación completa aquí - https://pmdevita.github.io/django-shinobi
- Para apoyar este proyecto, por favor dale una estrella en Github.

- Compártelo vía Twitter
- Comparte tus comentarios y discute el desarrollo en Discord https://discord.gg/ntFTXu7NNv
