A powerful CLI tool to intelligently manage Django apps in your INSTALLED_APPS setting. Install, add, remove, and maintain Django packages with smart package mapping and automatic requirements.txt management.
- Smart Package Mapping — 85+ pre-configured mappings (e.g.,
djangorestframework→rest_framework) - Extended Configs — Auto-apply middleware, settings, URL patterns, and imports per package
- Auto Migrations — Prompt to run
python manage.py migratewhen adding/removing packages that need it - Version Specifiers — Install exact versions (
djangorestframework==3.14.0,django-filter>=2.0) - Unused App Detection — Scan your project and remove apps not imported anywhere
- requirements.txt Sync — Automatically add, update, and remove packages
- Backup & Rollback — Auto-backup
settings.pywith one-command restore - Security — Move secrets to
.envwithsecure-settings - Health Checks — Run
doctorto audit your configuration - Interactive Prompts — Confirmations, multi-select, and skip options throughout
- Shell Completion — Tab-completion for bash, zsh, and fish
pip install django-include-appsdjango-include-apps add-app djangorestframework IMPORTANT: Configurations applied are based on the latest package documentation.
✅ djangorestframework installed via pip
✅ Added 'rest_framework' to INSTALLED_APPS
Configuration for: djangorestframework
• URL Pattern: path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
• Settings:
REST_FRAMEWORK = {
"DEFAULT_PERMISSION_CLASSES": ["rest_framework.permissions.IsAuthenticated"],
"DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
"PAGE_SIZE": 10,
...
}
? Found additional configuration for package 'djangorestframework' (Space to toggle):
[x] URL Patterns
[x] Required Settings
? Proceed? Yes, apply changes
✅ Added URL pattern 'api-auth/'
✅ Added REST_FRAMEWORK settings
✅ Added djangorestframework==3.15.2 to requirements.txt
django-include-apps add-app djangorestframework django-cors-headers django-filter# Remove a specific app
django-include-apps remove-app rest_framework
# Or scan for unused apps (interactive)
django-include-apps remove-appdjango-include-apps install-requirements -r requirements.txtInstalls all packages, detects Django-related ones, and offers to add them to INSTALLED_APPS with extended configuration.
django-include-apps add-app djangorestframework -d /path/to/django/projectAll commands accept --start-dir / -d to target a specific project.
| Command | Description |
|---|---|
add-app |
Add one or more apps to INSTALLED_APPS |
remove-app |
Remove apps or scan for unused ones |
install-requirements |
Install from requirements.txt and configure apps |
status |
Show project configuration overview |
doctor |
Run health checks on your project |
show-config |
Display extended config for a package |
view-mappings |
Browse all 85+ package mappings |
diff |
Preview changes before applying (dry run) |
sync |
Compare INSTALLED_APPS ↔ requirements.txt |
update-configs |
Check for updated package configurations |
graph |
Visualize package dependencies |
profile |
Save/apply/export configuration profiles |
init-env |
Create a virtual environment |
secure-settings |
Move secrets to .env |
rollback |
Restore settings.py from backup |
setup-hooks |
Set up pre-commit hooks |
docker-init |
Generate Docker configuration |
tutorial |
Interactive learning guide |
completion |
Shell auto-completion setup |
mapping |
Manage custom package mappings |
📖 Full Command Reference → — Every command with all flags, variants, and sample output.
85+ pre-configured Django packages with smart mapping:
| Package | INSTALLED_APPS Name |
|---|---|
djangorestframework |
rest_framework |
django-cors-headers |
corsheaders |
django-filter |
django_filters |
django-allauth |
allauth |
django-debug-toolbar |
debug_toolbar |
django-crispy-forms |
crispy_forms |
django-extensions |
django_extensions |
channels |
channels |
celery |
celery |
django-storages |
storages |
Note: Packages like
pillow,psycopg2,gunicorn, andmysqlclientare dependency-only and aren't added toINSTALLED_APPS.
Disclaimer on configurations: The automatic configuration settings provided by
django-include-apps(forMIDDLEWARE,urls.py, etc.) are based on the standard and latest documentation of the respective packages at the time of mapping.
Use django-include-apps view-mappings to see the complete list. Unmapped packages are handled interactively with an option to save for future use.
Core Django apps (django.contrib.*) are automatically protected from removal:
admin · auth · contenttypes · sessions · messages · staticfiles
- Python 3.8+
- Django project with
settings.py - Virtual environment (recommended)
A ready-to-use demo project is included to try every command hands-on:
cd django-include-apps/examples/demo_project
django-include-apps add-app djangorestframework
django-include-apps statusContributions are welcome! To add a new package mapping:
- Fork the repository
- Add the mapping to
package_configs.json - Submit a pull request
Have a feature idea? Open an issue.
MIT License — see LICENSE for details.
- Rohan Shirude — remove-app functionality and feature enhancements
- Repository: https://github.com/Rohan7654/django-include-apps
- PyPI: https://pypi.org/project/django-include-apps/
- Issues: https://github.com/Rohan7654/django-include-apps/issues
- Changelog: CHANGELOG.md
- Demo Project: examples/