Expand description

Rust/Python bindings, runtime and utilities.

This crates implements all the generic code needed to start and manage a Smithy Rust HTTP server where the business logic is implemented in Python, leveraging PyO3.

Modules

Rust tracing and Python logging setup and utilities.

Python wrapped types from aws-smithy-types.

Structs

Python application definition, holding the handlers map, the optional Python context object, the list of workers and the PyRouter.

The Python business logic implementation needs to carry some information to be executed properly like the size of its arguments and if it is a coroutine.

Mapping holding the Python business logic handlers.

Python compatible wrapper for the aws_smithy_http_server::Router type.

Socket implementation that can be shared between multiple Python processes.

PyState structure holding the Python context.

Enums

Python error that implements foreign errors.

This custom logger enum exported to Python can be used to configure the both the Rust tracing and Python logging levels. We cannot export directly tracing::Level to Python.