Core features of Uplink
masterUplink provides several capabilities for building structured API clients:
- Structured API Definition: Use decorators, type hints, and support for JSON, URL-encoded, and multipart request bodies.
- Parameter Support: Easily handle URL parameter replacement, request headers, and query parameters.
- Customizable HTTP Backend:
- Support for non-blocking I/O via
aiohttpandtwisted. - Ability to supply your own session (e.g.,
requests.Session).
- Support for non-blocking I/O via
- Serialization/Deserialization:
- Support for
pydanticmodels andmarshmallowschemas. - Support for handling collections (e.g., a list of objects).
- Custom converters for specialized object deserialization.
- Support for
- Extensibility:
- Middleware support for custom response and error handling.
- Plugin system (e.g.,
uplink-protobuffor protobuf support).
- Authentication: Built-in
Basic Authenticationand compatibility with existing libraries likerequests-oauthlib.