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§
- context
- Python context definition.
- lambda
- Python wrappers for Lambda related types.
- logging
- Rust
tracing
and Pythonlogging
setup and utilities. - middleware
- Schedule pure-Python middlewares as tower::Layers.
- py_
tracing_ event - tls
- TLS related types for Python.
- types
- Python wrapped types from aws-smithy-types.
Macros§
- mutable_
mapping_ pymethods - Macro that provides mixin methods of collections.abc.MutableMapping to the implementing type.
Structs§
- PyHandler
- A Python handler function representation.
- PyMiddleware
Exception - Exception that can be thrown from a Python middleware.
- PyMiddleware
Handler - A Python middleware handler function representation.
- PyMiddleware
Layer - Tower Layer implementation of Python middleware handling.
- PyRequest
- Python-compatible Request object.
- PyResponse
- Python-compatible Response object.
- PySocket
- Socket implementation that can be shared between multiple Python processes.
- PyTracing
Handler - Modifies the Python
logging
module to deliver its log messages using tracing::Subscriber events. - Rich
PyErr - Wraps PyErr with a richer debug output that includes traceback and cause.
Enums§
- PyError
- Python error that implements foreign errors.
Traits§
- PyApp
- Trait defining a Python application.
Functions§
- py_
tracing_ event - Consumes a Python
logging.LogRecord
and emits a Rust tracing::Event instead. - rich_
py_ err - Wrap
err
with RichPyErr to have a richer debug output.