Skip to main content
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.

Metadata

Release files for Potion-client 2.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Potion-client 2.5.1
File Size Uploaded
Potion-client-2.5.1.tar.gz 11.0 kB Details

Release files / Potion-client-2.5.1.tar.gz

Download URL Potion-client-2.5.1.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bfc1ca6c0feac683ff20f41bb13769754b9badde4d9ed7c0759799ae07398b5d
BLAKE2b-256 checksum
How to use checksums
101604e56c52d5a9090f655f573fa2caf03b845ffee78bfc8d08ce99064a00aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.5.1 This release

1 release file

2.5.0

1 release file

2.4.2

1 release file

2.4.1

1 release file

2.4.0

1 release file

2.1.3

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.1

1 release file

2.0.0

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page