A client for APIs written in Flask-Potion
Project description
Description
This is a Python client for APIs written in Flask-Potion (a powerful Flask extension for self-documenting JSON APIs).
The package uses Requests to provide a super-simple interface to Potion APIs that works with all common authentication methods. It generates classes for each of the resources in the API and automatically handles pagination and resolving and serializing references. It also has some basic IPython Notebook support.
Example
from potion_client import Client
from potion_client.auth import HTTPBearerAuth
from potion_client.exceptions import ItemNotFound
client = Client('http://localhost/api', auth=HTTPBearerAuth('79054025255fb1a26e4bc422aef54eb4'))
u123 = client.User(123)
chomp = client.Animal()
chomp.owner = u123
chomp.name = "Chomp"
chomp.species = "hamster"
chomp.save()
pets = client.Animal.instances(where={"owner": u123}, sort={"created_at": True})
print("{} has {} pet(s)".format(u123.first_name, len(pets))
for pet in pets:
if pet is not chomp:
pet.add_friend(chomp)
print("{} is now friends with Chomp".format(pet.name)))
try:
foo = client.User.first(where={"username": "foo"})
except ItemNotFound:
print("User 'foo' does not exist!")
else:
chomp.update(owner=foo)
print("Chomp has been sold to {}".format(foo.name))
chomp.destroy()
print("RIP, Chomp. You lived a happy life.")
Installation
To install potion-client, run:
pip install potion-client
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
Potion-client-2.5.1.tar.gz
(11.0 kB
view details)
File details
Details for the file Potion-client-2.5.1.tar.gz
.
File metadata
- Download URL: Potion-client-2.5.1.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfc1ca6c0feac683ff20f41bb13769754b9badde4d9ed7c0759799ae07398b5d |
|
MD5 | d135f17cc9464fa3688eb55a5bac4077 |
|
BLAKE2b-256 | 101604e56c52d5a9090f655f573fa2caf03b845ffee78bfc8d08ce99064a00aa |