About Django Revolution - Dynamic Zone-Based API Client Generator

Django Revolution is a modern, zero-config TypeScript & Python client generator for Django REST Framework that revolutionizes how you organize and generate API clients. Built with dynamic zone-based architecture, it eliminates the need for static files and provides unprecedented flexibility.

Project Facts

FactValue
Latest Version1.0.13
Python Support3.9+
Django Support3.2+
LicenseMIT
ArchitectureDynamic Zone-Based
Performance2-3x speedup with multithreading
Type SafetyPydantic models
CLI InterfaceRich interactive terminal

Key Innovations

Dynamic Zone Management

Unlike traditional approaches that require static zone files, Django Revolution generates everything in-memory dynamically:

  • No static files - Zones created from configuration
  • Automatic URL structure - Dynamic URL patterns
  • Zone validation - Comprehensive validation
  • App detection - Automatic Django app discovery

Multi-Monorepo Integration

Advanced monorepo support with multiple configurations:

  • Multiple monorepos - Support for multiple monorepo structures
  • Individual control - Each monorepo can be enabled/disabled independently
  • pnpm-only support - Simplified package manager integration
  • Parallel sync - Multiple monorepos synced simultaneously
  • Temporary storage - Intermediate storage during sync process

Rich CLI Experience

Modern command-line interface with multiple interaction modes:

  • Interactive mode - Beautiful terminal interface with questionary
  • Command line mode - Direct execution for automation
  • Development tools - Comprehensive CLI toolbox
  • Rich output - Progress tracking and beautiful formatting

Performance Optimization

Built for speed and scalability:

  • Multithreading - Configurable worker threads (default: 20)
  • Parallel processing - Multiple zones processed simultaneously
  • Memory optimization - Better resource management
  • Smart caching - Zone caching for performance

Technology Stack

ComponentTechnologyPurpose
Core FrameworkDjango 3.2+Web framework
API FrameworkDjango REST FrameworkAPI development
Schema Generationdrf-spectacularOpenAPI schemas
Type SafetyPydantic 2.0+Configuration validation
CLI Interfacequestionary + richInteractive terminal
TypeScript Generation@hey-api/openapi-tsTypeScript clients
Python Generationdatamodel-code-generatorPython clients
Configurationpydantic-settingsSettings management

Architecture Overview

Zone-Based Organization

Django Revolution organizes your API into logical zones:

Zone TypePurposeAuthenticationExamples
PublicExternal-facing APIsOptional (JWT/none)User registration, product catalog
PrivateAuthenticated user APIsRequired (JWT)User profile, orders
AdminAdministrative APIsAdmin users onlyUser management, analytics
InternalService-to-service APIsService tokensMicroservice communication

Dynamic URL Structure

Automatically creates structured URL hierarchy:

/api/
├── public/
│ ├── schema/ # Swagger UI
│ ├── schema.yaml # OpenAPI spec
│ └── v1/ # API endpoints
├── private/
│ ├── schema/
│ ├── schema.yaml
│ └── v1/
└── admin/

Development Philosophy

Zero Configuration

  • Works out of the box with sensible defaults
  • Auto-dependency installation - Dependencies installed automatically
  • Environment detection - Automatic Django project detection
  • Smart defaults - Optimal settings for most use cases

Type Safety

  • Pydantic models for all configuration
  • Validation at every step
  • Error handling with detailed messages
  • IDE support with proper type hints

Developer Experience

  • Rich CLI with beautiful output
  • Interactive mode for exploration
  • Development tools for workflow
  • Comprehensive documentation with examples

Community & Support

ResourceDescription
GitHub RepositorySource code and issues
DocumentationComprehensive guides and API reference
ExamplesSample projects and configurations
DiscussionsCommunity support and questions
IssuesBug reports and feature requests

Get Started · Usage Guide · GitHub