Superset & Preset
Apache Superset is a powerful, open-source data exploration and visualization platform designed to be intuitive and interactive. It allows data professionals to quickly integrate and analyze data from various sources, creating insightful dashboards and charts for better decision making.
Preset is a cloud-native, user-friendly platform built on Apache Superset. It offers enhanced capabilities and managed services to leverage the power of Superset without needing to handle installation and maintenance.
In this guide, we'll cover how you can use MotherDuck with either Superset or Preset.
Superset
Setup
The easy way to get started locally with Superset is to use their docker-compose configurations.
Adding a database connection to MotherDuck
To make it work with DuckDB & MotherDuck, you will have to install three extra Python packages in your local superset environment:
- DuckDB SQLAlchemy driver duckdb-engine
- DuckDB duckdb
- Flask AppBuilder flask_appbuilder
- First, you will have to clone the Superset repository:
git clone https://github.com/apache/superset.git
- Then create a new file in
superset/docker/requirements-local.txt
and add the following packages:
duckdb-engine==0.17.0
duckdb==1.2.2
flask_appbuilder==4.6.3
- Then build or run the docker container, depending whether this is the first time you run it or not, with the following command:
# First time running it
docker-compose up --build
# Subsequent runs
docker-compose up
-
Once the container is running, you can access the Superset UI at http://localhost:8088 or at the address you specified in the
docker-compose.yml
file. -
Once you are logged in, head over to "Settings" and click on "Database Connections"

- Click on "+ Database"

- In the Dropdown, pick "MotherDuck"

If MotherDuck isn't listed, there's probably an error in the installation of the duckdb-engine
. Review the installation steps under (2) to install this extra python package.
- Enter the database name that you want to connect to and the MotherDuck token of the user or service account that you want to use to connect to MotherDuck
Database name
is optional. Instead of specifying a database name, you can leave it empty to connect to all databases.

- Finally, you can test your token/connection is valid by clicking "Test connection" and click "Connect".
Now your MotherDuck database is available in Superset and you can start querying data and making some dashboards!
Preset
Setup
You can register a Preset account for free (up to 5 users). Upon your account creation, you will need to create a workspace and be prompted to connect to your data source.
Adding your first database connection to MotherDuck
When you first setup Preset, you will be offered to create a connection to a databse. Preset has a direct integration with MotherDuck, making the connection process simpler.
- In the Database Connection Dropdown in "Connect your first database", you can now select "MotherDuck" directly

- Enter your MotherDuck credentials and database information

- Click "Connect" to verify your connection is valid.
The Database Name needs to be prefixed with md:
to connect to MotherDuck.
The Access Token is the token you created in the MotherDuck dashboard.
Now your MotherDuck database is available in Preset and you can start creating dashboards immediately!
You can connect to multiple databases using a single MotherDuck connection.
Adding additional database connections
When adding more database connections to Preset, you can choose the option of "Get MotherDuck token". This will generate a new token from the MotherDuck account you are currently logged into.
- Add a database connection by going to "Settings", then "Database Connections"

- In the Database Connections page, click on "+ Database" in the top right corner

-
In the dropdown, select "MotherDuck" (see above)
-
Enter your MotherDuck credentials and database information
- Here you have the option to generate a new token via the
Get MotherDuck token
button or use a token you previously created.
- Here you have the option to generate a new token via the

Given that usually BI tools such as Preset and Superset are connected to service accounts, we do not recommend the "Get MotherDuck token" option for production systems but only for testing. For production systems the recommended approach is to generate an access token for the dedicated service account using the MotherDuck REST API and connect this account to Preset instead.