Apache Superset is a Data Visualization and Data Exploration Platform
Go to file
Beto Dealmeida 538776b470
Fetch charts with GET to benefit from browser cache and conditional requests (#7032)
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795f87)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507ab6)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e661)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f7b7)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866117)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4052)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e831cd)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48133)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625f10)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab5b9)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb60b)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e6194051f4)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340cf82)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add606ca)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f492)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742ad2)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d3df)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721ae07)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e74e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed392a1)

* Revert PR #6933 (#7162)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145b1f)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd2ec)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Fix bad merge

* Use far future when max_age=0
2019-04-03 12:11:08 -07:00
contrib/docker [fix] fix for css not loading on docker dev mode (#6934) 2019-02-22 20:03:17 -08:00
docs Bump SQLAlchemy to 1.3 (#7099) 2019-03-24 20:44:05 -07:00
install/helm/superset fix: don't remove leading new line (#6800) 2019-02-01 12:03:34 -08:00
licenses Add cc-by 4.0 for geojson files (#6731) 2019-01-19 14:28:40 -08:00
scripts Scripts & instructions to craft official Apache source releases (#7054) 2019-03-25 16:21:26 -07:00
superset Fetch charts with GET to benefit from browser cache and conditional requests (#7032) 2019-04-03 12:11:08 -07:00
tests [Lyft-GA] Enable color consistency in a dashboard (#7135) 2019-04-01 22:04:31 -07:00
.dockerignore Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
.flaskenv Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
.gitignore Scripts & instructions to craft official Apache source releases (#7054) 2019-03-25 16:21:26 -07:00
.pylintrc Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
.rat-excludes Add disclaimer and remove counter (#6738) 2019-01-22 14:18:16 -08:00
.travis.yml [mypy] Adding mypy linting (#7053) 2019-03-24 20:35:48 -07:00
alembic.ini Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
babel-node [adhoc-filters] Adding adhoc-filters to all viz types (#5206) 2018-06-18 15:43:18 -07:00
CHANGELOG.md Update CHANGELOG.md (#6920) 2019-02-20 22:16:18 -08:00
CODE_OF_CONDUCT.md Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
CONTRIBUTING.md [docs] CONTRIBUTING.md - how to setup SQL Lab in async mode (#7103) 2019-03-26 22:50:19 -07:00
cypress.json Split cypress tests (#6241) 2018-11-15 12:26:33 -08:00
DISCLAIMER Add disclaimer and remove counter (#6738) 2019-01-22 14:18:16 -08:00
gen_changelog.sh Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
INSTALL.txt Scripts & instructions to craft official Apache source releases (#7054) 2019-03-25 16:21:26 -07:00
ISSUE_TEMPLATE.md Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
LICENSE.txt Add cc-by 4.0 for geojson files (#6731) 2019-01-19 14:28:40 -08:00
MANIFEST.in Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
NOTICE Add cc-by 4.0 for geojson files (#6731) 2019-01-19 14:28:40 -08:00
PULL_REQUEST_TEMPLATE.md chore: add main pull request template (#7176) 2019-03-29 13:06:45 -07:00
pypi_push.sh Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
README.md docs: add cloudsmith to company list (#7158) 2019-03-28 22:24:27 -07:00
RELEASING.md Scripts & instructions to craft official Apache source releases (#7054) 2019-03-25 16:21:26 -07:00
requirements-dev.txt Injectable statsd client (#7138) 2019-03-27 14:08:36 -07:00
requirements.txt Bump python lib croniter to an existing version (#7132) 2019-03-26 13:27:16 -07:00
setup.cfg Add licenses to translations (#6732) 2019-01-22 08:21:13 -08:00
setup.py chore: updating extra requires (#7115) 2019-03-27 13:48:11 -07:00
tox.ini Injectable statsd client (#7138) 2019-03-27 14:08:36 -07:00
UPDATING.md [docs] improve UPDATING.md around 0.31's [now] optional deps (#7117) 2019-03-25 15:03:08 -07:00

Superset

Build Status PyPI version Coverage Status PyPI Join the chat at https://gitter.im/airbnb/superset Documentation dependencies Status

Superset

Apache Superset (incubating) is a modern, enterprise-ready business intelligence web application

[this project used to be named Caravel, and Panoramix in the past]

Screenshots & Gifs

View Dashboards


Slice & dice your data


Query and visualize your data with SQL Lab


Visualize geospatial data with deck.gl


Choose from a wide array of visualizations


Apache Superset

Apache Superset is a data exploration and visualization web application.

Superset provides:

  • An intuitive interface to explore and visualize datasets, and create interactive dashboards.
  • A wide array of beautiful visualizations to showcase your data.
  • Easy, code-free, user flows to drill down and slice and dice the data underlying exposed dashboards. The dashboards and charts acts as a starting point for deeper analysis.
  • A state of the art SQL editor/IDE exposing a rich metadata browser, and an easy workflow to create visualizations out of any result set.
  • An extensible, high granularity security model allowing intricate rules on who can access which product features and datasets. Integration with major authentication backends (database, OpenID, LDAP, OAuth, REMOTE_USER, ...)
  • A lightweight semantic layer, allowing to control how data sources are exposed to the user by defining dimensions and metrics
  • Out of the box support for most SQL-speaking databases
  • Deep integration with Druid allows for Superset to stay blazing fast while slicing and dicing large, realtime datasets
  • Fast loading dashboards with configurable caching

Database Support

Superset speaks many SQL dialects through SQLAlchemy, a Python ORM that is compatible with most common databases.

Superset can be used to visualize data out of most databases:

  • MySQL
  • Postgres
  • Vertica
  • Oracle
  • Microsoft SQL Server
  • SQLite
  • Greenplum
  • Firebird
  • MariaDB
  • Sybase
  • IBM DB2
  • Exasol
  • MonetDB
  • Snowflake
  • Redshift
  • Clickhouse
  • Apache Kylin
  • Google BigQuery
  • more! look for the availability of a SQLAlchemy dialect for your database to find out whether it will work with Superset

Apache Druid (Incubating)!

On top of having the ability to query your relational databases, Superset ships with deep integration with Druid (a real time distributed column-store). When querying Druid, Superset can query humongous amounts of data on top of real time dataset. Note that Superset does not require Druid in any way to function, it's simply another database backend that it can query.

Here's a description of Druid from the http://druid.io website:

Druid is an open-source analytics data store designed for business intelligence (OLAP) queries on event data. Druid provides low latency (real-time) data ingestion, flexible data exploration, and fast data aggregation. Existing Druid deployments have scaled to trillions of events and petabytes of data. Druid is best used to power analytic dashboards and applications.

Installation & Configuration

See in the documentation

Resources

Contributing

Interested in contributing? Casual hacking? Check out Contributing.MD

Who uses Apache Superset (incubating)?

Here's a list of organizations who have taken the time to send a PR to let the world know they are using Superset. Join our growing community!

  1. AiHello
  2. Airbnb
  3. Airboxlab
  4. Aktia Bank plc
  5. Amino
  6. Apollo GraphQL
  7. Ascendica Development
  8. Astronomer
  9. Brilliant.org
  10. Capital Service S.A.
  11. Clark.de
  12. Cloudsmith
  13. CnOvit
  14. Dial Once
  15. Digit Game Studios
  16. Douban
  17. Endress+Hauser
  18. FBK - ICT center
  19. Faasos
  20. Fordeal
  21. GfK Data Lab
  22. Grassroot
  23. Hostnfly
  24. HuiShouBao
  25. jampp
  26. Konfío
  27. Kuaishou
  28. Lime
  29. Lyft
  30. Maieutical Labs
  31. Myra Labs
  32. Now
  33. PeopleDoc
  34. Ona
  35. Pronto Tools
  36. QPID Health
  37. Qunar
  38. Scoot
  39. ScopeAI
  40. Shopee
  41. Shopkick
  42. Steamroot
  43. Showmax
  44. Tails.com
  45. THEICONIC
  46. Tobii
  47. Tooploox
  48. TrustMedis
  49. Twitter
  50. Udemy
  51. VIPKID
  52. Windsor.ai
  53. Yahoo!
  54. Zaihang
  55. Zalando