Documentation
Django Revolution
v1.0.13
CLI Reference - Django Revolution
Django Management Commands
Generate Clients
# Interactive generation (default)python manage.py revolution# Generate specific zonespython manage.py revolution --zones public admin# TypeScript onlypython manage.py revolution --typescript# Python onlypython manage.py revolution --python# Without archivingpython manage.py revolution --no-archive### Monorepo optionspython manage.py revolution --no-monorepo# Utility commandspython manage.py revolution --statuspython manage.py revolution --list-zonespython manage.py revolution --validatepython manage.py revolution --clean# New validation commandspython manage.py revolution --validate-zonespython manage.py revolution --show-urlspython manage.py revolution --test-schemas# Multi-monorepo commandspython manage.py revolution --list-monorepospython manage.py revolution --validate-monorepos
Multithreading Options
# Use custom number of worker threadspython manage.py revolution --generate --max-workers 10# Disable multithreading (sequential processing)python manage.py revolution --generate --no-multithreading# Interactive mode with multithreading optionspython manage.py revolution --interactive
Validation & Testing Commands
# Validate all zones with detailed loggingpython manage.py revolution --validate-zones# Show URL patterns for each zonepython manage.py revolution --show-urls# Test schema generation for each zonepython manage.py revolution --test-schemas# Validate environment and configurationpython manage.py revolution --validate# List all available zonespython manage.py revolution --list-zones
Status & Information
# Show current status and configurationpython manage.py revolution --status# Show program versionpython manage.py revolution --version# Enable debug loggingpython manage.py revolution --debug# Set verbosity level (0-3)python manage.py revolution --verbosity 2
Utility Commands
# Clean output directoriespython manage.py revolution --clean# Install required dependenciespython manage.py revolution --install-deps# Override output directorypython manage.py revolution --output-dir /custom/path# Skip system checkspython manage.py revolution --skip-checks
Standalone CLI
Interactive Mode
# Launch interactive CLIdjango-revolution# Or run directlypython -m django_revolution.cli
The interactive CLI provides:
- ๐ฏ Zone selection - Checkbox-based zone selection
- ๐ง Client type selection - TypeScript/Python options
- ๐ฆ Archive options - Archive creation settings
- ๐ Progress tracking - Real-time generation progress
- โ Results summary - Beautiful results table
Command Line Mode
# Generate all clientsdjango-revolution --generate# Generate specific zonesdjango-revolution --zones public admin# TypeScript onlydjango-revolution --typescript# With custom output directorydjango-revolution --output-dir /custom/path
Development Scripts
Interactive Development CLI
# Main development interfacepython scripts/dev_cli.py# Or install and use as package commandpip install -e .dev-cli
Individual Scripts
# Version managementpython scripts/version_manager.py getpython scripts/version_manager.py bump --bump-type patch# Generate requirements filespython scripts/generate_requirements.py# Interactive publishingpython scripts/publisher.py# Test generation./scripts/test_generation.sh
Package Commands (after installation)
# Version managementversion-manager getversion-manager bump --bump-type minor# Publishingpublisher# Requirements generationgenerate-requirements
Command Reference
Django Management Command Options
Option | Description | Default |
---|---|---|
--generate, -g | Generate API clients | False |
--zones [ZONES ...], -z [ZONES ...] | Specific zones to generate | All zones |
--typescript, -t | Generate TypeScript clients only | False |
--python, -p | Generate Python clients only | False |
--no-typescript | Skip TypeScript client generation | False |
--no-python | Skip Python client generation | False |
--no-archive | Skip archiving generated clients | False |
--no-monorepo | Skip monorepo sync | False |
--clean | Clean output directories before generation | False |
--no-multithreading | Disable multithreaded generation | False |
--max-workers MAX_WORKERS | Maximum number of worker threads | 20 |
--status | Show current status and configuration | False |
--list-zones | List all available zones | False |
--validate | Validate environment and configuration | False |
--show-urls | Show URL patterns for each zone | False |
--validate-zones | Validate each zone with detailed logging | False |
--test-schemas | Test schema generation for each zone | False |
--install-deps | Install required dependencies | False |
--output-dir OUTPUT_DIR | Override output directory | Auto-detected |
--debug | Enable debug logging | False |
--interactive, -i | Run in interactive mode | False |
--version | Show program's version number and exit | False |
-v {0,1,2,3}, --verbosity {0,1,2,3} | Verbosity level | 1 |
--settings SETTINGS | Django settings module | Auto-detected |
--pythonpath PYTHONPATH | Python path | Auto-detected |
--traceback | Display full stack trace on errors | False |
--no-color | Don't colorize output | False |
--force-color | Force colorization of output | False |
--skip-checks | Skip system checks | False |
Standalone CLI Options
Option | Description | Default |
---|---|---|
--generate | Generate API clients | False |
--zones [ZONES ...] | Specific zones to generate | All zones |
--typescript | Generate TypeScript clients only | False |
--python | Generate Python clients only | False |
--output-dir OUTPUT_DIR | Override output directory | Auto-detected |
--interactive | Run in interactive mode | True |
--debug | Enable debug logging | False |
--version | Show version and exit | False |
Examples
Basic Generation
# Generate all clients interactivelypython manage.py revolution# Generate specific zonespython manage.py revolution --zones public admin# TypeScript only with custom workerspython manage.py revolution --typescript --max-workers 8
Validation & Testing
# Validate all zonespython manage.py revolution --validate-zones# Test schema generationpython manage.py revolution --test-schemas# Show URL patternspython manage.py revolution --show-urls
Performance Optimization
# Use 16 worker threads for faster generationpython manage.py revolution --generate --max-workers 16# Disable multithreading for debuggingpython manage.py revolution --generate --no-multithreading# Clean and regeneratepython manage.py revolution --clean --generate
Development Workflow
# Interactive developmentpython scripts/dev_cli.py# Version bumppython scripts/version_manager.py bump --bump-type minor# Generate requirementspython scripts/generate_requirements.py# Publish to PyPIpython scripts/publisher.py
Troubleshooting
Common Issues
Command not found:
# Install in development modepip install -e .# Or use Python module directlypython -m django_revolution.cli
Django settings not found:
# Set Django settings moduleexport DJANGO_SETTINGS_MODULE=myproject.settings# Or use --settings optionpython manage.py revolution --settings myproject.settings
Permission errors:
# Check file permissionsls -la openapi/# Fix permissions if neededchmod -R 755 openapi/
Debug Mode
# Enable debug loggingpython manage.py revolution --debug# Set verbosity to maximumpython manage.py revolution --verbosity 3# Show full stack tracespython manage.py revolution --traceback
Performance Tips
Multithreading Optimization
- Default workers: 20 (good for most systems)
- High-end systems: 32-64 workers
- Low-end systems: 4-8 workers
- Single zone: Automatically uses sequential processing
Memory Usage
- Large projects: Monitor memory usage with high worker counts
- Batch processing: Use
--clean
between generations - Archive management: Regular cleanup of old archives
Network Optimization
- Monorepo sync: Use
--no-monorepo
for local-only generation - Archive downloads: Compressed archives for faster transfers
- Caching: Zone caching reduces repeated work