Skip to main content

HTTP for lazy, impatient, hubristic humans.

Project description

About clients

https://img.shields.io/pypi/v/clients.svg https://img.shields.io/pypi/pyversions/clients.svg https://img.shields.io/pypi/status/clients.svg https://img.shields.io/travis/coady/clients.svg https://img.shields.io/codecov/c/github/coady/clients.svg

Provides requests wrappers which encourage best practices, particularly always using Sessions to connect to the same host, or api endpoint.

Usage

Requests

Typical requests usage is redundant and inefficient, by not taking advantage of connection pooling.

r = requests.get('https://api.github.com/user', headers={'authorization': token})
r = requests.get('https://api.github.com/user/repos', headers={'authorization': token})

Sessions

Using sessions is the better approach, but more verbose and in practice requires manual url joining.

s = requests.Session()
s.headers['authorization'] = token
r = s.get('https://api.github.com/user')
r = s.get('https://api.github.com/user/repos')

Clients

Clients make using sessions easier, with implicit url joining.

client = clients.Client('https://api.github.com/', headers={'authorization': token})
r = client.get('user')
r = client.get('user/repos')

Resources

Resources extend Clients to implicitly handle response content, with proper checking of status_code and content-type.

resource = clients.Resource('https://api.github.com/', headers={'authorization': token})
for repo in resource.get('user/repos'):
   ...

See documentation for more examples.

Installation

Standard installation from pypi or local download.

$ pip install clients
$ python setup.py install

Dependencies

  • Requests

  • Python 2.7, 3.3+

Tests

100% branch coverage.

$ py.test [--cov]

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

clients-0.1.tar.gz (12.4 kB view hashes)

Uploaded Source

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