Arrest is a wrapper of pydantic and httpx to make your REST api calls type-safe and structured
Project description
Arrest
- Documentation: https://s-bose.github.io/arrest/
Enable data validation for REST APIs.
Built on top of Pydantic and httpx. Arrest is like a postman client for your microservice apis. It provides a simple layer of Pydantic encapsulation over Httpx HTTP calls to ensure structural integrity of your api definitions in a single file, as well as provide Pydantic's strength of data validation.
Installation
pip install arrest
Getting Started
from arrest import Resource, Service
from arrest.exceptions import ArrestHTTPException
xyz_service = Service(
name="xyz",
url="http://www.xyz-service.default.local.cluster:80",
resources=[
Resource(
route="/users",
handlers=[
("GET", "/"),
("GET", "/{user_id:int}"),
("POST", "/")
]
)
]
)
try:
response = await xyz_service.users.get("/123")
except ArrestHTTPException as exc:
logging.warning(f"{exc.status_code} {exc.data}")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
arrest-0.1.9.tar.gz
(18.5 kB
view hashes)
Built Distribution
arrest-0.1.9-py3-none-any.whl
(25.0 kB
view hashes)