Metadata-Version: 2.4
Name: imbi-gateway
Version: 1.0.1
Summary: Imbi webhook receiver
Author-email: Dave Shawley <daves@aweber.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Requires-Python: >=3.14
Requires-Dist: cel-python>=0.5.0
Requires-Dist: fastapi>=0.135.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: imbi-common[databases,server]~=0.6
Requires-Dist: jsonpointer>=3.1.1
Requires-Dist: psycopg[binary,pool]~=3.3.2
Requires-Dist: pydantic~=2.12
Requires-Dist: yarl~=1.22.0
Description-Content-Type: text/markdown

# Imbi Gateway

Inbound webhook gateway service that receives external events, records them, and routes them through a workflow engine for processing. Acts as the central integration point between external systems and internal services like imbi-automations.

## Developer Quickstart

This project uses [uv](https://docs.astral.sh/uv/) for project management and [just](https://just.systems/man/en/) as a task runner. You need to install both before you can contribute changes.

```shell
just setup
```

Run `just -l` for the available commands.

## Code Formatting

This project uses automated formatting tools that are the sole authority on code style:

- **Ruff** for Python code (formatting and linting)
- **Tombi** for TOML files
- **Pre-commit hooks** to run formatters automatically on commit

**Do not manually format code.** Instead, use:

```bash
just format              # Format all files
just format src/app.py   # Format a specific file
just lint                # Check for linting errors
```

The formatters use complex, nuanced rules (line length, quote style, etc.) that are configured in `pyproject.toml` and `.pre-commit-config.yaml`. See `AGENTS.md` for complete details.
