A more complete Python client for the Redash API
Project description
Redash API Python Client
python package for interacting with the Redash API
Getting Started
an API key is required in addition to the instance's host URL.
Installation
pip install redash-python
Usage
the API uses SimpleNameSpace objects to represent resources instead of dictionaries. this allows access to the resource's attributes using dot notation.
from redash_python import Redash
client = Redash(base_url="", api_key="")
# get all dashboards
dashboards = client.dashboards.get_all().results
# get specific dashboards by id
dash = client.dashboards.get(1)
# get by slug
dash = client.dashboards.get_by_slug("my-dashboard")
# print slug
print(dash.slug)
# get dashboard widgets
print(dash.widgets)
# get a list of implemented API endpoints
print(client.services)
# get a list of implemented endpoints in a service
print(client.policies)
Development
before starting development, install required packages in requirements.txt
pip install -r requirements.txt
Architecture
this library implements a services based architecture splitting each API
endpoint group to its own service, on top of which is the Redash
class.
redash_python
├── __init__.py
├── redash.py # services wrapper
├── utils # exceptions, encoder, etc.
└── services # implemented services
Implemented Services
- Dashboards
- Queries
- Data Sources
- Alerts
- Users
- Destinations
- Groups
- query_snippets
for a full list of implemented methods in each service, print the service object.
>>> print(client.dashboards)
DashboardsService(methods: ['archive', 'create', 'get', 'get_all', 'get_by_slug', 'get_id', 'get_slug', 'publish', 'unarchive', 'unpublish', 'update'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
redash-python-0.1.5.tar.gz
(7.7 kB
view hashes)
Built Distribution
Close
Hashes for redash_python-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d65ef584895620d92a0562ab0c008a912c009b794952f300a66ee0e27e659c97 |
|
MD5 | b1dce7101411d37a68b49758aa11944d |
|
BLAKE2b-256 | 9145734c59533b613f7806a3b0b2d1d22165640056edbf9fddf8e73324fef631 |