Web Analytics

django-shinobi

⭐ 300 stars English by pmdevita

Fast to learn, fast to code, fast to run

Test Coverage PyPI version Downloads Discord

Django Shinobi - Fast Django REST Framework

Documentation

Django Shinobi is a web framework for building APIs with Django and Python 3.6+ type hints.

It's a fork of the fantastic Django Ninja library focused on community-desired features and fixes. Check out the list of differences if you're coming from Ninja, as well as the roadmap!

Key features:

Django Shinobi REST Framework

Documentation: https://pmdevita.github.io/django-shinobi


Installation

In your Django project, add Django Shinobi.

pip install django-shinobi
or start a new project.

pip install django django-shinobi
django-admin startproject apidemo

Usage

In your Django project, next to urls.py, create a new file called api.py.

from ninja import NinjaAPI

api = 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), # <---------- ! ]


That's it !

Now you've just created an API that:

  • receives an HTTP GET request at /api/add
  • takes, validates and type-casts GET parameters a and b
  • decodes the result to JSON
  • generates an OpenAPI schema for defined operation

Interactive API docs

Run your Django project

shell python manage.py runsever ``

Now go to http://127.0.0.1:8000/api/docs

You will see the automatic interactive API documentation (provided by Swagger UI or Redoc):

Swagger UI

What next?

--- Tranlated By Open Ai Tx | Last indexed: 2026-04-13 ---