Metadata-Version: 2.4
Name: shuuten
Version: 0.1.0
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: 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: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: ruff; extra == "test"
Requires-Dist: ty; extra == "test"
Requires-Dist: ipdb; extra == "test"
Provides-Extra: email
Requires-Dist: boto3; extra == "email"
Dynamic: license-file

<div align="center">
<img alt="logo" width="175" src="img/logo.png">

## Shuuten Signal

[![Build Status](https://github.com/rnag/shuuten/workflows/test/badge.svg)](https://github.com/rnag/shuuten/actions)
[![Latest Version](https://img.shields.io/pypi/v/shuuten.svg)](https://pypi.org/project/shuuten)
[![Python Version](https://img.shields.io/pypi/pyversions/shuuten.svg)](https://pypi.python.org/pypi/shuuten)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/license/MIT)
</div>

**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.

## 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.
