Skip to main content

railhook

Python SDK for Railhook.

pip install railhook

Before 2.12.0 this package was webhook-platform, imported as hookflow. That package gets no more updates.

Send an event

import os

from railhook import Railhook, Event

client = Railhook(
    api_key=os.environ["RAILHOOK_API_KEY"],
    base_url="https://railhook.io",  # default http://localhost:8080
)

event = client.events.send(
    Event(type="order.completed", data={"order_id": "ord_123", "amount": 99.99}),
    idempotency_key="order-123-completed",  # optional
)
print(event.event_id, event.deliveries_created)

Verify a webhook

The signature covers the raw body, so verify the bytes as received.

import os

from flask import Flask, request
from railhook import construct_event, RailhookError

app = Flask(__name__)

@app.route("/webhooks", methods=["POST"])
def webhook():
    try:
        event = construct_event(
            request.get_data(as_text=True), dict(request.headers), os.environ["WEBHOOK_SECRET"]
        )
    except RailhookError:
        return "Invalid signature", 400
    print(event.event_id, event.data)
    return "OK", 200

verify_standard_webhook checks the webhook-* headers instead. During a secret rotation either secret's signature is accepted.

The client also covers endpoints, subscriptions, deliveries, consumers and portal sessions, and incoming sources and events. It does not retry: one call is one HTTP request.

Full docs: https://railhook.io/docs/tools/sdks/

Develop

pip install -e ".[dev]"
pytest
python scripts/live_api_smoke.py   # against a running stack (make up)

License

MIT

Metadata

Release files for railhook 3.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for railhook 3.3.1
File Size Uploaded
railhook-3.3.1.tar.gz 28.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for railhook 3.3.1
File Interpreter ABI Platform
railhook-3.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 61.7 kB

Release files / railhook-3.3.1.tar.gz

Download URL railhook-3.3.1.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e5d5b2ca07542e02c3f07ec8215c79f1c0b710c4675ac08a543ab04e2dc606f9
BLAKE2b-256 checksum
How to use checksums
a79560a5ba8d1df601406e56be8f0fd73c2d195999dc9ea83b85d8a50c0744d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / railhook-3.3.1-py3-none-any.whl

Download URL railhook-3.3.1-py3-none-any.whl
Size 33.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a195a4d5c5957b2ba2d47e10d7afd4abf1145cbe86e900db37f32e1e7a51348e
BLAKE2b-256 checksum
How to use checksums
3177e7999e0f8293616029b3533e51a15690f6eaeefa16e8bc3f4267af7716de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

3.7.0

2 release files

3.6.1

2 release files

3.6.0

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.1

2 release files

3.4.0

2 release files

This release

3.3.1 This release

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.32.2

2 release files

2.32.1

2 release files

2.32.0

2 release files

2.31.1

2 release files

2.31.0

2 release files

2.30.2

2 release files

2.30.1

2 release files

2.30.0

2 release files

2.29.0

2 release files

2.28.2

2 release files

2.28.1

2 release files

2.28.0

2 release files

2.27.1

2 release files

2.27.0

2 release files

2.26.0

2 release files

2.25.0

2 release files

2.24.0

2 release files

2.23.0

2 release files

2.22.0

2 release files

2.21.2

2 release files

2.21.1

2 release files

2.21.0

2 release files

2.20.9

2 release files

2.20.8

2 release files

2.20.7

2 release files

2.20.6

2 release files

2.20.5

2 release files

2.20.4

2 release files

2.20.3

2 release files

2.20.2

2 release files

2.20.1

2 release files

2.20.0

2 release files

2.19.2

2 release files

2.19.1

2 release files

2.19.0

2 release files

2.18.1

2 release files

2.18.0

2 release files

2.17.2

2 release files

2.17.1

2 release files

2.17.0

2 release files

2.16.6

2 release files

2.16.5

2 release files

2.16.4

2 release files

2.16.3

2 release files

2.16.2

2 release files

2.16.1

2 release files

2.16.0

2 release files

2.15.0

2 release files

2.14.0

2 release files

2.13.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page