Skip to content

Starlette Integration

lacme.starlette

Starlette integration for lacme ACME certificate management.

Provides a :func:acme_challenge_route for serving HTTP-01 challenges and an :func:on_startup_issue helper for auto-issuing at startup. Requires starlette (install with pip install lacme[starlette]).

acme_challenge_route

acme_challenge_route(handler: HTTP01Handler) -> Route

Return a Starlette Route serving HTTP-01 challenge responses.

Usage::

from starlette.routing import Route
from lacme.starlette import acme_challenge_route

routes = [
    acme_challenge_route(handler),
    Route("/", homepage),
]

configure_app

configure_app(app: Starlette, *, handler: HTTP01Handler) -> None

Add the ACME challenge route to a Starlette app.

Inserts the challenge route at position 0 (highest priority). For auto-issuing at startup, use :func:on_startup_issue in a lifespan context manager.

on_startup_issue async

on_startup_issue(client: Client, domains: str | list[str], *, challenge_type: str = 'http-01') -> None

Issue a certificate during application startup.

Intended for use with Starlette's on_startup hooks::

app.add_event_handler(
    "startup",
    lambda: on_startup_issue(client, "example.com"),
)