Skip to content

opus-42/superset-api-client

Folders and files

NameName
Last commit message
Last commit date
Sep 25, 2022
Sep 16, 2022
Sep 25, 2022
Jun 12, 2023
Jun 12, 2023
Sep 13, 2022
Sep 8, 2022
Sep 16, 2022
Sep 25, 2022
Oct 1, 2020
May 12, 2023
Sep 13, 2022
Sep 16, 2022
Sep 25, 2022

Repository files navigation

superset-api-client

License PyPI version Coverage Status

A Python Client for Apache Superset REST API.

This is a Alpha version. Stability is not guaranteed.

Usage

Setup a superset client:

from supersetapiclient.client import SupersetClient

client = SupersetClient(
    host="http://localhost:8080",
    username="admin",
    password="admin",
)

When developping in local (only), you may need to accept insecure transport (i.e. http). This is NOT recommanded outside of local development environement, that is requesting localhost.

import os

os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1'

Quickstart

Get all dashboards or find one by name:

# Get all dashboards
dashboards = client.dashboards.find()

# Get a dashboard by name
dashboard = client.dashboards.find(dashboard_title="Example")[0]

Update dashboard colors, some properties and save changes to server:

# Update label_colors mapping
print(dashboard.colors)
dashboard.update_colors({
    "label": "#fcba03"
})
print(dashboard.colors)

# Change dashboard title
dashboard.dashboard_title = "New title"

# Save all changes
dashboard.save()

Export one ore more dashboard

You may export one or more dashboard user client.dashboards or directly on a dashboard object

# Export many dashboards
client.dashboards.export(
    # Set dashboard ids you would like to export
    [
        1,
        2
    ],
    "./dashboards.json" # A string or a path-like object where export will be saved
)

# Export one dashboard
dashboard.export(
    "./dashboard.json"
)

This functionality is also available in the same manner for datasets

Contributing

Before committing to this repository, you must have pre-commit installed, and install the following pre-commit hooks:

pre-commit install --install-hooks -t pre-commit -t pre-push

Setting up a development envi

You will need Docker and docker-compose in order to run development environment. To start development environment run:

    docker-compose up -d