github-action-utils
Collection of python functions that can be used to run GitHub Action Workflow Commands
What it is and what it does
This package wraps GitHub Actions workflow commands as Python functions, allowing you to emit structured logs, set step outputs, manage state, and organize workflow console output from within a Python script running in an action. It provides functions for debug, notice, warning, and error messages with optional file/line annotations, output parameter setting via GITHUB_OUTPUT, state management via GITHUB_STATE, job summary appending, and log grouping. The package has no external runtime dependencies and works by writing to GitHub's standard environment files or echoing command syntax to stdout.
It is designed specifically for use inside GitHub Actions workflows—either as a standalone Python step or embedded in a workflow's inline Python shell. The functions map directly to GitHub's documented workflow command syntax, so you write Python instead of shell echo statements to control action behavior and logging.
Use it for:
- Emit structured debug, warning, and error messages with file/line annotations from a Python action step.
- Set step outputs and state variables for use in downstream steps or post-action cleanup.
- Append formatted markdown content to the job summary visible in the workflow run UI.
- Group related log lines into collapsible sections to reduce workflow console noise.
- Stop and restart workflow command processing to log raw text without accidental command interpretation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python functions to invoke GitHub Actions workflow commands (logging, output setting, state management, grouping) from within an action script.
Yes, if you are writing Python code inside a GitHub Actions workflow and want a cleaner API than shell echo commands. The package is stable, has no dependencies, carries a permissive MIT license, and has no known vulnerabilities. The dormant maintenance status (last release 2022-10-17) is not a blocker for a thin wrapper around stable GitHub APIs, but verify that the documented functions still work with your target Python and Actions environment before relying on it in production.
Install
github-action-utils on PyPI
pip
pip install github-action-utilsuv
uv add github-action-utilspoetry
poetry add github-action-utilsInstalling github-action-utils
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was 2022-10-17 and last commit 2023-10-01—but the package is not archived and has no known vulnerabilities.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.
Quickstart
pip install github-action-utils
import github_action_utils as gha_utils
gha_utils.set_output("my_output", "test_value")
gha_utils.error("Error message", title="Error Title", file="example.py", col=1, line=1)
Must run inside a GitHub Actions workflow environment to access GITHUB_OUTPUT, GITHUB_STATE, and other action-specific environment variables.
Verify before relying
- Whether dormant status (last commit 2023-10-01) affects compatibility with recent GitHub Actions API changes.
- Whether all documented functions work correctly with Python 3.11 and 3.10 given the long maintenance gap.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.6.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 1,397 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 817,293/month — #4,986 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: github_action_utils-1.1.0-py2.py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
actions-python-coreProvides core utilities for GitHub Actions…
permissive · top 15,000 on PyPI
pytest-github-actions-annotate-failuresA pytest plugin that automatically annotates…
permissive · top 5,000 on PyPI
commitlintLints commit messages against the Conventional…
copyleft · top 15,000 on PyPI
actionlint-pyactionlint-py provides a pip-installable…
permissive · top 15,000 on PyPI
tox-gh-actionsA tox plugin that automatically detects and…
permissive · top 15,000 on PyPI
requires.ioA command-line tool and Python API client for…
unclear · top 15,000 on PyPI
ghapighapi provides a complete, always-current…
permissive · top 1,000 on PyPI
jupyterlab-gitAdds Git version control integration directly…
permissive · top 15,000 on PyPI
autocommandAutocommand converts a Python function into a…
copyleft · top 5,000 on PyPI
actions-toolkitProvides a Python SDK for building GitHub…
permissive · top 15,000 on PyPI