Metadata-Version: 2.4
Name: shuuten
Version: 0.1.1
Summary: Last-stop signals for automation failures.
Author-email: Ritvik Nag <me@ritviknag.com>
Maintainer-email: Ritvik Nag <me@ritviknag.com>
License: MIT
Project-URL: Homepage, https://github.com/rnag/shuuten
Project-URL: Documentation, https://shuuten.ritviknag.com
Project-URL: Repository, https://github.com/rnag/shuuten.git
Project-URL: Issues, https://github.com/rnag/shuuten/issues
Project-URL: Changelog, https://github.com/rnag/shuuten/blob/main/CHANGELOG.md
Keywords: automation,notifications,alerts,slack,email,aws,lambda,ecs,observability,ops
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: System :: Logging
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: cli
Requires-Dist: rich; extra == "cli"
Requires-Dist: typer; extra == "cli"
Provides-Extra: docs
Requires-Dist: mkdocs; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Requires-Dist: mkdocs-github-admonitions-plugin; extra == "docs"
Requires-Dist: mkdocs-markdownextradata-plugin; extra == "docs"
Requires-Dist: mkdocs-macros-plugin; extra == "docs"
Requires-Dist: mkdocs-include-markdown-plugin; extra == "docs"
Provides-Extra: lint
Requires-Dist: ruff; extra == "lint"
Requires-Dist: ty; extra == "lint"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: coverage; extra == "test"
Provides-Extra: dev
Requires-Dist: bump-my-version==1.2.5; extra == "dev"
Requires-Dist: ipdb; extra == "dev"
Provides-Extra: email
Requires-Dist: boto3; extra == "email"
Dynamic: license-file

<div align="center">
<img alt="logo" width="175" src="https://raw.githubusercontent.com/rnag/shuuten/main/img/logo.png">

## Shuuten Signal

[![PyPI version](https://img.shields.io/pypi/v/shuuten.svg)](https://pypi.org/project/shuuten)
[![PyPI license](https://img.shields.io/pypi/l/shuuten.svg)](https://pypi.org/project/shuuten)
[![PyPI Python versions](https://img.shields.io/pypi/pyversions/shuuten.svg)](https://pypi.org/project/shuuten)
[![GitHub Actions](https://github.com/rnag/shuuten/actions/workflows/release.yml/badge.svg)](https://github.com/rnag/shuuten/actions/workflows/release.yml)
[![Documentation Status](https://github.com/rnag/shuuten/actions/workflows/gh-pages.yml/badge.svg)](https://shuuten.ritviknag.com)

</div>

<!--intro-start-->

**Last-stop signals for automation failures.**

*終点 (Shuuten) means “final stop” or “terminus” in Japanese — the point where a workflow ends and signals that something needs attention.*

> 終点 (Shuuten): the final stop — where automations end and signal for attention.

📖 Docs: [shuuten.ritviknag.com](https://shuuten.ritviknag.com) · ⭐ Star: [GitHub](https://github.com/rnag/shuuten)

---

## About

Shuuten Signal provides structured, safe failure notifications for Python automations running in AWS Lambda, ECS, and beyond.

In v0.1.0, Shuuten focuses on being a lightweight, dependency-free foundation for sending failure signals from automation workflows.

## Features

- Dependency-free Slack Incoming Webhook notifications
- Designed for AWS Lambda, ECS, and container-based automations
- Minimal surface area, easy to extend

## Install

```shell
pip install shuuten
```

## Usage

```python3
import shuuten

hook_url = "https://hooks.slack.com/services/<team>/<channel>/<token>"  # keep this secret
payload = {'text': 'Hello from Shuuten 👋 (webhook test)'}

shuuten.send_to_slack(hook_url, payload)
```

## Credits

This package was created with [Cookiecutter](https://github.com/audreyfeldroy/cookiecutter) and the [audreyfeldroy/cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage) project template.

<!--intro-end-->
