hadolint-coatl
Python wrapper around invoking hadolint (https://github.com/hadolint/hadolint)
What it is and what it does
hadolint-coatl is a Python wrapper that packages the hadolint Dockerfile linter as a pip-installable tool. Instead of downloading and managing hadolint separately, you install this package and get the hadolint binary available in your environment immediately. The package handles platform detection and downloads the appropriate pre-built binary for macOS, Linux, or Windows during installation.
It's designed for developers and CI/CD pipelines that want to lint Dockerfiles as part of their workflow. The primary use case is integrating hadolint into pre-commit hooks or build processes without requiring manual binary management. Since it has no runtime dependencies, installation is straightforward once the platform-specific binary downloads complete.
Use it for:
- Add hadolint to a pre-commit hook configuration to automatically lint Dockerfiles before commits.
- Include in CI/CD pipelines to validate Dockerfile syntax and best practices as part of build checks.
- Use as a development tool to catch Dockerfile issues locally before pushing to version control.
- Integrate into container image build workflows to enforce Dockerfile quality standards across teams.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a pip-installable hadolint binary wrapper that makes the Dockerfile linter available as a command-line tool across platforms without requiring separate installation.
Yes, if you need hadolint in a Python-managed environment. The package is actively maintained, has no security vulnerabilities, uses a permissive MIT license, and solves the real problem of making a standalone binary available via pip. The medium install friction is typical for platform-specific tools and not a blocker. Install it when you want hadolint integrated into Python tooling or pre-commit workflows.
Install
hadolint-coatl on PyPI
pip
pip install hadolint-coatluv
uv add hadolint-coatlpoetry
poetry add hadolint-coatlInstalling hadolint-coatl
Before you install
Medium install friction due to platform-specific binary wheels, but the package is actively maintained with a recent release and no runtime dependencies to resolve.
License in practice
MIT license is permissive; you can use this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install hadolint-coatl
hadolint Dockerfile
Requires Python 3.10 or later; hadolint binary is downloaded during installation for your platform.
Verify before relying
- Whether the downloaded hadolint binary version matches the package version (2.15.1) or if it can be independently updated.
- Whether the package works correctly on all listed platforms (macOS ARM64, Linux x86_64, Linux aarch64, Windows) in practice.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 13 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 124,784/month — #11,853 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hadolint_coatl-2.15.1-py3-none-macosx_26_0_arm64.whl; hadolint_coatl-2.15.1-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; hadolint_coatl-2.15.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; hadolint_coatl-2.15.1-py3-none-win_amd64.whl
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
shellcheck-pyProvides a pip-installable shellcheck binary…
permissive · top 5,000 on PyPI
actionlint-pyactionlint-py provides a pip-installable…
permissive · top 15,000 on PyPI
shfmt-pyProvides a Python-installable wrapper that…
permissive · top 15,000 on PyPI
dockerfileParses Dockerfile syntax into structured Python…
permissive · top 15,000 on PyPI
sphinx-lintSphinx Lint checks reStructuredText and Python…
permissive · top 15,000 on PyPI
dockerfile-parseParses and manipulates Dockerfile files…
permissive · top 5,000 on PyPI
tox-uv-baretox-uv-bare is a tox plugin that replaces…
permissive · top 5,000 on PyPI
dotenv-linterLints `.env` files for consistency violations…
permissive · top 15,000 on PyPI
rumdlA Rust-based Markdown linter and formatter that…
permissive · top 5,000 on PyPI
cython-lintA linter for Cython files that checks for…
permissive · top 5,000 on PyPI