pip install ubersmith
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.
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')
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.
You'll need to install the development dependencies:
pip install -r requirements-dev.txt
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
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()