Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Pyrst is a Python client for Birst's API.

Project Description

# pyrst

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
python 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 (`sudo`).

# How to use

## General usage

### Importing the client and create a client object

You can store configuration in a config file - a template of the config file is
under the `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 `True`.

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")

### Login


You have been successfully logged in, DOMAIN\Username.
Your token is: 9b4081fa4b9f3d8d15f77271b7e83902

### Logout

Once you're done, simply use `client.logout()` to log out.

## Querying

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)

# Development roadmap

The current functionality doesn't do much beyond querying, but we'll be
steadily developing `Pyrst`'s capabilities. In particular, multipart querying
and more handlers will be implemented soon.

Current priorities are:
- better handlers,
- better query handling,
- JSON output,
- tests,
- documentation,
- more functionality.

# Credits

Written by Chris von Csefalvay with the generous support of RB.

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(7.9 kB) Copy SHA256 Hash SHA256
Source None Mar 5, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting