This sample code demonstrates using Metabase static embedding in Python using Flask.
- Have a running instance of Metabase. If you don't have one
- A dashboard to embed. If you don't have one, use X-Rays to let Metabase create one for you. Note down the dashboard ID.
- Sign in to your Metabase instance as an admin.
- Go to admin settings, embedding and enable static embedding.
- Under admin settings/embedding, click on manage on the static embedding card and copy the embedding secret key.
- Paste the secret key into an env var:
export METABASE_EMBEDDING_SECRET="PASTE_SECRET_HERE"
- Create an env var pointing to your Metabase site URL, if it's not on http://localhost:3000
export METABASE_SITE_URL="http://localhost:4000"
- Create an env var with the ID of the dashboard to embed, if it's not 1:
export METABASE_EMBED_DASHBOARD_ID="8"
- Go to your dashboard, click on the share/embed button at the top
- Click on the "Publish" button
- Create the virtual environment:
python3 -m venv .venv
- Activate the virtual environment:
source .venv/bin/activate
- Install the dependencies:
pip install -r requirements.txt
- Start the app:
flask run -p 9090
- Open the app at http://localhost:9090