Analytics and BI

Apache Superset

A modern data exploration and visualisation platform.

Apache-2.0PermissivePython

Live preview ↗View on GitHub ↗

About Apache Superset

Apache Superset is a data exploration and dashboard server. People write SQL, explore a table and save charts on dashboards. It connects to warehouses and SQL databases through SQLAlchemy. The project started at Airbnb and is now an Apache Software Foundation project. The metadata that describes charts and dashboards lives in Superset's own database. The business data stays in the warehouse you connect.

Why it exists

Closed BI tools were hard to place next to a warehouse, and thin SQL clients were hard to share with a whole team. Superset is a SQL workspace and a chart layer you can run yourself.

Who uses it

Data teams, analysts, and the operators who read the dashboards those teams publish. Someone has to manage the warehouse connection and the Python service.

What it is used for

SQL exploration, charts and dashboards on data you already store. It does not collect the business records. Pair it with the database or warehouse that holds them. Alerts and scheduled reports need the worker process, not only the web process.

Open source behind the product

Preset is a commercial hosted Superset from people who worked on the project. The software is this Apache-2.0 codebase. The server is Python and Flask-AppBuilder. The screen is React. SQLAlchemy talks to the databases. Redis caches. Celery runs queries and reports in the background when you enable it. PostgreSQL is the usual metadata database. The warehouse you chart stays a separate system.

How to run it on a server

  1. Start from the installation page on superset.apache.org. Docker Compose in the Apache repository is the maintained way to start the web app, the metadata database, Redis and a worker together.
  2. For a server you keep, use PostgreSQL for metadata and set a unique secret key. The default is not a production setting.
  3. Put HTTPS on a reverse proxy. Give the workers memory for the queries you allow.
  4. Create the admin user with the command in the current guide. Remove any example account.
  5. Back up the metadata database. The charts live there. The warehouse data does not.
  6. Compose file names change between releases. Use the guide for the version you deploy.

Follow the project's own guide for the version you install. Commands and file names change between releases.

How to contribute

Issues and pull requests go to apache/superset. The project follows the Apache way, including a code of conduct. A documentation fix, a reproduced bug or a test for a database connector is a useful first contribution.

  1. Read the project's guidelines. Open the repository and look for CONTRIBUTING, the code of conduct and the README.
  2. Find something to work on. Browse good first issues or all open issues. Documentation and bug reports count.
  3. Make a small change. Fork the repository, work on a branch, and keep the change focused.
  4. Open a pull request. Say what changed and why, and link the issue. See open pull requests.

Contributions are accepted under the project's own licence (Apache-2.0). Some projects also ask you to sign a contributor agreement. A doc fix or a reproduced bug is a real contribution.

Licence: Apache-2.0

Permissive. You can use, modify and distribute it, including commercially, keeping the licence and notices. It includes an express patent grant.

This is a plain-English guide, not legal advice. Read the licence in the repository before you ship it or sell a service on top of it.

More in Analytics and BI

  • Analytics and BI

    Matomo

    A privacy-focused web analytics platform you can self-host.

    GPL-3.0

  • Analytics and BI

    Plausible Analytics

    Lightweight, cookie-free web analytics.

    AGPL-3.0

  • Analytics and BI

    Metabase

    An easy-to-use business intelligence and dashboard tool.

    AGPL-3.0

Want these tools connected to your website or business software?

Talk to DEIENAMI