# 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 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 (`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`.
```python
from pyrst.client import BirstClient
client = BirstClient(configfile='pyrst/config.yaml')
```
Alternatively, you can manually create the client:
```python
from pyrst.client import BirstClient
client = BirstClient(user = "MyUsername",
password = "MyPassword")
```
### Login
```python
client.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:
```python
from pyrst.handlers import DfHandler
```
Now you can use it in your query:
```python
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.
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 (`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`.
```python
from pyrst.client import BirstClient
client = BirstClient(configfile='pyrst/config.yaml')
```
Alternatively, you can manually create the client:
```python
from pyrst.client import BirstClient
client = BirstClient(user = "MyUsername",
password = "MyPassword")
```
### Login
```python
client.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:
```python
from pyrst.handlers import DfHandler
```
Now you can use it in your query:
```python
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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyrst-0.6.1.tar.gz
(7.9 kB
view details)
File details
Details for the file pyrst-0.6.1.tar.gz.
File metadata
- Download URL: pyrst-0.6.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bdf03040da6d898220c1ac75154304f009022ffa6c7a70e0a0b384ce69bb291
|
|
| MD5 |
91b9c4aa8837869b815ede4a070ad17c
|
|
| BLAKE2b-256 |
0b09485755d34b60689f1025d0ae1990e3f5250f72b51f3611f02876b23a68ef
|