Metadata-Version: 2.4
Name: orcheo-backend
Version: 0.28.3
Summary: Deployment wrapper around the Orcheo FastAPI application
Project-URL: Homepage, https://github.com/AI-Colleagues/orcheo/tree/main/apps/backend
Project-URL: Issues, https://github.com/AI-Colleagues/orcheo/issues
Project-URL: Source, https://github.com/AI-Colleagues/orcheo/tree/main/apps/backend
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: fastapi>=0.104.0
Requires-Dist: uvicorn[standard]>=0.24.0
Requires-Dist: orcheo>=0.30.5
Requires-Dist: celery[redis]>=5.3.0
Requires-Dist: redis>=5.0.0
Requires-Dist: httpx>=0.25.0
Requires-Dist: pexpect>=4.9.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"

# Orcheo Backend

This package exposes the FastAPI application that powers the Orcheo runtime. It wraps the core `orcheo` package so that deployment targets can import a lightweight entrypoint (`orcheo_backend.app`).

## Local development

```bash
uv sync --all-groups
uv run uvicorn orcheo_backend.app:app --reload --host 0.0.0.0 --port 8000
```

## Testing & linting

The shared repository `Makefile` includes convenience targets:

```bash
uv run make lint
uv run make test
```

These commands ensure Ruff, MyPy, and pytest with coverage run in CI as well.

## ChatKit integration

The backend now exposes helper endpoints for the Canvas ChatKit experience:

- `POST /api/chatkit/session` — returns a ChatKit client secret.
- `POST /api/chatkit/workflows/{workflow_id}/trigger` — dispatches a workflow run.

Set `CHATKIT_TOKEN_SIGNING_KEY` (HS or RSA private key material) to enable session
issuance. Without a signing key configured the ChatKit endpoints will respond with
`503 Service Unavailable`.
