repowiseencode/django-rest-framework

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