skillfed

gitlint-core

Git commit message linter written in python, checks your commit messages for style.

gitlint-core v0.19.1 1.3M downloads/30d#4,134 on PyPI968
Permissive license DORMANT released

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-core

uv

uv add gitlint-core

poetry

poetry add gitlint-core

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Quality AssuranceTopic :: Software Development :: Testing

Tags

git commit message lintercommit message style checkergit hook lintingenforce commit conventionscommit message validationgit commit rulespre-commit message lint
git-workflowcommit-standardspre-commit-hook

More Testing packages