django-typer
Use Typer to define the CLI for your Django management commands.
Decision gist · record as of 2026-08-14
Yes. django-typer is actively maintained, carries no known vulnerabilities, has low install friction, and solves a real pain point—replacing Django's argparse boilerplate with modern type-safe CLI definitions. It's production-stable (Development Status 5), works with current Django and Python versions, and is permissively licensed. Install it if you're building or maintaining Django management commands.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Django to be installed and configured; command must be placed in a Django app's management/commands/ directory.
- Low friction: pure Python wheel with three straightforward runtime dependencies (click, django, typer).
- Active maintenance with a release 6 days ago.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2026-08-08 (6 days) · last repo commit 2026-08-12 · 50 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 235,282 downloads/mo, #9,005 on PyPI
Alternatives
Verify before relying
pip install django-typer
from django_typer.management import TyperCommand
class Command(TyperCommand):
def handle(self, name: str, count: int = 1):
"""A basic command."""
for _ in range(count):
print(f"Hello {name}")- Whether rich traceback rendering is installed automatically or requires explicit configuration beyond adding django_typer to INSTALLED_APPS.
- Performance characteristics when handling large numbers of subcommands or deeply nested command hierarchies.
What it is and what it does
django-typer bridges Typer's modern, type-hint-driven CLI framework with Django's management command system. Instead of writing argparse boilerplate, you define command parameters as typed function arguments and let Typer handle parsing, validation, and help generation. The package provides TyperCommand, a drop-in replacement for Django's BaseCommand that inherits all standard Django command features while adding Typer's capabilities—or you can use Typer's own decorator-based interface directly.
You get automatic CLI validation through type hints, hierarchical command groups with shared initializers, beautiful help output, and optional shell tab-completion for bash, zsh, fish, and powershell. The package is actively maintained, supports current Python and Django versions, and carries no known vulnerabilities. It's particularly useful when you want to avoid writing repetitive argparse code or when you need complex command hierarchies with validation.
Use it for
- Build a Django management command with typed parameters and automatic validation instead of manual argparse setup.
- Create hierarchical command groups (e.g., `manage.py admin users create --name=...`) with shared initialization logic.
- Add shell tab-completion to your custom Django commands without writing completion handlers by hand.
- Port an existing Django management command to use type hints while keeping the same class-based interface.
- Define multiple subcommands in a single command class with clear, DRY parameter definitions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
django-typer is actively maintained, carries no known vulnerabilities, has low install friction, and solves a real pain point—replacing Django's argparse boilerplate with modern type-safe CLI definitions. It's production-stable (Development Status 5), works with current Django and Python versions, and is permissively licensed. Install it if you're building or maintaining Django management commands.
Install
django-typer on PyPI
Before you install
Low friction: pure Python wheel with three straightforward runtime dependencies (click, django, typer). Active maintenance with a release 6 days ago. Supports Python 3.10 through 3.15 and Django 5.2, 6.0, 6.1.
Requires Django to be installed and configured; command must be placed in a Django app's management/commands/ directory.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install django-typer
from django_typer.management import TyperCommand
class Command(TyperCommand):
def handle(self, name: str, count: int = 1):
"""A basic command."""
for _ in range(count):
print(f"Hello {name}")
Verify before relying
- Whether rich traceback rendering is installed automatically or requires explicit configuration beyond adding django_typer to INSTALLED_APPS.
- Performance characteristics when handling large numbers of subcommands or deeply nested command hierarchies.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesclickdjangotyper |
| Maintenance | Actively maintained 6 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 235,282 / month, #9,005 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: DjangoFramework :: Django :: 5.2Framework :: Django :: 6.0Framework :: Django :: 6.1Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Topic :: Internet :: WWW/HTTPTopic :: Internet :: WWW/HTTP :: Site ManagementTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed |
Evidence: django_typer-3.8.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django management commands typer”
- django-typerBuilds type-safe Django management command CLIs using Typer's static…
- typer-injectorAdds FastAPI-style dependency injection to Typer CLI applications,…
- wireupWireup is a type-driven dependency injection container for Python…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also typer · typer-cli · typer-slim · typer-injector · django-rich · typer-config · colcon-argcomplete · sphinxcontrib-typer · decli · Django