A core library for building GitHub Actions in Python, providing utilities for interacting with the Actions runtime (inputs, outputs, commands, path manipulation). Current version 0.1.3, pre-1.0 with frequent breaking changes.
Install & Compatibility
Where this runs
tested against v0.1.3 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.368s · 22.1MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.2s · import 0.332s · 23MB
20MB installed
● package 20MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
core
✓ from actions import core
✗ import core
'core' is a module under 'actions' package, not top-level.
get_input
✓ from actions.core import get_input
✗ from core import get_input
Direct import of 'core' module without 'actions' package fails.
Minimal GitHub Action that reads input and sets output.
from actions import core
try:
name = core.get_input('who-to-greet')
print(f'Hello {name}')
core.set_output('time', '2023-01-01')
except Exception as e:
core.set_failed(f'Action failed: {e}')
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'core'
Importing 'core' directly instead of 'actions.core'.
fixUse 'from actions import core' or 'from actions.core import ...'.
AttributeError: module 'actions' has no attribute 'core'
Missing 'actions-python-core' installation or wrong import path.
fixRun 'pip install actions-python-core' and import as 'from actions import core'.
TypeError: get_input() missing 1 required positional argument: 'name'
Calling get_input() without any arguments.
fixProvide input name: core.get_input('input-name') Audit
Dependencies
No dependency data recorded yet.