commitizen
Python commitizen client tool
Decision gist · record as of 2026-08-14
Yes. Commitizen is actively maintained (last commit 2026-08-10), has no known vulnerabilities, low install friction, and is widely adopted (top 5000 PyPI packages). It solves a real team workflow problem—standardizing commits and automating releases—with a permissive MIT license. Install it if your team or project needs consistent commit discipline and automated release management.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10+ and Git 1.8.5.2+.
- Low friction: pure Python wheel with 14 runtime dependencies, all common CLI/formatting libraries (questionary, prompt-toolkit, colorama, jinja2, pyyaml).
- Active maintenance—last commit 2026-08-10, 3497 stars, released 2026-07-29.
License · maintenance · safety
MIT (permissive) — MIT license (permissive): you can use, modify, and distribute freely in commercial and private projects with minimal restrictions.
last release 2026-07-29 (16 days) · last repo commit 2026-08-10 · 3,497 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,578,324 downloads/mo, #2,572 on PyPI
Alternatives
Verify before relying
pip install commitizen
cz init
cz commit
cz bump- Whether pre-commit hook integration works reliably across all supported shells (Bash, Zsh, Fish, Tcsh).
- Performance impact when used on repositories with very large commit histories.
What it is and what it does
Commitizen is a CLI tool that standardizes commit messages across a team and automates the release workflow. It enforces Conventional Commits by default, validates commit format, and provides an interactive prompt to guide users through structured commit creation. The core workflow uses a single `cz bump` command to automatically increment version numbers based on commit history (semantic versioning), update version files, generate or update changelogs in Keep a Changelog format, and create git tags—eliminating manual version management and changelog maintenance.
The package integrates with pre-commit hooks for commit-message validation, supports custom commit rules and templates, and includes bash completion via argcomplete. It has 14 runtime dependencies covering interactive prompts (questionary, prompt-toolkit), terminal colors (colorama, termcolor), configuration parsing (tomlkit, pyyaml), templating (jinja2), and packaging metadata (packaging, importlib-metadata). Requires Python 3.10+ and Git 1.8.5.2+.
Use it for
- Enforce consistent commit message format across a development team to improve git history readability.
- Automate version bumping and changelog generation in CI/CD pipelines to reduce manual release overhead.
- Validate incoming commits via pre-commit hooks to prevent non-standard messages from entering the repository.
- Generate release notes and changelogs automatically from commit history for stakeholder communication.
- Standardize semantic versioning across multiple projects using a shared commit convention.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Commitizen is actively maintained (last commit 2026-08-10), has no known vulnerabilities, low install friction, and is widely adopted (top 5000 PyPI packages). It solves a real team workflow problem—standardizing commits and automating releases—with a permissive MIT license. Install it if your team or project needs consistent commit discipline and automated release management.
Install
commitizen on PyPI
Before you install
Low friction: pure Python wheel with 14 runtime dependencies, all common CLI/formatting libraries (questionary, prompt-toolkit, colorama, jinja2, pyyaml). Active maintenance—last commit 2026-08-10, 3497 stars, released 2026-07-29.
Requires Python 3.10+ and Git 1.8.5.2+.
License in practice
MIT license (permissive): you can use, modify, and distribute freely in commercial and private projects with minimal restrictions.
Quickstart
pip install commitizen
cz init
cz commit
cz bump
Verify before relying
- Whether pre-commit hook integration works reliably across all supported shells (Bash, Zsh, Fish, Tcsh).
- Performance impact when used on repositories with very large commit histories.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 14 packagesquestionaryprompt-toolkitdeclicoloramatermcolorpackagingtomlkitjinja2pyyamlargcompletetyping-extensionscharset-normalizerdeprecatedimportlib-metadata |
| Maintenance | Actively maintained 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,578,324 / month, #2,572 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 :: ConsoleIntended Audience :: DevelopersNatural Language :: EnglishOperating 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.14Programming Language :: Python :: Implementation :: CPython |
Evidence: commitizen-4.17.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 › “git release management”
- commitizenCommitizen enforces standardized commit messages and automates…
- release-tagAutomatically creates and optionally pushes semantic version git tags…
- gtoGTO turns a Git repository into an artifact registry by creating…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also commitlint · gitman · python-semantic-release · to-requirements.txt · commit-check · conventional-pre-commit · git-changelog · git-cliff · prek · release-tag