The Python wrapper to the Birst API.
- No token repetition: once you obtain a token, Pyrst will manage it for you until you tell it to stop.
- Super easy querying
- Even easier output using handlers
How to install
Until we release this project to PyPI, the best way to install is:
git clone --recursive https://github.com/rbonedata/pyrst.git python setup.py install
On OS X and Linux, unless you're installing in a venv, you might need to run
the install scripts as a privileged user (
How to use
Importing the client and create a client object
You can store configuration in a config file - a template of the config file is
pyrst folder. You can name the config file anything you want. To
keep the password somewhat safe, use
base64 encoding and set the
password_is_encrypted flag to
from pyrst.client import BirstClient client = BirstClient(configfile='pyrst/config.yaml')
Alternatively, you can manually create the client:
from pyrst.client import BirstClient client = BirstClient(user = "MyUsername", password = "MyPassword")
You have been successfully logged in, DOMAIN\Username. Your token is: 9b4081fa4b9f3d8d15f77271b7e83902
Once you're done, simply use
client.logout() to log out.
To query a space, use
executequery(). Before querying, it makes sense to
import the handler that you want to use to display the data, if any:
from pyrst.handlers import DfHandler
Now you can use it in your query:
table = executequery(space = "12345678-abcd-9012-efab-345678901234", query = "SELECT [# sales_total] from [ALL]", handler = DfHandler)
The current functionality doesn't do much beyond querying, but we'll be
Pyrst's capabilities. In particular, multipart querying
and more handlers will be implemented soon.
Current priorities are:
- better handlers,
- better query handling,
- JSON output,
- more functionality.
Written by Chris von Csefalvay with the generous support of RB.