Apache Superset is a Data Visualization and Data Exploration Platform

Overview

Superset

License GitHub release (latest SemVer) Build Status PyPI version Coverage Status PyPI Get on Slack Documentation Dependencies Status

Superset

A modern, enterprise-ready business intelligence web application.

Why Superset? | Supported Databases | Installation and Configuration | Release Notes | Get Involved | Contributor Guide | Resources | Organizations Using Superset

Screenshots & Gifs

Gallery


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


Why Superset?

Superset provides:

  • An intuitive interface for visualizing datasets and crafting interactive dashboards
  • A wide array of beautiful visualizations to showcase your data
  • Code-free visualization builder to extract and present datasets
  • A world-class SQL IDE for preparing data for visualization, including a rich metadata browser
  • A lightweight semantic layer which empowers data analysts to quickly define custom dimensions and metrics
  • Out-of-the-box support for most SQL-speaking databases
  • Seamless, in-memory asynchronous caching and queries
  • An extensible security model that allows configuration of very intricate rules on on who can access which product features and datasets.
  • Integration with major authentication backends (database, OpenID, LDAP, OAuth, REMOTE_USER, etc)
  • The ability to add custom visualization plugins
  • An API for programmatic customization
  • A cloud-native archiecture designed from the ground up for scale

Supported Databases

Superset can query data from any SQL-speaking datastore or data engine (e.g. Presto or Athena) that has a Python DB-API driver and a SQLAlchemy dialect.

Here are some of the major database solutions that are supported:

redshift google-biquery snowflake presto druid postgresql mysql mssql-server db2 sqlite sybase mariadb vertica oracle firebird greenplum clickhouse exasol monet-db apache-kylin hologres

A more comprehensive list of supported databases along with the configuration instructions can be found here.

Want to add support for your datastore or data engine? Read more here about the technical requirements.

Installation and Configuration

Extended documentation for Superset

Get Involved

Contributor Guide

Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a detailed guide on how to set up a development environment.

Resources

