Metadata-Version: 2.4
Name: gh-actions-tool-kit
Version: 0.1.1
Summary: Tiny actions/core-style helpers for Python GitHub Actions
Author: Akash B
Maintainer-email: Akash B <akashbasa8@gmail.com>
License-Expression: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: types-setuptools; extra == "dev"
Dynamic: license-file

# gh-actions-tool-kit

A lightweight, typed, and fully documented Python equivalent of [`@actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) for GitHub Actions.

---

## 🚀 Quick Start

### Installation
```bash
pip install gh-actions-tool-kit
```

### Usage

```python
# ================================
# greeting.py
# ================================

from actions_tool_kit import get_input, set_output, notice, group

def main() -> None:
    name = get_input("name", required=True)
    with group("Greeting"):
        message = f"Hello, {name}!"
        notice(message, title="Python Action")
        set_output("greeting", message)

if __name__ == "__main__":
    main()
```

### Example Workflow

```yaml
name: demo
on: [push]
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - name: Run Python Action
        env:
          name: <your name>
        run: python greeting.py
```

## 🧩 Features

| Feature                            | Equivalent in JS `@actions/core` | Status |
|------------------------------------|----------------------------------|--------|
| get_input()                        | ✅                                | ✅     |
| get_boolean_input()                | ✅                                | ✅     |
| set_output()                       | ✅                                | ✅     |
| export_variable()                  | ✅                                | ✅     |
| add_path()                         | ✅                                | ✅     |
| save_state() / get_state()         | ✅                                | ✅     |
| set_secret()                       | ✅                                | ✅     |
| append_summary()                   | ✅                                | ✅     |
| notice(), warning(), error()       | ✅                                | ✅     |
| debug()                            | ✅                                | ✅     |
| group() / start_group() / end_group() | ✅                             | ✅     |
