Architecture of encode/django-rest-framework
encode/django-rest-framework is 250 source files holding 3,863 symbols across 4 modules, written mainly in Python, JavaScript. The largest module is tests, with 81 files, and 2 files are entry points into the dependency graph.
How django-rest-framework fits together
The rest_framework directory is the package that is added to INSTALLED_APPS and contains the framework code. Serialization handles both ORM and non-ORM data sources, and authentication policies are provided, including optional packages for OAuth1a and OAuth2. Permissions and other behavior are set through the REST_FRAMEWORK settings dictionary, such as DEFAULT_PERMISSION_CLASSES. The project depends on Django, and pyproject.toml is the manifest that declares the package. The docs directory holds the documentation source, with docs/index.md as its entry point, and the tests directory holds the test suite. The .github/workflows/main.yml file defines the main GitHub workflow.
Largest modules
- tests: 81 files and 19,751 lines of code
- rest_framework: 77 files and 11,882 lines of code
- docs: 71 files and 13,568 lines of code
- root: 11 files and 538 lines of code
- .github: 8 files and 326 lines of code
- licenses: 2 files and 34 lines of code
Languages
By file count: Python 154 files, JavaScript 6 files.
More on django-rest-framework: summary and FAQ, codebase overview, code health.
Related guide: Best dependency graph tools for monorepos