GitHub | crates.io | Documentation | Issues | Changelog
minigh
is a thin wrapper around ureq
for
interacting with the GitHub REST API that aims to make common operations easier
& simpler. Notable features include:
-
When making a request, you only need to specify the part of the URL after the API base URL.
-
Support for iterating over paginated results
-
Most request methods return decoded JSON.
-
Bring Your Own Schema:
minigh
does not define any types for values returned by the API; that is left up to the user. -
Errors raised for 4xx and 5xx responses include the body of the response in the error value, and this body is included when displaying with
{:#}
. -
The
Accept
andX-GitHub-Api-Version
headers are automatically set to their recommended values. -
Follows GitHub's recommendations for dealing with rate limits, including waiting between mutating requests and waiting & retrying in response to rate-limit errors
-
Automatic retrying on 5xx errors with exponential backoff