Skip to main content

Client library for the Ubersmith API 2.0

Project description

https://img.shields.io/travis/jasonkeene/python-ubersmith.svg?style=flat https://img.shields.io/coveralls/jasonkeene/python-ubersmith.svg?style=flat https://img.shields.io/pypi/v/ubersmith.svg?style=flat

Installation

pip install ubersmith

Example Use

First you’ll need to initialize the ubersmith package with your login credentials:

import ubersmith
ubersmith.init('http://ubersmith/api/2.0/', 'username', 'password')

Then you can make API calls:

from ubersmith import uber, client
uber.method_list()
client.get(email='g.freeman@combineresearch.com')

These modules match the methods as documented in the Ubersmith API 2.0 docs.

Without Module State

ubersmith.init creates and stores a request handler with your login credentials. If for some reason you’d prefer to not have this module state then you can instantiate the request handler manually:

from ubersmith.api import RequestHandler
h = RequestHandler('http://ubersmith/api/2.0/', 'username', 'password')

and then explicitly pass it into any call function:

from ubersmith import uber, client
uber.method_list.handler(h)()
client.get.handler(h)(email='g.freeman@combineresearch.com')

or you can access the call function directly on the handler and the handler will be implicitly passed into the call function for you:

h.uber.method_list()
h.client.get(email='g.freeman@combineresearch.com')

Raw Processing

Alternatively you can process the request directly on the handler:

h.process_request('uber.method_list')
h.process_request('client.get', data={'email': 'g.freeman@combineresearch.com'})

although this will bypass any validation logic and response cleaning provided by the call function and just return the BaseResponse from ubersmith.

Development

You’ll need to install the development dependencies:

pip install -r requirements-dev.txt

Running Tests

To run the tests:

py.test

To run the tests on multiple interpreters:

tox

To run the tests and generate a coverage report:

bin/coverage.sh

Console

To run the dev console copy over the example config file:

cp bin/config.py.example bin/config.py

Edit it with your credentials then run the console:

python -i bin/console.py

From here you can run commands against your dev instance:

>>> uber.method_list()

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

ubersmith-0.3.9.tar.gz (433.8 kB view details)

Uploaded Source

File details

Details for the file ubersmith-0.3.9.tar.gz.

File metadata

  • Download URL: ubersmith-0.3.9.tar.gz
  • Upload date:
  • Size: 433.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ubersmith-0.3.9.tar.gz
Algorithm Hash digest
SHA256 114e9c19331d5ee9c62f996f42efc1a4bbb16dfb5200a91133292050ed52f86c
MD5 bdc0288b84b91b010c559c241def5e63
BLAKE2b-256 07d173d453faf3fef8907e8f09c9967db85a2718a503362df9fab04982f4507f

See more details on using hashes here.

Supported by

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