Skip to main content

FastAPI Microservices Platform Python SDK

The fastapi-microservices-platform-sdk distribution provides a synchronous producer, control-plane client, raw-byte receiver verification, a SQLAlchemy transactional outbox, and webhookctl. Its Python import remains webhook_platform_sdk. Python 3.11+ is required.

python -m pip install fastapi-microservices-platform-sdk

Releases are published to PyPI from signed sdk-v* tags through trusted publishing. To work on the SDK itself, install from a checkout instead: python -m pip install -e ..

from webhook_platform_sdk import Producer

with Producer("http://localhost:8000", "whk_...") as producer:
    event = producer.send_event(
        "order.created",
        {"order_id": "42"},
        "order-42-created",
    )

The producer performs no implicit HTTP retries. If the result is ambiguous, retry with the same idempotency key. ApiError exposes only status, bounded error code, and bounded Retry-After; it never embeds raw response content.

Receiver code must pass the exact unparsed bytes to verify_request or verify_and_claim. The latter accepts a durable claim(event_id) implementation. Reserve the ID in the same transaction as durable receiver acceptance or state changes, and return 2xx for a verified duplicate.

Install .[outbox] for enqueue_outbox and OutboxRelay. Enqueue in the application transaction; the relay claims a bounded batch, commits, sends outside the transaction, and finalizes with a lease token. A crash can resend, so the relay always retains the same platform idempotency key.

webhookctl auth register and webhookctl auth login prompt for passwords without placing them in process arguments. Login stores the bearer token in a mode-0600 file bound to the service base URL; WEBHOOK_PLATFORM_TOKEN can override it for ephemeral environments. Organization, project, API-key, and endpoint commands cover initial setup. Producer credentials come only from WEBHOOK_PLATFORM_API_KEY. Capture one-time API keys and endpoint secrets directly into a secret manager.

Endpoints subscribe to every event unless created with an event-type filter. webhookctl endpoints create --event-type order.* --event-type user.created restricts fan-out to exact types and trailing prefix.* wildcards; the field is omitted from the request when no filter is given, so the command also works against servers that predate subscription filtering. webhookctl endpoints update changes the URL, description, or active state, replaces the subscription list with repeated --event-type flags, or clears it with --all-events. The same operations are available programmatically through ManagementClient.create_endpoint(..., event_types=...) and ManagementClient.update_endpoint, where passing event_types=None explicitly clears the filter.

Release files for fastapi-microservices-platform-sdk 0.1.2

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

Source distribution (sdist)

Source distribution for fastapi-microservices-platform-sdk 0.1.2
File Size Uploaded
fastapi_microservices_platform_sdk-0.1.2.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi-microservices-platform-sdk 0.1.2
File Interpreter ABI Platform
fastapi_microservices_platform_sdk-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 43.7 kB

Release files / fastapi_microservices_platform_sdk-0.1.2.tar.gz

Download URL fastapi_microservices_platform_sdk-0.1.2.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
168d838e5c3762f275d169a971d7c83e4a1384e514ff422e0e6cfe3a3ae9216f
BLAKE2b-256 checksum
How to use checksums
cfa49e3d3b8a00de4dd872ff1a58ec92a6bb72f5261cd1e3b994a9a29f3bb50a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / fastapi_microservices_platform_sdk-0.1.2-py3-none-any.whl

Download URL fastapi_microservices_platform_sdk-0.1.2-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
745bb7c3d1bdd2dec51ee482c0ecde5586879b874c97783a447c5a507ee597f8
BLAKE2b-256 checksum
How to use checksums
4ca7f51de937eb374cbcbf9bb09e7894e13596c8ed205ea593e07ea4f3d350d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

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