actionlint-py
Python wrapper around invoking actionlint (https://github.com/rhysd/actionlint)
What it is and what it does
actionlint-py is a thin Python wrapper around the actionlint linter, a tool for validating GitHub Actions workflow YAML files. It downloads a pre-built actionlint binary for your platform during installation and makes it available as a command-line tool. The package has no runtime Python dependencies—it simply packages the binary for convenient pip-based distribution.
The main use case is integrating actionlint into Python-based development workflows, particularly as a pre-commit hook. The documentation explicitly recommends using actionlint's officially supported hooks when possible (Docker, Go, or system binary), and suggests actionlint-py primarily for teams that cannot use those methods but have Python and pip available. Installation can be problematic in restricted network environments because the binary is fetched from GitHub during the build process.
Use it for:
- Add actionlint to a pre-commit hook configuration to automatically validate workflow files before commit.
- Lint GitHub Actions workflows in a CI pipeline running on a Python-based system without Docker or Go support.
- Validate workflow YAML syntax and logic in local development before pushing to a repository.
- Integrate workflow linting into a Python project's development toolchain alongside other linters and formatters.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
actionlint-py provides a pip-installable wrapper that downloads and exposes the actionlint binary for linting GitHub Actions workflow files on your local machine or in pre-commit hooks.
Yes, if you need actionlint in a Python environment and cannot use the officially supported hooks (Docker, Go, or system binary). The package is actively maintained and has no known vulnerabilities. However, be aware of high install friction: the binary download during installation may fail behind corporate proxies or in restricted networks. For teams with network constraints, consider alternative deployment methods or the semi-manual pre-commit setup documented in the package README.
Install
actionlint-py on PyPI
pip
pip install actionlint-pyuv
uv add actionlint-pypoetry
poetry add actionlint-pyInstalling actionlint-py
Before you install
High install friction: the package downloads a pre-built binary during installation, which may fail behind corporate proxies or in restricted network environments. Maintenance is active with a recent release, but the small repository (14 stars) suggests limited adoption.
License in practice
MIT License (permissive): you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions, provided you retain the license notice.
Quickstart
pip install actionlint-py
actionlint .github/workflows/your-workflow.yaml
The binary download during installation requires internet access and may fail behind corporate proxies; pre-commit integration requires adding the package to your pre-commit config and ensuring the actionlint binary is in PATH.
Verify before relying
- Whether the binary download reliably succeeds in all network environments (corporate proxy handling is mentioned as a known issue).
- Performance characteristics when linting large numbers of workflow files.
- Compatibility with all platforms actionlint itself supports (documentation notes freebsd is not currently supported).
Package facts
| License | MIT License Copyright (c) 2019 Ryan Rhee Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 136 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 203,826/month — #9,622 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: actionlint_py-1.7.12.24.tar.gz
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
commitlintLints commit messages against the Conventional…
copyleft · top 15,000 on PyPI
lightning-utilitiesProvides reusable GitHub workflows, composite…
permissive · top 5,000 on PyPI
hadolint-coatlProvides a pip-installable hadolint binary…
permissive · top 15,000 on PyPI
shellcheck-pyProvides a pip-installable shellcheck binary…
permissive · top 5,000 on PyPI
github-action-utilsProvides Python functions to invoke GitHub…
permissive · top 5,000 on PyPI
shfmt-pyProvides a Python-installable wrapper that…
permissive · top 15,000 on PyPI
lefthookLefthook is a Git hooks manager that installs…
permissive · top 15,000 on PyPI
pytest-github-actions-annotate-failuresA pytest plugin that automatically annotates…
permissive · top 5,000 on PyPI
prekprek is a Git hook manager written in Rust that…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI