Redash
Redash lets anyone connect to 35+ SQL and NoSQL data sources, write a query in the browser, and turn the result into a shared dashboard — no separate BI suite required.
Repository Health
Technical Analysis
Dependency Health
Redash is an open-source business intelligence platform created in 2013 to let anyone — not just people who already own a BI license — query, visualize, and share data straight from the browser. Instead of building around one proprietary storage format, Redash ships with query runner integrations for more than 35 SQL and NoSQL backends, from Postgres, MySQL, BigQuery, Snowflake, and Redshift to MongoDB, Elasticsearch, Athena, and Databricks, so most teams can point it directly at data they already have.
The core workflow is a browser-based SQL/NoSQL query editor with a schema browser and auto-complete, paired with drag-and-drop visualization and dashboard building. Queries and their charts refresh automatically on a defined schedule, dashboards and individual visualizations get shareable URLs, and alerts can fire the moment a query result crosses a defined threshold — turning ad hoc analysis into an always-current, always-shareable artifact without extra tooling.
Under the hood, a Flask/Python backend hands off query execution to Redis-backed RQ workers so long-running queries never block the web process, while a separate React/TypeScript client talks to the backend purely over a REST API that exposes every UI action for automation. Self-hosted deployments get multi-organization support and SAML/LDAP authentication with no license key, which — combined with 547 contributors and nearly 30,000 GitHub stars — has made Redash one of the longest-running fully open BI tools in production at thousands of organizations.
What You Get
- A browser-based SQL/NoSQL query editor with schema browser and auto-complete across 35+ built-in data sources
- Drag-and-drop dashboard building that combines multiple visualizations into a single shared view
- Scheduled query refresh so dashboards and charts stay current without manual reruns
- Threshold-based alerts that notify a team the moment a query result crosses a defined condition
- A full REST API covering every action available in the UI, for automation and embedding
- Multi-organization support with SAML and LDAP authentication built into the open-source edition
Common Use Cases
- Self-service SQL exploration for analysts who don’t want to install a local database client
- Shared, always-current KPI dashboards for ops, product, and leadership teams
- Threshold alerting on operational or business metrics without building custom monitoring
- Embedding live query results into internal tools or customer-facing portals via the REST API
- Federated reporting across multiple databases (e.g. Postgres plus BigQuery) without a separate ETL pipeline first
Under The Hood
Architecture
Redash follows a layered Flask application pattern: the create_app factory in redash/app.py wires together independently-initialized modules — authentication, handlers, mail, migrate, security, tasks — so each concern owns its own init_app. The web tier (Flask blueprints under redash/handlers/) is separated from an async execution tier (RQ workers in redash/worker.py and redash/tasks/) connected through Redis, so long-running queries never block request handling. Query execution itself is isolated behind a BaseQueryRunner/BaseHTTPQueryRunner abstraction that each of the 35+ data-source integrations subclasses and self-registers via a register() call, meaning the scheduler and handlers never need to know the specifics of any individual data source. The models layer sits on Flask-SQLAlchemy with dedicated modules for organizations, users, and parameterized queries, while a separate serializers layer decouples internal ORM shapes from the JSON the API returns. The frontend is an entirely separate React/TypeScript single-page app that only talks to the backend over the REST API, so the two evolve independently — though it also means the query-runner abstraction is the single highest-blast-radius piece of the codebase, since a change there ripples across every data-source integration.
Tech Stack
The backend runs on Python 3.13 with Flask, Flask-SQLAlchemy for the ORM, Flask-Migrate for schema migrations, and Flask-Login/Flask-RESTful/Flask-Limiter for the API surface, served by Gunicorn with gevent workers. Asynchronous query execution, scheduled refresh, and alerting run through RQ backed by Redis, with rq-scheduler handling periodic jobs. Authentication integrations span Authlib for OAuth, pysaml2 for SAML, and native LDAP support. The frontend lives in a client/ workspace built with Webpack, using Ant Design and Bootstrap for UI components, D3 for charting, and a dedicated viz-lib pnpm workspace package for shared visualization primitives, all type-checked with TypeScript. Deployment targets Docker via the repository’s Dockerfile and compose file, with pnpm managing frontend dependencies and uv managing the Python environment.
Code Quality
Backend tests run through a BaseTestCase harness across dozens of test modules spanning handlers, models, query runners, and tasks, with a dedicated factories.py for fixture generation. CI gates every change behind ruff and black linting before spinning up a full Postgres-and-Redis Docker Compose stack to run the backend suite with coverage reporting. The frontend layer adds Jest unit tests, Cypress end-to-end specs, strict tsc --noEmit type-checking, and ESLint enforced with zero tolerated warnings in CI. Error handling in the query runner layer favors explicit exception types over silent catches, and naming conventions are consistently idiomatic per language (snake_case Python, camelCase TypeScript) — this reads as an actively maintained, typed-where-it-matters, CI-gated codebase rather than one coasting on age.
What Makes It Unique Redash’s most distinctive technical choice is the breadth and pluggability of its query-runner layer: a single BI tool that speaks natively to dozens of heterogeneous SQL and NoSQL backends — from ClickHouse and Druid to Salesforce and Google Sheets — through one uniform registration mechanism, rather than centering on a single warehouse the way many newer BI tools do. The dashboards, scheduled refresh, and alerting primitives themselves are standard BI features rather than novel inventions, but combining that data-source breadth with a fully open license and no gated enterprise tier is what made Redash one of the earliest credible open-source alternatives to commercial BI suites, and why it still sees active development well over a decade after launch.
Self-Hosting
Licensing Model BSD-2-Clause licensed — all features, including SAML/LDAP authentication and multi-organization support, are available in self-hosted deployments with no license keys or paid tiers required.
Self-Hosting Restrictions
None found in the source or documentation — no ee/, enterprise/, or pro/ directory exists in the repository, and no license-check or feature-flag gating was found in the codebase.
Enterprise Features Not applicable — there is no separate enterprise or paid edition of the open-source project; all functionality ships in the public repository.
License Key Required No.
Related Apps
World Monitor
Monitoring · Analytics
Real-time global intelligence dashboard that fuses AI-synthesized news, geopolitical risk scoring, and infrastructure tracking into one open-source situational awareness platform.
Grafana
Monitoring · Analytics
The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.
OpenBB
Databases · Analytics · Invoicing Finance
The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics