Skip to content

Latest commit

 

History

History

streamlit

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Streamlit app on top of GoodData

Demonstrate GoodData headless BI approach allowing easy integration of any client app.

For Streamlit case, GoodData provides Python SDK.

Demo purpose

This demo app provides self-service analytics to even non-technical users.

Users can select facts/attributes/metrics in the left panel and a corresponding report(insight, visualization) is rendered in the right panel(canvas).

The following visualization types are supported:

  • Table
  • Line chart
  • Bar chart
  • Donut chart
  • Geo chart

Additionally, users can:

  • Set analytical functions applied on selected facts (SUM, AVG, ...)
  • Set filters (now only simple attribute filters, but would be easy to add e.g. date filters)
  • Set sorting by multiple result "columns"

How to run locally

# Set ENV variables containing GoodData credentials
source .env.custom.local
# --debug provides more messages printed to the console from which you execute this statement
cd apps/streamlit
streamlit run app.py -- --debug
# Enable clear GD caches button
streamlit run app.py -- --debug --gooddata-allow-clear-caches

The app relies on GoodData instance. Check top-level README for how to start GoodData locally from docker-compose.

Deploy to cloud

Render

Deployment to render.com cloud is triggered by merge to this public Git repository:

render.com also provides a feature called PR previews. This would be beneficial for deploying DEV app from PRs. Unfortunately, it does not seem to work properly, not sure if it is caused by free tier is used.

Streamlit cloud

Deployment to streamlit.io is possible only from Github. Clone this repo, push it Github and create an app in Streamlit connected to the repo to try it.

I did it and it works: Streamlit deployment