CodeVetter
← All unpacks
CodeVetter · Repo Unpack evidence

django/django

Scanned commit dd6f6b1531 dated 2026-09-20 — last upstream commit. Generated by codevetter 1.12.0 on 2026-09-22.

github.com/django/django ↗ · 4000 files · 32.2 MB · scan capped

Font Awesome 5.0.4 Thanks for downloading Font Awesome!

Deep analysis by cli:grok via the grok CLI on 2026-09-22 (431s) — every claim below links to its cited source files.

Overview

Django 6.2.0 alpha is the Django Software Foundation's BSD-licensed Python web framework (Python >= 3.12) for application developers who want an ORM, routing, templates, forms, auth, admin, and migrations without writing that stack themselves. This repository is the framework library, not a deployed site: django-admin startproject emits a project, and runtime configuration comes from DJANGO_SETTINGS_MODULE over django.conf.global_settings. HTTP enters through WSGIHandler or ASGIHandler; management commands enter through execute_from_command_line. Distinctive code in this tree includes a tasks registry whose default backend runs work inline, a MAILERS migration that deprecates EMAIL_* before Django 2028, CSP middleware, and CI that already runs the suite on free-threaded Python 3.14.

System map

The installable product is the django package (setuptools include django*). Process entrypoints are the django-admin console script, python -m django, and the WSGI/ASGI factories. django.setup() is the shared bootstrap: logging, script prefix, then Apps.populate. Settings are a lazy proxy. Persistence is a ConnectionHandler over pluggable database backends, with sqlite3, postgresql, mysql, oracle, and a dummy engine in-tree. There is no application server to deploy from this repo; deployment shape is a generated project plus an external WSGI/ASGI server. Tests and docs are developer-only surfaces driven by tests/runtests.py, tox.ini, and GitHub Actions.

All 13 system map claims →

Feature catalog

User-facing surface area is a CLI (django-admin / manage.py), an HTTP stack (URLs, middleware, views, templates, forms), an ORM with migrations, and optional contrib apps. The generated project turns on admin, auth, sessions, messages, and static files, and mounts admin.site.urls at admin/. Batteries that are present in the tree but not in the default project include GIS, Postgres-only fields, flatpages, redirects, sitemaps, and the CSP middleware. A first-party tasks API and a mailers migration sit beside the older email backend.

All 15 feature catalog claims →

Data flow

Configuration flows from the environment into LazySettings, then into the app registry, middleware list, URLConf, and connection handlers. An HTTP request becomes a request object, passes a middleware onion, resolves to a view, and returns an HttpResponse. ORM reads stay as Query objects until evaluation, then SQLCompiler sends SQL and params to a backend cursor. Writes go through Model.save_base and, for schema, through MigrationExecutor. Cross-cutting state (sessions, CSRF, signatures) is keyed by SECRET_KEY or server-side stores.

All 14 data flow claims →

Behavior traces

Three flows dominate day-to-day work: process startup for django-admin, the per-request path from handler to view, and the persistence path from QuerySet or Model.save through SQL and migrations. Auth and CSRF are the security-critical variants of the request path. Names below are the functions actually called, in order.

Testing signals

Django tests Django with its own test runner. The suite lives in tests/ and is launched by tests/runtests.py, not by a third-party discovery command. Default CI is SQLite on CPython 3.14 plus a free-threading job; JavaScript admin tests and scripts/ unit tests are separate jobs. Lint is flake8, isort, black, and zizmor. Postgres, MySQL, Oracle, and PostGIS need extra settings and are not what tox runs by default. Deprecation and resource warnings are treated as errors, so a behavior change that trips RemovedInNextVersionWarning fails the suite.

Risk map

The sharp edges are secret handling, host and CSRF checks, password-hasher compatibility, shell-outs, and a few APIs that look asynchronous or durable but are not. Deployment checks for SECRET_KEY do not run on ordinary manage.py check. The generated project is explicitly unsuitable for production (DEBUG True). Schema and request code have hard incompatibilities: mixed migration directions, ATOMIC_REQUESTS with async views, and admin registration of composite primary keys.

All 14 risk map claims →

Extension points

Django is built as registries plus import strings. New behavior is expected to plug in through INSTALLED_APPS, MIDDLEWARE, management command modules, database and cache and task backends, URL converters, lookups, template libraries, checks, signals, admin classes, and serializers. Most of these are configured from settings rather than a single plugin entry file. Contrib apps are ordinary apps that happen to ship in the django package.

All 14 extension points claims →

Contributor handoff

Edit the django/ package as a library with a stable import surface, and prove changes with a narrow runtests.py label. Read the handler, settings, and the subsystem you touch before writing code. Black, isort, and flake8 are enforced. Deprecation warnings are test failures. Do not treat this checkout as an application: there is no project settings module until startproject creates one. Avoid full-suite runs, native GIS, and alternate databases unless the task needs them.

All 14 contributor handoff claims →

Languages

LanguageFilesShare of source
Python293296%
HTML373docs/config
JavaScript1114%
JSON55docs/config
CSS48docs/config
YAML26docs/config
Markdown9docs/config
Shell20%

Start reading here

Probable source entrypoint: django/__init__.py — inferred from the directory tree and manifest, not the upstream docs.

Source roots

django/ (1610 files)

Source layout — django/

PathFiles
django/apps/3
django/conf/221
django/__init__.py1
django/__main__.py1

Repository structure

Top-level pathFiles
django/1610
tests/1609
docs/704
.github/29
scripts/13
js_tests/12
extras/2
.tx/1

Docs found: docs/_theme/djangodocs/static/fontawesome/README.md

Package

package.json — Django, 5 declared dependencies.

@biomejs/biomegruntgrunt-cligrunt-contrib-qunitqunit

CI & config entrypoints

Structural health signals

Average score 6.1/10 across 96 analyzed source files; 80 hotspots surfaced.

These are deterministic review leads — size, churn, and structural signals — not proof of a bug in this project.

Recent history