django-click
Build Django management commands using the click CLI package.
Decision gist · record as of 2026-08-14
Yes. Low install friction, active maintenance, permissive MIT license, no known vulnerabilities, and a straightforward single dependency on click make this a safe choice. Install it if you prefer click's functional decorator style for Django management commands; skip it if you're comfortable with Django's class-based command API.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10+; Django 5.2 and above require Python 3.10+, Django 6.0 requires Python 3.12+.
- Low install friction with a single runtime dependency on click.
- Active maintenance with a recent release in January 2026 and last commit in August 2026; part of Django Commons and maintained by established contributors.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
last release 2026-01-10 (216 days) · last repo commit 2026-08-07 · 298 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 114,026 downloads/mo, #12,316 on PyPI
Alternatives
Verify before relying
pip install django-click
# In /management/commands/helloworld.py:
import click
@click.command()
@click.argument('name')
def command(name):
click.secho(f'Hello, {name}', fg='red')
# Then run: ./manage.py helloworld django-click- Whether the package provides an alias import (djclick) or uses click directly in management commands.
What it is and what it does
django-click is a thin adapter layer that lets you write Django management commands using click's decorator-based syntax instead of Django's traditional class-based command structure. It handles the integration so your command functions work seamlessly within Django's management system.
The package is useful when you prefer click's simpler, more functional approach to CLI building. Instead of subclassing Django's Command class and defining arguments and options through class attributes, you decorate a function with @click.command() and @click.argument() or @click.option(). It supports Django 4.2, 5.2, and 6.0 across Python 3.10 through 3.14.
Use it for
- Build Django admin scripts with click's cleaner decorator syntax instead of Django's class-based command pattern.
- Add colored output and formatted help text to management commands using click's built-in utilities.
- Create complex multi-level command hierarchies with click's group and subcommand decorators.
- Write management commands that share code with standalone click applications.
- Simplify migration of existing click CLI tools into Django projects.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Low install friction, active maintenance, permissive MIT license, no known vulnerabilities, and a straightforward single dependency on click make this a safe choice. Install it if you prefer click's functional decorator style for Django management commands; skip it if you're comfortable with Django's class-based command API.
Install
django-click on PyPI
Before you install
Low install friction with a single runtime dependency on click. Active maintenance with a recent release in January 2026 and last commit in August 2026; part of Django Commons and maintained by established contributors.
Requires Python 3.10+; Django 5.2 and above require Python 3.10+, Django 6.0 requires Python 3.12+.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
Quickstart
pip install django-click
# In /management/commands/helloworld.py:
import click
@click.command()
@click.argument('name')
def command(name):
click.secho(f'Hello, {name}', fg='red')
# Then run: ./manage.py helloworld django-click
Verify before relying
- Whether the package provides an alias import (djclick) or uses click directly in management commands.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packageclick |
| Maintenance | Actively maintained 216 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 114,026 / month, #12,316 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: Django :: 4.2Framework :: Django :: 5.2Framework :: Django :: 6.0Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: django_click-2.5.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 click”
- django-clickWraps the click command-line library to let you write Django…
- click-shellConverts a click command-line app into an interactive shell with…
- django-typerBuilds type-safe Django management command CLIs using Typer's static…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also django-upgrade · django-lifecycle · django-rich · django-modeltree · click-config-file · django-cookie-consent · django-tasks-db · django-pgactivity · md-click-2 · cloup