gitlint-core
Git commit message linter written in python, checks your commit messages for style.
What it is and what it does
Gitlint-core is a Python-based linter for Git commit messages that enforces style and formatting conventions. It integrates with Git workflows to validate commit messages against configurable rules before they are committed, helping teams maintain consistent commit message standards.
The package runs as a command-line tool and can be integrated into pre-commit hooks or CI/CD pipelines. It depends on arrow for date handling, click for CLI scaffolding, sh for Git interaction, and importlib-metadata for runtime metadata. It supports Python 3.7 through 3.11 and runs on both CPython and PyPy.
Use it for:
- Enforce consistent commit message formatting across a development team to improve code history readability
- Validate commit message length and structure in pre-commit hooks to catch violations before they reach the repository
- Integrate into CI/CD pipelines to reject commits that don't meet organizational style standards
- Configure custom linting rules for project-specific commit message conventions
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Lints Git commit messages against configurable style rules, checking for formatting, length, and content violations before commits are made.
Yes, with conditions. Gitlint-core is stable and widely used (top 5000 PyPI packages, 1268281 monthly downloads), with no known vulnerabilities and permissive licensing. However, maintenance is dormant—the last release was in March 2023. Install it if you need a straightforward commit message linter and can tolerate slow or absent updates; consider alternatives if you require active maintenance.
Install
gitlint-core on PyPI
pip
pip install gitlint-coreuv
uv add gitlint-corepoetry
poetry add gitlint-coreInstalling gitlint-core
Before you install
Low install friction with a pure Python wheel and four lightweight runtime dependencies. Maintenance is dormant with the last release in March 2023, though the repository remains active and the maintainer is actively seeking co-maintainers.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install gitlint-core
from gitlint.cli import cli
from click.testing import CliRunner
runner = CliRunner()
result = runner.invoke(cli, ['--help'])
Verify before relying
- Whether dormant maintenance status affects bug fixes or security response time in practice
- Current state of the co-maintainer search and whether active development has resumed since July 2024
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — arrow, click, importlib-metadata, sh |
| Maintenance | dormant — 1,253 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,268,281/month — #4,134 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gitlint_core-0.19.1-py3-none-any.whl
Keywords: git, gitlint, lint
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
gitlintGitlint is a command-line tool that validates…
permissive · top 5,000 on PyPI
yamllintyamllint checks YAML files for syntax errors,…
copyleft · top 1,000 on PyPI
commitlintLints commit messages against the Conventional…
copyleft · top 15,000 on PyPI
dotenv-linterLints `.env` files for consistency violations…
permissive · top 15,000 on PyPI
salt-lintsalt-lint checks Salt State files (SLS) for…
permissive · top 15,000 on PyPI
lintrunnerLintrunner orchestrates and runs multiple…
unclear · top 5,000 on PyPI
sphinx-lintSphinx Lint checks reStructuredText and Python…
permissive · top 15,000 on PyPI
fixitFixit is a configurable linting framework built…
permissive · top 15,000 on PyPI
tclinttclint is a CLI linter, formatter, and language…
permissive · top 15,000 on PyPI
import-linterImport Linter enforces architectural…
permissive · top 5,000 on PyPI