Comments
  • [SIP-3] Scheduled email reports for Slices / Dashboards

    [SIP-3] Scheduled email reports for Slices / Dashboards

    Motivation

    Scheduled email reports (of dashboards and slices) has been a long standing ask from the superset community. The feature also provides superset a competitive advantage over tools like Looker.

    Proposed change

    • Scheduled email reports for slice and dashboard visualization (Attachment or inline)
    • Scheduled email reports for slice data (CSV attachment on inline table)
    • Each schedule has a list of recipients (all of them can receive a single mail, or separate mails)
    • All outgoing mails can have a mandatory bcc - for audit purposes.
    • Each dashboard/slice can have multiple schedules.

    How does this work.

    • Users specify a crontab schedule for a slice / dashboard.
    • We use celerybeat to schedule tasks for delivering reports every hour.
    • Each celery task uses selenium (firefox/chrome) webdriver to crawl the actual dashboard (including visualizations) and mail it out to the recipients.

    New dependencies

    • Python libraries
      • selenium
      • croniter
    • Firefox webdriver installable for your OS

    New or Changed Public Interfaces

    The main menu adds two new entries. This will be organized better in a future PR for categorizing dashboards and slices.

    Migration plan

    • Requires a db migration - handled automatically via alembic

    Rejected alternatives

    • Considered running PhantomJS, but selenium is deprecating support for it
    • Considered embedding image URLs within the email, but it can create issues where superset is hosted within corporate VPNs.

    Future work

    • Better schedule management - currently the beat job will (re)-schedule all the jobs for an hour if it is re-run. We can get better at this.
    • Better visualization of configured schedules for each dashboard / slice (coming soon in another PR)
    • Better UI for scheduling reports (coming soon)
    • Better menu placement (coming soon as part of another PR)
    • Alternate report delivery mechanisms, if needed.
    • Try using an existing webdriver instance for all jobs. (to save on memory/cpu)

    Screenshots

    Admin

    Menus

    image

    Dashboard schedules

    image

    Slice schedules

    image

    Delivery

    Dashboard via email

    image image

    Slice via email (inline)

    image

    Slice data email (inline)

    image

    Slice data as CSV attachment

    image

    FAQ's

    Why did we not use phantomjs?

    (I can make the change if anyone needs/prefers phantomjs).

    phantomjs had the following issues

    1. The feature was originally developed using phantomjs. However, selenium emitted a deprecation notice for phantomjs, so I stopped working with it.
    2. Phantomjs does not support taking screenshots of elements (only the entire page). Firefox is the only browser which supports this.
    3. In my testing, I noticed that rendering quality was not as good in phantomjs (fonts). Chrome > Firefox > PhantomJS (did not investigate further)
    sip size/XXL 
    opened by mahendra 136
  • Google BigQuery Support

    Google BigQuery Support

    Currently sqlalchemy does not support a bigquery dialect. Is there any way that BigQuery sources can be added to Caravel, apart from extending sqlalchemy to support BigQuery?

    enhancement:request 
    opened by rlanda 76
  • Latest import csv

    Latest import csv

    This PR allows users to import CSV files to superset. It extends the work that had already been done in (https://github.com/apache/incubator-superset/pull/2381) and also adds the new functionality of uploading to a hive datasource. All feedback to make the code and user experience better is welcome.

    @mistercrunch

    opened by timifasubaa 55
  • Fix hardcoded urls in python and template files.

    Fix hardcoded urls in python and template files.

    This PR is in relation to issue #985.

    The first commit basically converts all existing hard coded urls in superset to use the Flask url_for method to generate urls.

    The second commit adds a middleware that runs all tests under the prefix /test to make sure that future contributions will not add in hard coded urls again. It also fixes current tests that wouldn't work with the new prefix.

    I need to clean some of this up a bit, but wanted to create the PR now to get some feedback before I do much more with it.

    If you want to go with running tests under a prefix, there are a some complications due to the fact that url_for needs the application context in order to resolve the urls. And it needs to be prepared with the right prefix to give the right urls. In addition, any test code that runs app code which generates urls need to wrap this code in an app context as well (exceptions being self.client.get/post). I have added a number of help methods to the SupersetTestCase class that should help people out (self.url_for, self.get_app_context. It still requires a bit more from the test code though since app context mishaps give very confusing errors.

    Anything I missed, should change, etc., Please let me know

    opened by joharohl 54
  • [SIP-29] Add support for row-level security

    [SIP-29] Add support for row-level security

    CATEGORY

    Choose one

    • [ ] Bug Fix
    • [x] Enhancement (new features, refinement)
    • [ ] Refactor
    • [ ] Add tests
    • [ ] Build / Development Environment
    • [ ] Documentation

    SUMMARY

    Many BI applications, particularly in multi-tenancy scenarios, require support for row-level security. That is, the ability to show different slices of a table to users based on some user attribute. To accomplish this, I've added a new model to describe row level security filters, which references a Table and a Role. So when adding a row level security filter, you specify a particular Role and Table.

    When querying that table, the applicable filters are added to the query. I've modified the query function here to add any relevant to the WHERE clause.

    As well, I've added a UI for managing the row level security filters. And for convenience, added it as a related view for tables.

    BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

    Before:

    menu-before

    After:

    1. Row level security filters added to the Security menu: menu

    2. Row level security list list

    3. Row level security interface edit

    That allows for the management of the RowLevelSecurityFilters model. Additionally, for convenience, I've added it as a related view for tables.

    table-related-view

    After logging in with a user assigned to that role, I can still supply additional filters:

    additional-filters

    The generated SQL includes the additional filters AND the clause supplied by the row level security filter(s).

    generated-sql

    TEST PLAN

    Everything seems to be working as expected on my end, but a few things should be done to verify the changes.

    1. Set up a limited user
      1. Create a new role and give it access to a table.
      2. Create a new user and assign it the Gamma role, as well as the role you've just created.
      3. Create a Row level security filter and assign it the table and row.
    2. Ensure that the table is still working as expected for you (there should be no change)
    3. Create a simple dashboard built on that table
    4. Verify the limited user is only seeing the filtered data
      1. Log in as the limited user
      2. Check the table to ensure the filter is being applied.
      3. Check the dashboard to ensure the data is being limited.

    ADDITIONAL INFORMATION

    • [x] Has associated issue: #8644
    • [x] Changes UI
    • [x] Requires DB Migration.
      • To add a new model.)
    • [ ] Confirm DB Migration upgrade and downgrade tested.
      • I tested it, but presumably this doesn't apply to me?
    • [x] Introduces new feature or API
    • [ ] Removes existing feature or API

    REVIEWERS

    deprecated-label:.security risk:db-migration size/L 
    opened by altef 51
  • 7620: Start removing dependencies on requests

    7620: Start removing dependencies on requests

    CATEGORY

    • [ ] Bug Fix
    • [ ] Enhancement (new features, refinement)
    • [x] Refactor
    • [ ] Add tests
    • [ ] Build / Development Environment
    • [ ] Documentation

    SUMMARY

    Make dependency on requests and pydruid connector optional. Note: the first commit is @villebro 's work.

    TEST PLAN

    It might require some @unittest.skipUnless, I will check the result of the Travis tests first.

    ADDITIONAL INFORMATION

    Fixes #7620.

    • [x] Has associated issue: 7620.
    • [ ] Changes UI
    • [ ] Requires DB Migration.
    • [ ] Confirm DB Migration upgrade and downgrade tested.
    • [ ] Introduces new feature or API
    • [ ] Removes existing feature or API

    REVIEWERS

    @mistercrunch , @villebro

    size/M 
    opened by sturmer 51
  • Spark SQL backend (to support Elasticsearch, Cassandra, etc)

    Spark SQL backend (to support Elasticsearch, Cassandra, etc)

    I can't resist saying Caravel looks much neater than Kibana, plus the user management doesn't cost money and it's not an afterthought. It would be amazing to see Caravel replacing my Kibana dashboard, using the data I've got currently in Elasticsearch.

    You use an SQL interface to query the data store, is there any chance Caravel can speak to Elasticsearch through Spark SQL? Spark has a mature Elasticsearch connector, so it should be OK.

    And wait.. If you support Spark SQL, you'll be immediately able to support HDFS, Cassandra, HBase, Hive, Tachyon, and any Hadoop data source!

    Is this a path worth exploring for this project? I think it's quite exciting.

    validation:required 
    opened by sscarduzio 50
  • feat(dashboard): Let users re-arrange native filters

    feat(dashboard): Let users re-arrange native filters

    SUMMARY

    Allows users to re-arrange the dashboard native filters

    BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

    ezgif com-gif-maker

    TESTING INSTRUCTIONS

    • Click Edit icon (✏️) in native filters section on the left side of the dashboard
    • Re-arrange the native filters in the opened modal box
    • Save and verify that the order has changed in the UI

    ADDITIONAL INFORMATION

    • [ ] Has associated issue:
    • [ ] Changes UI
    • [ ] Includes DB Migration (follow approval process in SIP-59)
      • [ ] Migration is atomic, supports rollback & is backwards-compatible
      • [ ] Confirm DB migration upgrade and downgrade tested
      • [ ] Runtime estimates and downtime expectations provided
    • [x] Introduces new feature or API
    • [ ] Removes existing feature or API
    size/XXL hold:testing! need:qa-review 
    opened by m-ajay 49
  • Installing Superset via Docker-compose Up

    Installing Superset via Docker-compose Up

    I am on ubuntu. I am following the instructions to install Superset via docker via this link: https://superset.incubator.apache.org/installation.html#start-with-docker

    Expected results

    I expect after these steps if I open http://localhost:8088, I see Superset UI

    Actual results

    I see a blank page at http://localhost:8088

    Screenshots

    asas

    How to reproduce the bug

    1. Go to a computer with Ubuntu installed on it
    2. Follow the exact instructions at https://superset.incubator.apache.org/installation.html#start-with-docker
    3. You may get some error messages asking for installing docker and its dependencies and creating and running one. Please do those.
    4. See error

    Environment

    (please complete the following information):

    • superset version: not-installed!!! [trying to install]
    • python version: Python 3.7.4
    • node.js version: v8.10.0
    • npm version: 3.5.2

    Checklist

    Make sure these boxes are checked before submitting your issue - thank you!

    • [X] I have checked the superset logs for python stacktraces and included it here as text if there are any.
    • [X] I have reproduced the issue with at least the latest released version of superset.
    • [X] I have checked the issue tracker for the same issue and I haven't found one similar.

    Additional context

    Here is the full log:

    '(base) smirs@emarats-brain:~/incubator-superset$ sudo docker-compose up
    Starting superset_db    ... done
    Starting superset_cache ... done
    Starting superset_tests_worker ... done
    Starting superset_worker       ... done
    Starting superset_init         ... done
    Starting superset_node         ... done
    Starting superset_app          ... done
    Attaching to superset_db, superset_cache, superset_tests_worker, superset_worker, superset_init, superset_node, superset_app
    superset_db              | 
    superset_db              | PostgreSQL Database directory appears to contain a database; Skipping initialization
    superset_db              | 
    superset_db              | 2020-05-21 19:17:21.482 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
    superset_cache           | 1:C 21 May 19:17:22.498 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
    superset_db              | 2020-05-21 19:17:21.482 UTC [1] LOG:  listening on IPv6 address "::", port 5432
    superset_db              | 2020-05-21 19:17:21.484 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 1/4 [Starting] -- Setting up admin user ( admin / admin )
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_cache           | 1:M 21 May 19:17:22.499 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
    superset_cache           | 1:M 21 May 19:17:22.499 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
    superset_cache           | 1:M 21 May 19:17:22.499 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
    superset_db              | 2020-05-21 19:17:21.497 UTC [25] LOG:  database system was shut down at 2020-05-21 19:17:17 UTC
    superset_cache           |                 _._                                                  
    superset_cache           |            _.-``__ ''-._                                             
    superset_cache           |       _.-``    `.  `_.  ''-._           Redis 3.2.12 (00000000/0) 64 bit
    superset_cache           |   .-`` .-```.  ```\/    _.,_ ''-._                                   
    superset_cache           |  (    '      ,       .-`  | `,    )     Running in standalone mode
    superset_cache           |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
    superset_cache           |  |    `-._   `._    /     _.-'    |     PID: 1
    superset_cache           |   `-._    `-._  `-./  _.-'    _.-'                                   
    superset_cache           |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
    superset_cache           |  |    `-._`-._        _.-'_.-'    |           http://redis.io        
    superset_cache           |   `-._    `-._`-.__.-'_.-'    _.-'                                   
    superset_cache           |  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
    superset_cache           |  |    `-._`-._        _.-'_.-'    |                                  
    superset_cache           |   `-._    `-._`-.__.-'_.-'    _.-'                                   
    superset_cache           |       `-._    `-.__.-'    _.-'                                       
    superset_cache           |           `-._        _.-'                                           
    superset_cache           |               `-.__.-'                                               
    superset_cache           | 
    superset_cache           | 1:M 21 May 19:17:22.500 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    superset_db              | 2020-05-21 19:17:21.513 UTC [1] LOG:  database system is ready to accept connections
    superset_cache           | 1:M 21 May 19:17:22.500 # Server started, Redis version 3.2.12
    superset_cache           | 1:M 21 May 19:17:22.500 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    superset_cache           | 1:M 21 May 19:17:22.500 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
    superset_cache           | 1:M 21 May 19:17:22.500 * DB loaded from disk: 0.000 seconds
    superset_cache           | 1:M 21 May 19:17:22.500 * The server is now ready to accept connections on port 6379
    superset_tests_worker    | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_db              | 2020-05-21 19:17:24.857 UTC [32] FATAL:  database "test" does not exist
    superset_tests_worker    | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_tests_worker    |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_tests_worker    | ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (psycopg2.OperationalError) FATAL:  database "test" does not exist
    superset_tests_worker    | 
    superset_tests_worker    | (Background on this error at: http://sqlalche.me/e/e3q8)
    superset_tests_worker    | Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
    superset_worker          | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_tests_worker exited with code 1
    superset_init            | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_app             |  * Serving Flask app "superset.app:create_app()" (lazy loading)
    superset_app             |  * Environment: development
    superset_app             |  * Debug mode: on
    superset_app             |  * Running on http://0.0.0.0:8088/ (Press CTRL+C to quit)
    superset_app             |  * Restarting with stat
    superset_app             | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_init            | Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
    superset_init            | Recognized Database Authentications.
    superset_init            | Error! User already exists admin
    superset_init            | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_init            |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 1/4 [Complete] -- Setting up admin user
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 2/4 [Starting] -- Applying DB migrations
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_worker          | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_worker          |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_worker          | [2020-05-21 19:17:27,512: INFO/MainProcess] Connected to redis://redis:6379/0
    superset_worker          | [2020-05-21 19:17:27,524: INFO/MainProcess] mingle: searching for neighbors
    superset_app             |  * Debugger is active!
    superset_app             |  * Debugger PIN: 294-670-256
    superset_worker          | [2020-05-21 19:17:28,544: INFO/MainProcess] mingle: all alone
    superset_worker          | [2020-05-21 19:17:28,552: INFO/MainProcess] celery@6f1df210e742 ready.
    superset_app             | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_init            | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_init            | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_init            |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_init            | INFO  [alembic.runtime.migration] Context impl PostgresqlImpl.
    superset_init            | INFO  [alembic.runtime.migration] Will assume transactional DDL.
    superset_init            | Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 2/4 [Complete] -- Applying DB migrations
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 3/4 [Starting] -- Loading examples
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_app             | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_app             |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_app             | 172.18.0.1 - - [21/May/2020 19:17:34] "GET / HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:17:34] "GET / HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:17:34] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:17:34] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:17:34] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:17:34] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_init            | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_init            |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_init            | DEBUG:superset.models.core:Database.get_sqla_engine(). Masked URL: postgresql://superset:XXXXXXXXXX@db:5432/superset
    superset_init            | Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
    superset_init            | Loading examples metadata and related data into examples
    superset_init            | Creating default CSS templates
    superset_init            | Loading energy related dataset
    superset_init            | Creating table [wb_health_population] reference
    superset_init            | Loading [World Bank's Health Nutrition and Population Stats]
    superset_init            | Creating table [wb_health_population] reference
    superset_init            | Creating slices
    superset_init            | Creating a World's Health Bank dashboard
    superset_init            | Loading [Birth names]
    superset_init            | Creating some slices
    superset_init            | Creating a dashboard
    superset_init            | Loading [Unicode test data]
    superset_init            | Creating table [unicode_test] reference
    superset_init            | Creating a slice
    superset_init            | Creating a dashboard
    superset_init            | Loading [Random time series data]
    superset_init            | Creating table [random_time_series] reference
    superset_init            | Creating a slice
    superset_init            | Loading [Random long/lat data]
    superset_init            | Creating table reference
    superset_init            | Creating a slice
    superset_init            | Loading [Country Map data]
    superset_init            | Creating table reference
    superset_init            | Creating a slice
    superset_init            | Loading [Multiformat time series]
    superset_init            | Creating table [multiformat_time_series] reference
    superset_init            | Creating Heatmap charts
    superset_init            | Loading [Paris GeoJson]
    superset_init            | Creating table paris_iris_mapping reference
    superset_init            | Loading [San Francisco population polygons]
    superset_init            | Creating table sf_population_polygons reference
    superset_init            | Loading [Flights data]
    superset_init            | Done loading table!
    superset_init            | Loading [BART lines]
    superset_init            | Creating table bart_lines reference
    superset_init            | Loading [Multi Line]
    superset_init            | Creating table [wb_health_population] reference
    superset_init            | Creating slices
    superset_init            | Creating a World's Health Bank dashboard
    superset_init            | Creating some slices
    superset_init            | Creating a dashboard
    superset_init            | Loading [Misc Charts] dashboard
    superset_init            | Creating the dashboard
    superset_init            | Loading DECK.gl demo
    superset_init            | Loading deck.gl dashboard
    superset_init            | Creating Scatterplot slice
    superset_init            | Creating Screen Grid slice
    superset_init            | Creating Hex slice
    superset_init            | Creating Grid slice
    superset_init            | Creating Polygon slice
    superset_init            | Creating Arc slice
    superset_init            | Creating Path slice
    superset_init            | Creating a dashboard
    superset_init            | Loading [Tabbed dashboard]
    superset_init            | Creating a dashboard with nested tabs
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 3/4 [Complete] -- Loading examples
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 4/4 [Starting] -- Setting up roles and perms
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | INFO:superset.utils.logging_configurator:logging was configured successfully
    superset_init            | /usr/local/lib/python3.6/site-packages/flask_caching/__init__.py:189: UserWarning: Flask-Caching: CACHE_TYPE is set to null, caching is effectively disabled.
    superset_init            |   "Flask-Caching: CACHE_TYPE is set to null, "
    superset_init            | INFO:superset.security.manager:Syncing role definition
    superset_init            | INFO:superset.security.manager:Syncing Admin perms
    superset_init            | INFO:superset.security.manager:Syncing Alpha perms
    superset_init            | INFO:superset.security.manager:Syncing Gamma perms
    superset_init            | INFO:superset.security.manager:Syncing granter perms
    superset_init            | INFO:superset.security.manager:Syncing sql_lab perms
    superset_init            | INFO:superset.security.manager:Fetching a set of all perms to lookup which ones are missing
    superset_init            | INFO:superset.security.manager:Creating missing datasource permissions.
    superset_init            | INFO:superset.security.manager:Creating missing database permissions.
    superset_init            | INFO:superset.security.manager:Creating missing metrics permissions
    superset_init            | INFO:superset.security.manager:Cleaning faulty perms
    superset_init            | Loaded your LOCAL configuration at [/app/pythonpath/superset_config.py]
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init            | 
    superset_init            | Init Step 4/4 [Complete] -- Setting up roles and perms
    superset_init            | 
    superset_init            | 
    superset_init            | ######################################################################
    superset_init            | 
    superset_init exited with code 0
    superset_app             | 127.0.0.1 - - [21/May/2020 19:17:54] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:17:54] "GET /health HTTP/1.1" 200 -
    superset_node            | npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
    superset_node            | npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
    superset_app             | 172.18.0.1 - - [21/May/2020 19:18:15] "GET / HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:18:15] "GET / HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:18:15] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:18:15] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:18:15] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:18:15] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:18:19] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:18:19] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:18:19] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:18:19] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:18:24] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:18:24] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:18:55] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:18:55] "GET /health HTTP/1.1" 200 -
    superset_node            | npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
    superset_node            | npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
    superset_app             | 127.0.0.1 - - [21/May/2020 19:19:25] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:19:25] "GET /health HTTP/1.1" 200 -
    superset_node            | /usr/local/bin/webpack -> /usr/local/lib/node_modules/webpack/bin/webpack.js
    superset_node            | /usr/local/bin/webpack-cli -> /usr/local/lib/node_modules/webpack-cli/bin/cli.js
    superset_node            | npm WARN notsup Unsupported engine for [email protected]: wanted: {"node":"<8.10.0"} (current: {"node":"10.20.1","npm":"6.14.4"})
    superset_node            | npm WARN notsup Not compatible with your version of node/npm: [email protected]
    superset_node            | npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/webpack/node_modules/chokidar/node_modules/fsevents):
    superset_node            | npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    superset_node            | npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/webpack/node_modules/watchpack-chokidar2/node_modules/chokidar/node_modules/fsevents):
    superset_node            | npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
    superset_node            | 
    superset_node            | + [email protected]
    superset_node            | + [email protected]
    superset_node            | updated 2 packages in 123.688s
    superset_app             | 127.0.0.1 - - [21/May/2020 19:19:55] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:19:55] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:20:25] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:20:25] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:20:56] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:20:56] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:21:26] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:21:26] "GET /health HTTP/1.1" 200 -
    superset_node            | npm WARN tarball tarball data for [email protected] (sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==) seems to be corrupted. Trying one more time.
    superset_app             | 127.0.0.1 - - [21/May/2020 19:21:56] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:21:56] "GET /health HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET / HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET / HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /superset/welcome HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /superset/welcome HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /login/ HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /login/ HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/datepicker/bootstrap-datepicker.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/datepicker/bootstrap-datepicker.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/flags/flags16.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/flags/flags16.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/select2/select2.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/select2/select2.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/ab.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/ab.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/font-awesome.min.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/font-awesome.min.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/bootstrap.min.css HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/css/bootstrap.min.css HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab_filters.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab_filters.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab_actions.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab_actions.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/jquery-latest.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/jquery-latest.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/bootstrap.min.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/bootstrap.min.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/datepicker/bootstrap-datepicker.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/datepicker/bootstrap-datepicker.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/img/flags/flags16.png HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/img/flags/flags16.png HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/js/ab.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/select2/select2.js HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:14] "GET /static/appbuilder/select2/select2.js HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:15] "GET /static/appbuilder/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:15] "GET /static/appbuilder/fonts/fontawesome-webfont.woff2?v=4.7.0 HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:15] "GET /static/assets/images/favicon.png HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:15] "GET /static/assets/images/favicon.png HTTP/1.1" 404 -
    superset_node            | npm WARN tarball tarball data for [email protected] (sha512-sSfUD4WrqKDoGsGjeY/ih2kbl/HqunGzdAr4NL8Q1qHSAyGMvev3jABbsMvK9wJGmnGuGhIzgxX9kCbUsYcnwg==) seems to be corrupted. Trying one more time.
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:22] "POST /login/ HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:22] "POST /login/ HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:22] "GET /login/ HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:22] "GET /login/ HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:22] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:22] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:22:26] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:22:26] "GET /health HTTP/1.1" 200 -
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/brace-3d4c8edd/mode/perl.js'
    superset_node            | npm WARN tarball tarball data for [email protected] (sha512-YYVO8jUSf6+SakL4AJmx9Jc7zAZhkJQ+WhdtX3VQe5PJdCOX6/ybY4x1vk+h94ePnjRn6uml68+QxTAJneUpvA==) seems to be corrupted. Trying one more time.
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/moment-c2e9eafd/min/moment-with-locales.min.js'
    superset_node            | npm WARN The package @types/classnames is included as both a dev and production dependency.
    superset_node            | npm WARN The package @types/react-json-tree is included as both a dev and production dependency.
    superset_node            | 
    superset_node            | npm ERR! code EAI_AGAIN
    superset_node            | npm ERR! errno EAI_AGAIN
    superset_node            | npm ERR! request to https://registry.npmjs.org/h3-js/-/h3-js-3.6.3.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-9ca519da/client/library.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/datamaps-264ee032/src/js/data/hrv.topo.json'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/proposals/using-statement.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/es/array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/es/array/virtual/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/es/instance/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/es/object/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/es/typed-array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/features/array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/features/array/virtual/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/features/instance/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/features/object/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/features/typed-array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/stable/array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/stable/array/virtual/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/stable/instance/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/stable/object/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/stable/typed-array/values.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.dom-collections.for-each.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.dom-collections.iterator.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.immediate.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.queue-microtask.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.timers.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.url-search-params.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/core-js-pure-60e0faf5/modules/web.url.js'
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/babel-polyfill-0be08a64/dist/polyfill.min.js'
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:52] "POST /login/ HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:52] "POST /login/ HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:52] "GET /login/ HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:52] "GET /login/ HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:52] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:52] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:22:57] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:22:57] "GET /health HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:58] "POST /login/ HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:58] "POST /login/ HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:58] "GET /login/ HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:58] "GET /login/ HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:22:58] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:22:58] "GET /static/assets/images/[email protected] HTTP/1.1" 404 -
    superset_node            | npm WARN tar ENOENT: no such file or directory, open '/app/superset-frontend/node_modules/.staging/ansi-colors-2f753b4b/symbols.js'
    superset_node            | 
    superset_node            | npm ERR! A complete log of this run can be found in:
    superset_node            | npm ERR!     /root/.npm/_logs/2020-05-21T19_22_41_844Z-debug.log
    superset_node exited with code 1
    superset_app             | 172.18.0.1 - - [21/May/2020 19:23:04] "POST /login/ HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:23:04] "POST /login/ HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:23:04] "GET / HTTP/1.1" 302 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:23:04] "GET / HTTP/1.1" 302 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:23:05] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:23:05] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:23:05] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:23:05] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:23:27] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:23:27] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:23:57] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:23:57] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:24:27] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:24:27] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:24:58] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:24:58] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:25:28] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:25:28] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:25:58] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:25:58] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:26:28] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:26:28] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:26:58] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:26:58] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:27:29] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:27:29] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:27:59] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:27:59] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:28:29] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:28:29] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:28:59] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:28:59] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:29:29] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:29:29] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:30:00] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:30:00] "GET /health HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:30:14] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:30:14] "GET /superset/welcome HTTP/1.1" 200 -
    superset_app             | 172.18.0.1 - - [21/May/2020 19:30:14] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | INFO:werkzeug:172.18.0.1 - - [21/May/2020 19:30:14] "GET /static/assets/images/loading.gif HTTP/1.1" 404 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:30:30] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:30:30] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:31:00] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:31:00] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:31:30] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:31:30] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:32:01] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:32:01] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:32:31] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:32:31] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:33:01] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:33:01] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:33:31] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:33:31] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:34:02] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:34:02] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:34:32] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:34:32] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:35:02] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:35:02] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:35:32] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:35:32] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:36:02] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:36:02] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:36:33] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:36:33] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:37:03] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:37:03] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:37:33] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:37:33] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:38:03] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:38:03] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:38:34] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:38:34] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:39:04] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:39:04] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:39:34] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:39:34] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:40:04] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:40:04] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:40:34] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:40:34] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:41:05] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:41:05] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:41:35] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:41:35] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:42:05] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:42:05] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:42:35] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:42:35] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:43:06] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:43:06] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:43:36] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:43:36] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:44:06] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:44:06] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:44:36] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:44:36] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:45:06] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:45:06] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:45:37] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:45:37] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:46:07] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:46:07] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:46:37] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:46:37] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:47:07] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:47:07] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:47:38] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:47:38] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:48:08] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:48:08] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:48:38] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:48:38] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:49:08] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:49:08] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:49:39] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:49:39] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:50:09] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:50:09] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:50:39] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:50:39] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:51:09] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:51:09] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:51:40] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:51:40] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:52:10] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:52:10] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:52:40] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:52:40] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:53:10] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:53:10] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:53:40] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:53:40] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:54:11] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:54:11] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:54:41] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:54:41] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:55:11] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:55:11] "GET /health HTTP/1.1" 200 -
    superset_cache           | 1:M 21 May 19:55:37.863 * 100 changes in 300 seconds. Saving...
    superset_cache           | 1:M 21 May 19:55:37.863 * Background saving started by pid 16
    superset_cache           | 16:C 21 May 19:55:37.866 * DB saved on disk
    superset_cache           | 16:C 21 May 19:55:37.867 * RDB: 0 MB of memory used by copy-on-write
    superset_cache           | 1:M 21 May 19:55:37.965 * Background saving terminated with success
    superset_app             | 127.0.0.1 - - [21/May/2020 19:55:41] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:55:41] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:56:12] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:56:12] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:56:42] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:56:42] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:57:12] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:57:12] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:57:42] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:57:42] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:58:13] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:58:13] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:58:43] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:58:43] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:59:13] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:59:13] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 19:59:43] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 19:59:43] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:00:14] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:00:14] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:00:44] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:00:44] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:01:14] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:01:14] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:01:44] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:01:44] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:02:14] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:02:14] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:02:45] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:02:45] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:03:15] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:03:15] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:03:45] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:03:45] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:04:15] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:04:15] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:04:46] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:04:46] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:05:16] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:05:16] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:05:46] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:05:46] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:06:16] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:06:16] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:06:47] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:06:47] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:07:17] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:07:17] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:07:47] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:07:47] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:08:17] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:08:17] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:08:48] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:08:48] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:09:18] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:09:18] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:09:48] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:09:48] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:10:18] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:10:18] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:10:48] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:10:48] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:11:19] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:11:19] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:11:49] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:11:49] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:12:19] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:12:19] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:12:49] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:12:49] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:13:20] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:13:20] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:13:50] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:13:50] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:14:20] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:14:20] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:14:50] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:14:50] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:15:21] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:15:21] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:15:51] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:15:51] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:16:21] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:16:21] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:16:51] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:16:51] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:17:22] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:17:22] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:17:52] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:17:52] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:18:22] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:18:22] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:18:52] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:18:52] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:19:23] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:19:23] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:19:53] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:19:53] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:20:23] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:20:23] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:20:53] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:20:53] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:21:24] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:21:24] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:21:54] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:21:54] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:22:24] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:22:24] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:22:54] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:22:54] "GET /health HTTP/1.1" 200 -
    superset_app             | 127.0.0.1 - - [21/May/2020 20:23:25] "GET /health HTTP/1.1" 200 -
    superset_app             | INFO:werkzeug:127.0.0.1 - - [21/May/2020 20:23:25] "GET /health HTTP/1.1" 200 -
    '
    
    !deprecated-label:bug install:docker 
    opened by smirs 46
  • [SIP-29] Add support for row-level security

    [SIP-29] Add support for row-level security

    [SIP-29] Proposal to add support for row-level security

    Motivation

    Many BI applications, particularly in multi-tenancy scenarios, require support for row-level security. That is, the ability to show different slices of a table to users based on some user attribute.

    This feature has been requested in Superset several times, including: https://github.com/apache/incubator-superset/issues/660 https://github.com/apache/incubator-superset/issues/5128 https://github.com/apache/incubator-superset/issues/7887 https://github.com/apache/incubator-superset/issues/8023

    Proposed Change

    Primarily, this feature would require two sub-features:

    1. The ability to add user attributes
    2. The ability to filter queries based on these attributes

    The proposed solution would be to add an 'attributes' property to roles that would essentially be a user-defined key-value store: Screenshot 2019-11-24 02 35 54

    and to make those role attributes available as values for Query Filters: Screenshot 2019-11-24 02 38 26

    New or Changed Public Interfaces

    • New 'attributes' property added to roles
    • Changes to Query Filters to allow access to attribute values (e.g by macros like WHERE column={{role.attributes.key}}
    • Minor UI changes associated with the above

    New dependencies

    N/A

    Migration Plan and Compatibility

    TBD

    Rejected Alternatives

    Pre-processing data into multiple tables or views:

    • This solution does not scale well, and requires all attribute values to be known a priori
    • Requires duplicate dashboards and charts

    Reverse proxy

    • Issues with identifying the user initiating the query
    enhancement:request inactive 
    opened by justin-barton 45
  • Add support for Apache Drill

    Add support for Apache Drill

    This is the first attempt at support for Apache Drill in Superset. This uses John Omernik's SQLAlchemy dialect (https://github.com/JohnOmernik/sqlalchemy-drill).

    Drill has a unique aspect in its namespace which proved problematic. Drill uses the concepts of:

    • Storage Plugin
    • Workspace
    • Table (or file)

    When connecting to Drill to a non-file based system, the behavior is pretty much as a traditional database. However, when Drill is querying a file based system, you can have additional . in the namespace that are not namespace related. For example:

    dfs.test.`data.json`
    

    In this case, the storage plugin is dfs, the workspace which is optional is test, and the table, which in this case is a file, is data.json. In this case however, the last period is not part of the namespace and was consistently misinterpreted by Superset.

    The solution I found, which seemed like complete hackery, was to replace the last period with @@@ in the dropdown in SQLlab. Then I modified view/core.py to replace the @@@ with a period in the various functions that generate tables.

    UPDATE: All Hackery Removed

    enhancement:request change:backend size/M 
    opened by cgivre 45
  • Not able to increase superset row limit in table chart

    Not able to increase superset row limit in table chart

    There is a table chart and the total count of the dataset is 50000000. I tried to increase the row_limit value (more than 10 000) and there is nothing changed in the superset.

    I have changed these values in config.py file :

    ROW_LIMIT = 50000000 SAMPLES_ROW_LIMIT = 50000000 FILTER_SELECT_ROW_LIMIT = 50000000 QUERY_SEARCH_LIMIT = 50000000 SQL_MAX_ROW = 500000000 DISPLAY_MAX_ROW = 50000000 DEFAULT_SQLLAB_LIMIT = 50000000

    image

    Superset version : 1.5.0. Please help me to fix this issue.

    #bug 
    opened by k20ameer 0
  • build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.48.0 in /superset-websocket

    build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.45.0 to 5.48.0 in /superset-websocket

    Bumps @typescript-eslint/eslint-plugin from 5.45.0 to 5.48.0.

    Release notes

    Sourced from @​typescript-eslint/eslint-plugin's releases.

    v5.48.0

    5.48.0 (2023-01-02)

    Bug Fixes

    Features

    • eslint-plugin: specify which method is unbound and added test case (#6281) (cf3ffdd)

    v5.47.1

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    v5.47.0

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    v5.46.1

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/typescript-eslint

    v5.46.0

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    v5.45.1

    5.45.1 (2022-12-05)

    ... (truncated)

    Changelog

    Sourced from @​typescript-eslint/eslint-plugin's changelog.

    5.48.0 (2023-01-02)

    Features

    • eslint-plugin: specify which method is unbound and added test case (#6281) (cf3ffdd)

    5.47.1 (2022-12-26)

    Bug Fixes

    • ast-spec: correct some incorrect ast types (#6257) (0f3f645)
    • eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

    5.47.0 (2022-12-19)

    Features

    • eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

    5.46.1 (2022-12-12)

    Note: Version bump only for package @​typescript-eslint/eslint-plugin

    5.46.0 (2022-12-08)

    Bug Fixes

    • eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

    Features

    • eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

    5.45.1 (2022-12-05)

    Bug Fixes

    • eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
    • eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
    • eslint-plugin: [prefer-optional-chain] collect MetaProperty type (#6083) (d7114d3)
    • eslint-plugin: [sort-type-constituents, sort-type-union-intersection-members] handle some required parentheses cases in the fixer (#6118) (5d49d5d)
    Commits
    • 4ab9bd7 chore: publish v5.48.0
    • cf3ffdd feat(eslint-plugin): specify which method is unbound and added test case (#6281)
    • 6ffce79 chore: publish v5.47.1
    • 0f3f645 fix(ast-spec): correct some incorrect ast types (#6257)
    • ccd45d4 fix(eslint-plugin): [member-ordering] correctly invert optionalityOrder (#6256)
    • a2c08ba chore: publish v5.47.0
    • 9e35ef9 feat(eslint-plugin): [no-floating-promises] add suggestion fixer to add an 'a...
    • 6b3ed1d docs: fixed typo "foo.property" (#6180)
    • c943b84 chore: publish v5.46.1
    • 47241bb docs: overhaul branding and add new logo (#6147)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    size/XS dependabot npm 
    opened by dependabot[bot] 1
  • fix(sqllab): remove link to sqllab if missing perms

    fix(sqllab): remove link to sqllab if missing perms

    SUMMARY

    Currently the View

    AFTER

    Now when a user that doesn't have the sql_lab role will no longer see the "View in SQL Lab" menu item:

    image

    For admin and users with sql_lab role the menu is unchanged:

    image

    When attempting to access SQL Lab without correct perms via a direct URL, the user gets redirected to the welcome page with an error toast:

    https://user-images.githubusercontent.com/33317356/210344224-acc7bf45-7c6d-46ef-a15e-67a9111a1681.mp4

    Note that due to the way we're currently caching bootstrap data, toasts don't always appear correctly (they can appear delayed or not get cleared after displaying). I will follow up separately to fix this.

    TESTING INSTRUCTIONS

    ADDITIONAL INFORMATION

    • [ ] Has associated issue:
    • [ ] Required feature flags:
    • [ ] Changes UI
    • [ ] Includes DB Migration (follow approval process in SIP-59)
      • [ ] Migration is atomic, supports rollback & is backwards-compatible
      • [ ] Confirm DB migration upgrade and downgrade tested
      • [ ] Runtime estimates and downtime expectations provided
    • [ ] Introduces new feature or API
    • [ ] Removes existing feature or API
    size/L 
    opened by villebro 5
  • Error message: Excel file format cannot be determined, you must specify an engine manually, while uploading Excel file in superset

    Error message: Excel file format cannot be determined, you must specify an engine manually, while uploading Excel file in superset

    A clear and concise description of what the bug is.

    How to reproduce the bug

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected results

    what you expected to happen.

    Actual results

    what actually happens.

    Screenshots

    If applicable, add screenshots to help explain your problem.

    Environment

    (please complete the following information):

    • browser type and version:
    • superset version: superset version
    • python version: python --version
    • node.js version: node -v
    • any feature flags active:

    Checklist

    Make sure to follow these steps before submitting your issue - thank you!

    • [ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
    • [ ] I have reproduced the issue with at least the latest released version of superset.
    • [ ] I have checked the issue tracker for the same issue and I haven't found one similar.

    Additional context

    Add any other context about the problem here.

    #bug 
    opened by Raj2598 0
  • build(deps): bump json5 from 2.2.0 to 2.2.2 in /superset-embedded-sdk

    build(deps): bump json5 from 2.2.0 to 2.2.2 in /superset-embedded-sdk

    Bumps json5 from 2.2.0 to 2.2.2.

    Release notes

    Sourced from json5's releases.

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Changelog

    Sourced from json5's changelog.

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
    Commits
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • d720b4f Improve readme (e.g. explain JSON5 better!) (#291)
    • 910ce25 docs: fix spelling of Aseem
    • 2aab4dd test: require tap as t in cli tests
    • 6d42686 test: remove mocha syntax from tests
    • 4798b9d docs: update installation and usage for modules
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    .dependency size/XS javascript 
    opened by dependabot[bot] 0
  • build(deps): bump json5 from 2.1.3 to 2.2.2 in /superset-frontend/cypress-base

    build(deps): bump json5 from 2.1.3 to 2.2.2 in /superset-frontend/cypress-base

    Bumps json5 from 2.1.3 to 2.2.2.

    Release notes

    Sourced from json5's releases.

    v2.2.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)
    Changelog

    Sourced from json5's changelog.

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)
    Commits
    • 14f8cb1 2.2.2
    • 10cc7ca docs: update CHANGELOG for v2.2.2
    • 7774c10 fix: add proto to objects and arrays
    • edde30a Readme: slight tweak to intro
    • 97286f8 Improve example in readme
    • d720b4f Improve readme (e.g. explain JSON5 better!) (#291)
    • 910ce25 docs: fix spelling of Aseem
    • 2aab4dd test: require tap as t in cli tests
    • 6d42686 test: remove mocha syntax from tests
    • 4798b9d docs: update installation and usage for modules
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    .dependency size/XS javascript 
    opened by dependabot[bot] 0
Releases(2.0.1)
  • 2.0.1(Dec 20, 2022)

    Hello Community,

    The Apache Superset team is pleased to announce that Superset 2.0.1 has just been released.

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

    The official source release:

    https://www.apache.org/dist/superset/2.0.1

    The PyPI package:

    https://pypi.org/project/apache-superset/

    If you have any usage questions or have problems when upgrading or find any issues with enhancements included in this release, please don't hesitate to let us know by sending feedback to this mailing list.

    Source code(tar.gz)
    Source code(zip)
  • 2.0.1rc6(Dec 16, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.1.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.1rc6/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.1rc6

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.1rc6/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.1rc6/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • 2.0.1rc5(Dec 9, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.1.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.1rc5/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.1rc5

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.1rc5/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.1rc5/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • 2.0.1rc4(Nov 23, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.1.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.1rc4/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.1rc4

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.1rc4/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.1rc4/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • superset-helm-chart-0.7.7(Nov 9, 2022)

  • superset-helm-chart-0.7.6(Oct 29, 2022)

  • 2.0.1rc2(Oct 24, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.1.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.1rc2/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.1rc2

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.1rc2/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.1rc2/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    Source code(tar.gz)
    Source code(zip)
  • 2.0.1rc1(Oct 7, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.1.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.1rc1/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.1rc1

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.1rc1/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.1rc1/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
    apache-superset-2.0.1rc1-source.tar.gz(73.98 MB)
  • superset-helm-chart-0.7.4(Sep 22, 2022)

  • superset-helm-chart-0.7.3(Sep 21, 2022)

  • 1.5.2(Sep 27, 2022)

    Hello Community,

    The Apache Superset team is pleased to announce that Superset 1.5.2 has just been released.

    Apache Superset is a modern, enterprise-ready business intelligence web application.

    The official source release:

    https://www.apache.org/dist/superset/1.5.2

    The PyPI package:

    https://pypi.org/project/apache-superset/1.5.2/

    If you have any usage questions, or have problems when upgrading or find any problems about enhancements included in this release, please don't hesitate to let us know by sending feedback to this mailing list.

    Source code(tar.gz)
    Source code(zip)
  • 1.5.2rc3(Sep 14, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 1.5.2.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/1.5.2rc3/

    Git tag for the release: https://github.com/apache/superset/tree/1.5.2rc3

    The Change Log for the release: https://github.com/apache/superset/blob/1.5.2rc3/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/1.5.2rc3/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • 1.5.2rc2(Sep 7, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 1.5.2.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/1.5.2rc2/

    Git tag for the release: https://github.com/apache/superset/tree/1.5.2rc2

    The Change Log for the release: https://github.com/apache/superset/blob/1.5.2rc2/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/1.5.2rc2/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • 1.5.2rc1(Aug 31, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 1.5.2.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/1.5.2rc1/

    Git tag for the release: https://github.com/apache/superset/tree/1.5.2rc1

    The Change Log for the release: https://github.com/apache/superset/blob/1.5.2rc1/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/1.5.2rc1/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • superset-helm-chart-0.7.2(Aug 30, 2022)

  • superset-helm-chart-0.7.1(Aug 8, 2022)

  • superset-helm-chart-0.7.0(Aug 1, 2022)

  • superset-helm-chart-0.6.6(Jul 25, 2022)

  • superset-helm-chart-0.6.5(Jul 11, 2022)

  • 2.0.0(Jul 14, 2022)

    Hello Community,

    The Apache Superset team is pleased to announce that Superset 2.0.0 has just been released.

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

    The official source release:

    https://www.apache.org/dist/superset/2.0.0

    The PyPI package:

    https://pypi.org/project/apache-superset/

    If you have any usage questions or have problems when upgrading or find any issues with enhancements included in this release, please don't hesitate to let us know by sending feedback to this mailing list.


    To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0rc2(Jul 6, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.0.

    Here’s the list of new cherries since the previous release candidate:

    • #20382 fix: Allow dataset owners to explore their datasets (@reesercollins)
    • #20419 fix(embedded): Retry when executing alert queries to avoid sending transient errors to users as alert failure notifications (@zhaorui2022)
    • #20555 fix: Respecting max/min opacities, and adding tests. (@rusackas)
    • #20571 fix: Revert #20408 (stacking negative values in echarts bar chart) (@rusackas)
    • #20487 fix(database-modal): form in database model effects results of the database list (@stephenLYZ)
    • #20488 fix(big-number): big number gets cut off on a Dashboard (@stephenLYZ)
    • #16326 fix: SQL Lab cancel query in Redshift database connection does not wo… (@yourssvk)
    • #20362 fix: Unable to download the Dashboard as image in case there's an image added through Markdown (@diegomedina248)
    • #20620 docs: fix link for Apache Superset source code (@dpgaspar)
    • #20621 chore: bump FAB to 4.1.3 (@dpgaspar)
    • #20486 chore: Updated copy in chart drop down to "View as table" (@lauderbaugh)

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.0rc2/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.0rc2

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.0rc2/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.0rc2/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • superset-helm-chart-0.6.4(Jul 5, 2022)

  • 2.0.0rc1(Jun 29, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 2.0.0.

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/2.0.0rc1/

    Git tag for the release: https://github.com/apache/superset/tree/2.0.0rc1

    The Change Log for the release: https://github.com/apache/superset/blob/2.0.0rc1/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/2.0.0rc1/UPDATING.md

    Public keys are available at: https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • superset-helm-chart-0.6.3(Jun 10, 2022)

  • 1.5.1(Jun 8, 2022)

    Hello Community,

    The Apache Superset team is pleased to announce that Superset 1.5.1 has just been released.

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

    The official source release:

    https://www.apache.org/dist/superset/1.5.1

    The PyPI package:

    https://pypi.org/project/apache-superset/

    If you have any usage questions or have problems when upgrading or find any issues with enhancements included in this release, please don't hesitate to let us know by sending feedback to this mailing list.

    Source code(tar.gz)
    Source code(zip)
  • 1.5.1rc1(May 27, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 1.5.1.

    New cherries since 1.5.0:

    • #19685 fix: login button does not render (@villebro)
    • #20181 fix(temporary-cache): when user is anonymous (@villebro)
    • #20091 fix: "Week Staring Monday" time grain for BigQuery (@ramunas-omnisend)
    • #20135 fix: Allow dataset owners to see their datasets (@cccs-tom)
    • #20123 fix(presto,trino): use correct literal dttm separator (@villebro)
    • #20077 fix(generic-axes): apply contribution before flatten (@villebro)
    • #19970 fix: Athena timestamp literal format (@thinhnd2104)
    • #20055 fix(plugin-chart-echarts): support adhoc x-axis (@villebro)
    • #18873 fix(sqllab/charts): casting from timestamp[us] to timestamp[ns] would result in out of bounds timestamp (@yeachan153)
    • #19917 fix(sqla): replace custom dttm type with literal_column (@villebro)
    • #19854 fix: Alpha should not be able to edit datasets that they don't own (@hughhhh)

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/1.5.1rc1/

    Git tag for the release: https://github.com/apache/superset/tree/1.5.1rc1

    The Change Log for the release: https://github.com/apache/superset/blob/1.5.1rc1/CHANGELOG.md

    The Updating instructions for the release: https://github.com/apache/superset/blob/1.5.1rc1/UPDATING.md

    public keys are available at:

    https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
  • superset-helm-chart-0.6.2(May 25, 2022)

  • superset-helm-chart-0.6.1(Apr 28, 2022)

  • 1.5.0(Apr 28, 2022)

    Hello Community,

    The Apache Superset team is pleased to announce that Superset 1.5.0 has just been released.

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

    The official source release:

    https://www.apache.org/dist/superset/1.5.0

    The Pypi package:

    https://pypi.org/project/apache-superset/1.5.0

    Release notes:

    https://github.com/apache/superset/tree/master/RELEASING/release-notes-1-5

    If you have any usage questions, or have problems when upgrading or find any problems about enhancements included in this release, please don't hesitate to let us know by sending feedback to this mailing list.


    To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

    Source code(tar.gz)
    Source code(zip)
  • 1.5.0rc4(Apr 25, 2022)

    Hello Superset Community,

    This is a call for the vote to release Apache Superset version 1.5.0 Here’s the list of new cherries since the previous release candidate:

    • #19776: feat: add renameOperator (@zhaoyongjie)
    • #19448 fix(sql lab): when editing a saved query, the status is lost when switching tabs (@diegomedina248)
    • #19806 fix(plugin-chart-table): Fix display of column config in table chart (@kgabryje)
    • #19802 fix: lost renameOperator in mixed timeseries chart (@zhaoyongjie)
    • #19765 fix(chart & explore): Show labels for SliderControl (@prosdev0107)
    • #16619 fix: dashboard standalone class not added when parameter set (@trepmag)
    • #19783 fix: SQL Lab UI Error: Objects are not valid as a React child (@diegomedina248)
    • #19370 fix(sql lab): replace the output column in the query history table (@diegomedina248)
    • #19772 fix(dashboard): copy permalink to dashboard chart (@villebro)
    • #19603 fix(explore): make to show the null value as N/A in view result (@prosdev0107)
    • #19749 fix(permalink): remove memoize on get salt func (@villebro)
    • #19698 fix: Filter dependencies are not being applied in default values (@michael-s-molina)
    • #19732 chore: Clean redundant dependency from useMemo dep array (@kgabryje)

    The release notes (unchanged since rc3): https://github.com/apache/superset/tree/master/RELEASING/release-notes-1-5

    The release candidate: https://dist.apache.org/repos/dist/dev/superset/1.5.0rc4/

    Git tag for the release: https://github.com/apache/superset/tree/1.5.0rc4

    The Change Log for the release: https://github.com/apache/superset/blob/1.5.0rc4/CHANGELOG.md

    The Updating instructions for the release (unchanged since rc3): https://github.com/apache/superset/blob/1.5.0rc4/UPDATING.md

    public keys are available at:

    https://www.apache.org/dist/superset/KEYS

    The vote will be open for at least 72 hours or until the necessary number of votes are reached.

    Please vote accordingly:

    [ ] +1 approve [ ] +0 no opinion [ ] -1 disapprove with the reason

    Thanks, The Apache Superset Team

    Source code(tar.gz)
    Source code(zip)
Owner
The Apache Software Foundation
The Apache Software Foundation
This is a super simple visualization toolbox (script) for transformer attention visualization ✌

Trans_attention_vis This is a super simple visualization toolbox (script) for transformer attention visualization ✌ 1. How to prepare your attention m

Mingyu Wang 3 Jul 9, 2022
This repository contains a streaming Dataflow pipeline written in Python with Apache Beam, reading data from PubSub.

Sample streaming Dataflow pipeline written in Python This repository contains a streaming Dataflow pipeline written in Python with Apache Beam, readin

Israel Herraiz 9 Mar 18, 2022
Automatic data visualization in atom with the nteract data-explorer

Data Explorer Interactively explore your data directly in atom with hydrogen! The nteract data-explorer provides automatic data visualization, so you

Ben Russert 65 Dec 1, 2022
Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts

Data-FX Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts Currently, there are only 2 chart option

Landon Ferguson 20 Nov 21, 2022
Debugging, monitoring and visualization for Python Machine Learning and Data Science

Welcome to TensorWatch TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Micr

Microsoft 3.3k Dec 27, 2022
Exploratory analysis and data visualization of aircraft accidents and incidents in Brazil.

Exploring aircraft accidents in Brazil Occurrencies with aircraft in Brazil are investigated by the Center for Investigation and Prevention of Aircraf

Augusto Herrmann 5 Dec 14, 2021
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 3.1k Jan 8, 2023
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 2.3k Feb 13, 2021
Fast data visualization and GUI tools for scientific / engineering applications

PyQtGraph A pure-Python graphics library for PyQt5/PyQt6/PySide2/PySide6 Copyright 2020 Luke Campagnola, University of North Carolina at Chapel Hill h

pyqtgraph 2.3k Feb 17, 2021
Data Visualization Guide for Presentations, Reports, and Dashboards

This is a highly practical and example-based guide on visually representing data in reports and dashboards.

Anton Zhiyanov 395 Dec 29, 2022
Squidpy is a tool for the analysis and visualization of spatial molecular data.

Squidpy is a tool for the analysis and visualization of spatial molecular data. It builds on top of scanpy and anndata, from which it inherits modularity and scalability. It provides analysis tools that leverages the spatial coordinates of the data, as well as tissue images if available.

Theis Lab 251 Dec 19, 2022
Rick and Morty Data Visualization with python

Rick and Morty Data Visualization For this project I looked at data for the TV show Rick and Morty Number of Episodes at a Certain Location Here is th

null 7 Aug 29, 2022
Homework 2: Matplotlib and Data Visualization

Homework 2: Matplotlib and Data Visualization Overview These data visualizations were created for my introductory computer science course using Python

Sophia Huang 12 Oct 20, 2022
Peloton Stats to Google Sheets with Data Visualization through Seaborn and Plotly

Peloton Stats to Google Sheets with Data Visualization through Seaborn and Plotly Problem: 2 peloton users were looking for a way to track their metri

null 9 Jul 22, 2022
Active Transport Analytics Model (ATAM) is a new strategic transport modelling and data visualization framework for Active Transport as well as emerging micro-mobility modes

{ATAM} Active Transport Analytics Model Active Transport Analytics Model (“ATAM”) is a new strategic transport modelling and data visualization framew

Peter Stephan 0 Jan 12, 2022
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 17.1k Dec 31, 2022
Statistical data visualization using matplotlib

seaborn: statistical data visualization Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing

Michael Waskom 10.2k Dec 30, 2022
Statistical data visualization using matplotlib

seaborn: statistical data visualization Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing

Michael Waskom 8.1k Feb 13, 2021
Interactive Data Visualization in the browser, from Python

Bokeh is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords hi

Bokeh 14.7k Feb 13, 2021