Skip to main content

Note: for pre-commit hooks I recommend officially supported hooks: See docs: https://github.com/kjanat/actionlint/blob/main/docs/usage.md#pre-commit

actionlint-py-kjanat

A python wrapper to provide a pip-installable actionlint binary.

This package wraps the kjanat/actionlint fork of actionlint, not the original rhysd/actionlint. It is published to PyPI as actionlint-py-kjanat.

Internally this package provides a convenient way to download the pre-built actionlint binary for your particular platform.

Installation

pip install actionlint-py-kjanat

Usage

After installation, the actionlint binary should be available in your environment (or actionlint.exe on windows). Remember to add you Scripts folder to PATH.

As a pre-commit hook

See pre-commit for introduction.

I recommend using officially supported pre-commit hooks from actionlint itself See docs: https://github.com/kjanat/actionlint/blob/main/docs/usage.md#pre-commit

Use this repo if you can not use officially supported hooks (docker, golang, system) and you are fine with python pip wrapper.

Sample .pre-commit-config.yaml using pip as package manager:

- repo: https://github.com/renefritze/actionlint-py-kjanat
  rev: v1.15.0.24
  hooks:
    - id: actionlint
      additional_dependencies: [ pyflakes>=3.0.1, shellcheck-py>=0.9.0.5 ]
      # actionlint has built in support for pyflakes and shellcheck, sadly they will not be auto updated. Check https://pypi.org/project/actionlint-py-kjanat/ for latest version. Alternatively:
      # args: [-shellcheck=/path/shellcheck -pyflakes=/path/pyflakes]
      # note - invalid path in arguments will fail silently

Because actionlint-py-kjanat is available as source distribution, pip build system will fetch binary from (public) github. It might cause problems with corporate proxy. In case of problems try this semi-manual setup that respects your pip.ini:

- repo: local
  hooks:
    - id: actionlint
      name: actionlint
      description: Lint GitHub workflows with actionlint
      additional_dependencies: [ actionlint-py-kjanat ]
      #additional_dependencies: [actionlint-py-kjanat==1.15.0.24]
      # safer, but pre-commit autoupdate will not work
      # note: the pip versioning scheme is different from actionlint binary: not "v1.15.0" but "1.15.0.24" (last number is build system version)
      entry: actionlint
      #args: [-ignore "*.set-output. was depracated.*"]
      language: python
      types: [ "yaml" ]
      files: "^.github/workflows/"

Alternative methods of running actionlint

As pre-commit hooks

See official docs for pre-commit integration

- repo: https://github.com/kjanat/actionlint
  rev: v1.15.0
  hooks:
    - id: actionlint
    # - id: actionlint-docker
    # - id: actionlint-system

Use as github action step

Use directly in github action, see official docs for github action integration:

name: Lint GitHub Actions workflows
on: [ push, pull_request ]

jobs:
  actionlint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Download actionlint
        id: get_actionlint
        run: bash <(curl https://raw.githubusercontent.com/kjanat/actionlint/main/scripts/download-actionlint.bash)
        shell: bash
      - name: Check workflow files
        run: ${{ steps.get_actionlint.outputs.executable }} -color
        shell: bash

Or using docker:

name: Lint GitHub Actions workflows
on: [ push, pull_request ]

jobs:
  actionlint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Check workflow files
        uses: docker://ghcr.io/kjanat/actionlint:latest
        with:
          args: -color

Development

Development of wrapper and releasing new version: see README-DEV.md

Roadmap

  • Add actionlint hook as docker
    • support shellcheck-py in docker image
    • auto update docker version in .pre-commit-hooks.yaml when using _custom_build/auto_update_main.py
  • add shellcheck-py as dependency (or at least document)
  • Update tag in readme in github action when releasing new version
  • Upload also binary distribution, not only source distribution
  • Add unit tests to build system

See README-DEV.md for more TODOs.

Won't do unless asked:

  • support all platforms that actionlint supports (like freebsd)

Metadata

Release files for actionlint-py-kjanat 1.15.0.53

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for actionlint-py-kjanat 1.15.0.53
File Size Uploaded Provenance Actions
actionlint_py_kjanat-1.15.0.53.tar.gz 13.7 kB With provenance Details for actionlint_py_kjanat-1.15.0.53.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for actionlint-py-kjanat 1.15.0.53
File Actions
actionlint_py_kjanat-1.15.0.53-py2.py3-none-win_amd64.whl Python 3, Python 2 none Windows x86-64 Details for actionlint_py_kjanat-1.15.0.53-py2.py3-none-win_amd64.whl
actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl Python 3, Python 2 none Linux glibc 2.17+ x86-64 Details for actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl Python 3, Python 2 none Linux glibc 2.17+ ARM64 Details for actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
actionlint_py_kjanat-1.15.0.53-py2.py3-none-macosx_11_0_arm64.whl Python 2, Python 3 none macOS 11.0+ ARM64 Details for actionlint_py_kjanat-1.15.0.53-py2.py3-none-macosx_11_0_arm64.whl

Total release size: 10.1 MB

Release files / actionlint_py_kjanat-1.15.0.53.tar.gz

Download URL actionlint_py_kjanat-1.15.0.53.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0806048d3729b72e4ed8d34cac1251ee17583e1de863da69702f18f19c5596df
BLAKE2b-256 checksum
How to use checksums
cc64022a18e76e1e8d539a29c9ea0aa1794c0db8cad6139f6fb1ddcaf400371c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / actionlint_py_kjanat-1.15.0.53-py2.py3-none-win_amd64.whl

Download URL actionlint_py_kjanat-1.15.0.53-py2.py3-none-win_amd64.whl
Size 2.7 MB
Tags Python 2 Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
a9ae39c654f49675944bc1467533a62b397e566442a71b6fccf8fb4e71f155f4
BLAKE2b-256 checksum
How to use checksums
b0283912fea08bdb2a01c481497d77348352b71876d53a12ba4f84f061e1ca0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.6 MB
Tags Linux glibc 2.17+ x86-64 Python 2 Python 3
SHA-256 checksum
How to use checksums
6a7ae313761e97754c6d3fa9603a6548557b6d4b4252c1af95bd50a8661ead39
BLAKE2b-256 checksum
How to use checksums
1af57ee359ffc023c742249e147d363ede9a91c30c1150fba4a18b2d856a0d8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL actionlint_py_kjanat-1.15.0.53-py2.py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.3 MB
Tags Linux glibc 2.17+ ARM64 Python 2 Python 3
SHA-256 checksum
How to use checksums
1bdecb8782c2a512f96cfbe0777ff73925c411aba208cb87ead00ff1308a76e2
BLAKE2b-256 checksum
How to use checksums
6062561e5e6f076ae86274e6f3fabb173edfb66ae224899a016526c29476b088
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Release files / actionlint_py_kjanat-1.15.0.53-py2.py3-none-macosx_11_0_arm64.whl

Download URL actionlint_py_kjanat-1.15.0.53-py2.py3-none-macosx_11_0_arm64.whl
Size 2.4 MB
Tags Python 2 Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6b93267d45f9b1732377d57f5b20e062024350d47ed3c6188773617800c77e35
BLAKE2b-256 checksum
How to use checksums
e2b20dcfb41d36d3695b6268e0f76cbf15381fc4e6e72a1d00cd2e4ebd7fb335
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

Security for actionlint-py-kjanat 1.15.0.53

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 5 files in this release have been uploaded with provenance metadata.

Select from 5 files

Attestation for actionlint_py_kjanat-1.15.0.53.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page