Requests based HTTP/REST API client with flexible cache support
Project description
Portale is minimalistic requests based HTTP/REST API client.
Big advantage it has over other libraries is it also lets you configure cache timeout policy for each of the APIs independently.
Simple example
from portale import PrefixedURLSession, GETRequest, GETJSONRequest
session = PrefixedURLSession('https://httpbin.org/')
get_thing = GETRequest(session, 'anything?thing={0}', timeout=10)
long_request = GETJSONRequest(session, 'delay/{n}', timeout=20)
thing = get_thing('snake')
result = long_request(n=2)
result = long_request(n=2) # cached response
Cache
Busting cache
long_request.cache.bust(n=n)
Access cache metrics
print(long_request.cache.metrics)
Tests
nosetests -xv tests.py
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
portale-0.5.tar.gz
(2.3 kB
view details)
File details
Details for the file portale-0.5.tar.gz
.
File metadata
- Download URL: portale-0.5.tar.gz
- Upload date:
- Size: 2.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81650f8ae3ddd0311d452765a9384622c8bc492f6e01116ea71fdfe9a00c769e |
|
MD5 | c30ade307b4882717cf60875dfda03a2 |
|
BLAKE2b-256 | 0c20c26a56692305e4e8565de3b167c350f5507b4935d3829d117c6a1efef828 |