I made Arrest in an attempt to reduce the boilerplate that comes with interfacing an external HTTP api in a python application, usually using aiohttp or httpx.
The steps involved are typically quite a lot. Like creating functions per available HTTP methods and routes, authentication, exception handling, and retries, to name a few.
This quickly becomes a boilerplate when we have a lot of internal / external services to interface with.
Arrest helps by providing a clear one-time configuration using services and resources with the help of pydantic's data validation for the request and response, as well as exception handling and retries built-in. Calling an api becomes a simple `await service.resource.get("/path")`.
If anyone wants to take a look, docs are available here: https://s-bose.github.io/arrest/
The project is still in its early stage and I am constantly looking to improve it in every aspect. I'd really appreciate any feedback. Thanks!