gitwtfhub

wtf is djo?

neforceo/djo — explained in plain English

Analysis updated 2026-05-18

12PythonAudience · developerComplexity · 2/5Setup · easy

TL;DR

A tool that automatically builds interactive API documentation for Django projects with zero setup beyond adding it to your app list.

Mindmap

mindmap
  root((djo))
    What it does
      Auto API docs
      Reads URL patterns
      No decorators needed
    Tech stack
      Python
      Django
      OpenAPI
    Use cases
      Document existing API
      Test endpoints live
      Share API with team
    Audience
      Django developers
      Backend teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Add instant interactive API docs to an existing Django project without writing serializers.

REASON 2

Let a frontend or mobile team explore and test backend endpoints without extra documentation work.

REASON 3

Check which endpoints require authentication before integrating a new client.

What's in the stack?

PythonDjangoOpenAPISwagger UI

How it stacks up

neforceo/djoaim-uofa/reasonmatchairbone42/360-data-athlete
Stars121212
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/55/54/5
Audiencedeveloperresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min
License details are not stated in the source material.

Wtf does this do

djo is a Python library that adds automatic interactive API documentation to a Django project. If you have used FastAPI's built in Swagger UI and wished Django had something similar without extra work, this is that tool. The setup is minimal. You add one entry, "djo", to the INSTALLED_APPS list in your Django settings file, and that is it. No changes to your urls.py file, no serializers to write, no decorators to add to your views. Once installed, visiting /docs on your running project shows a full interactive documentation page generated straight from your existing URL patterns. Under the hood, djo walks through your project's URL patterns and views to figure out what each endpoint expects and returns. It reads typed path parameters like integers, UUIDs, and slugs and maps them to the correct types automatically. It also looks at how your view code reads query parameters and request data to guess at the fields your API uses, and if you use Django REST Framework serializers, it reads the real field definitions directly from those instead of guessing. It can detect authentication and permission requirements on your views and shows an Authorize button in the documentation UI so you can test protected endpoints. Error responses like 404s or other status codes referenced in your code are also picked up and added to the documentation. The documentation page is interactive, meaning you can click Try It Out and send real requests against your actual running server, with session authentication and CSRF tokens handled automatically. djo requires Python 3.10 or newer and Django 5.2 or newer, and installs with a single pip command. It has no other required dependencies, meaning it works with plain Django projects and does not require Django REST Framework, though it will use DRF serializer information when it finds it. Configuration is optional, with settings available to customize the title, version, description, and URL paths for the documentation if the defaults do not fit your project.

Yoink these prompts

Prompt 1
Show me how to add djo to my Django project's INSTALLED_APPS and access the docs page.
Prompt 2
Explain how djo infers request body fields from my Django view code.
Prompt 3
Help me configure the DJO settings dict to customize the title and docs URL.
Prompt 4
Walk me through how djo detects authentication requirements on my Django views.

Frequently asked questions

wtf is djo?

A tool that automatically builds interactive API documentation for Django projects with zero setup beyond adding it to your app list.

What language is djo written in?

Mainly Python. The stack also includes Python, Django, OpenAPI.

What license does djo use?

License details are not stated in the source material.

How hard is djo to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is djo for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.