Skip to main content

A client for APIs written in Flask-Potion

Project description

https://img.shields.io/travis/biosustain/potion-client/new-potion-client.svg?style=flat-square https://img.shields.io/coveralls/biosustain/potion-client/new-potion-client.svg?style=flat-square https://img.shields.io/pypi/v/Potion-Client.svg?style=flat-square https://img.shields.io/pypi/l/Potion-Client.svg?style=flat-square Join the chat at https://gitter.im/biosustain/potion

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

Authors

Potion-client was written by João Cardoso and Lars Schöning.

Project details


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)

Uploaded Source

File details

Details for the file Potion-client-2.5.1.tar.gz.

File metadata

File hashes

Hashes for Potion-client-2.5.1.tar.gz
Algorithm Hash digest
SHA256 bfc1ca6c0feac683ff20f41bb13769754b9badde4d9ed7c0759799ae07398b5d
MD5 d135f17cc9464fa3688eb55a5bac4077
BLAKE2b-256 101604e56c52d5a9090f655f573fa2caf03b845ffee78bfc8d08ce99064a00aa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page