apyclientA Python API Client | |
Download |
apyclient Ranking & Summary
Advertisement
- License:
- BSD License
- Price:
- FREE
- Publisher Name:
- Aaron Madison
- Publisher web site:
- https://github.com/madisona/
apyclient Tags
apyclient Description
apyclient is a Python module that allows you to easily create client APIs in a highly customizable way.InstallationOnly requirement is python 2.6 or greater. Tests require 'mock' package.pip install apyclientUsageYou are able to easily create a client Api class. The only requirement of the API class is that it must have a "HOST_NAME" attribute declared. The API uses this host name to prepend to the endpoint when building the request.class MyAPIClient(object): HOST_NAME = "http://www.example.com" @api_request("/api-endpoint/") def fetch_some_stuff(some_var): return {"the_variable": some_var}my_client = MyApiClient()my_client.fetch_some_stuff(3)And that's it. The client will make an HTTP GET request by default with the data provided by the decorated method.You can also do a POST request by declaring method="POST" in the api_request.@api_request("/api-endpoint/", method="POST")def fetch_some_stuff(some_var): return {"the_variable": some_var}And finally, you are able to return a custom response class if you so desire. Just either provide a RESPONSE_CLASS on the api client class, or a response_class on the api_request decorator. If you have a custom response class declared both on the API client and on the api_request decorator, the decorator will win because it is more specific. The response class must take one argument on initialization, the original response.class MyApiClient(object): HOST_NAME = "http://www.example.com/api RESPONSE_CLASS = MyDefaultResponseClass @api_request("/api-endpoint/") def fetch_some_stuff(some_var): return {"the_variable": some_var} @api_request("/api-endpoint/", response_class=SpecializedResponseClass) def fetch_some_stuff(some_var): return {"the_variable": some_var}Product's homepage
apyclient Related Software