skillfed

actionlint-py

Python wrapper around invoking actionlint (https://github.com/rhysd/actionlint)

actionlint-py v1.7.12.24 203.8K downloads/30d#9,622 on PyPI14
Permissive 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) Active released

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

uv

uv add actionlint-py

poetry

poetry add actionlint-py

Installing 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

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

github actions workflow linteractionlint python wrapperlint yaml workflowsgithub actions validationpre-commit github actionsworkflow file checkerci workflow linting
github-actionslintingworkflow-validation

More Quality Assurance packages