diff --git a/.github/workflows/license-check.yml b/.github/workflows/license-check.yml
index 5494dec8fd5392b9d90d310d848ef888ff74da5b..3c569031977ae0955679485486b0b268e08a2ad2 100644
--- a/.github/workflows/license-check.yml
+++ b/.github/workflows/license-check.yml
@@ -19,7 +19,7 @@ jobs:
         FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
       run: |
         set -eo pipefail
-        if [[ "${{github.event_name}}" != "pull_request" ]]; then 
+        if [[ "${{github.event_name}}" != "pull_request" ]]; then
           ./scripts/fossa.sh
           exit 0
         fi
@@ -30,7 +30,7 @@ jobs:
         cat<<EOF
         CHANGED FILES:
         $FILES
-        
+
         EOF
 
         if [[ "${FILES}" =~ (.*package*\.json|requirements.*\.txt|setup\.py) ]]; then
diff --git a/.github/workflows/prefer_typescript.yml b/.github/workflows/prefer_typescript.yml
index 2572ef3b15fe87bfd399de6e127603775205edcc..d2fff6e4565b0404107cd014077ef04fc6cabce4 100644
--- a/.github/workflows/prefer_typescript.yml
+++ b/.github/workflows/prefer_typescript.yml
@@ -35,7 +35,7 @@ jobs:
         with:
           msg: |
             ### WARNING: Prefer TypeScript
-            
+
             Looks like your PR contains new `.js` or `.jsx` files:
 
             ```
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 22a6a0c1e6c10d42a73397d566bf78ba660eaee5..39b74e05b00f094891905a208f216d7e48f95832 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -39,4 +39,5 @@ repos:
     -   id: check-docstring-first
     -   id: check-added-large-files
     -   id: check-yaml
+        exclude: ^helm/superset/templates/
     -   id: debug-statements
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0640aecffc17199f5ee6df6ef771be004567e48a..bd0e1ea539e0d6a4daac9a8921a5977183b6f457 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -705,7 +705,7 @@ See [`superset-frontend/cypress_build.sh`](https://github.com/apache/incubator-s
 
 ### Storybook
 
-Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook:  
+Superset includes a [Storybook](https://storybook.js.org/) to preview the layout/styling of various Superset components, and variations thereof. To open and view the Storybook:
 
 ```bash
 cd superset-frontend
diff --git a/DISCLAIMER b/DISCLAIMER
index 3cf9282c3c329319b995df9b99511dba75e3fcbc..10a3408f679e8a25551ada02c873c029adc2785a 100644
--- a/DISCLAIMER
+++ b/DISCLAIMER
@@ -8,4 +8,4 @@ have stabilized in a manner consistent with other successful ASF projects.
 
 While incubation status is not necessarily a reflection of the completeness or
 stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.
\ No newline at end of file
+endorsed by the ASF.
diff --git a/INTHEWILD.md b/INTHEWILD.md
index c716221a3b277366ce9942eecb47fab989336c04..7ffa19464f45147656e511602978028605fc4c11 100644
--- a/INTHEWILD.md
+++ b/INTHEWILD.md
@@ -27,7 +27,7 @@ Join our growing community!
 
 
 ### Sharing Economy
-- [Airbnb](https://github.com/airbnb) 
+- [Airbnb](https://github.com/airbnb)
 - [Faasos](http://faasos.com/) [@shashanksingh]
 - [Hostnfly](https://www.hostnfly.com/) [@alexisrosuel]
 - [Lime](https://www.limebike.com/) [@cxmcc]
@@ -37,11 +37,11 @@ Join our growing community!
 - [Aktia Bank plc](https://www.aktia.com) [@villebro]
 - [American Express](https://www.americanexpress.com) [@TheLastSultan]
 - [Capital Service S.A.](http://capitalservice.pl) [@pkonarzewski]
-- [Clark.de](http://clark.de/) 
+- [Clark.de](http://clark.de/)
 
 ### Gaming
 - [Digit Game Studios](https://www.digitgaming.com/)
-- [Popoko VM Games Studio](https://popoko.live) 
+- [Popoko VM Games Studio](https://popoko.live)
 
 ### E-Commerce
 - [AiHello](https://www.aihello.com) [@ganeshkrishnan1]
@@ -52,7 +52,7 @@ Join our growing community!
 - [HuiShouBao](http://www.huishoubao.com/) [@Yukinoshita-Yukino]
 - [Now](https://www.now.vn/) [@davidkohcw]
 - [Qunar](https://www.qunar.com/) [@flametest]
-- [Rakuten Viki](https://www.viki.com) 
+- [Rakuten Viki](https://www.viki.com)
 - [Shopee](https://shopee.sg) [@xiaohanyu]
 - [Shopkick](https://www.shopkick.com) [@LAlbertalli]
 - [Tails.com](https://tails.com) [@alanmcruickshank]
@@ -66,25 +66,25 @@ Join our growing community!
 - [Cloudsmith](https://cloudsmith.io) [@alancarson]
 - [CnOvit](http://www.cnovit.com/) [@xieshaohu]
 - [Deepomatic](https://deepomatic.com/) [@Zanoellia]
-- [Dial Once](https://www.dial-once.com/) 
+- [Dial Once](https://www.dial-once.com/)
 - [Dremio](https://dremio.com) [@narendrans]
 - [ELMO Cloud HR & Payroll](https://elmosoftware.com.au/)
 - [Endress+Hauser](http://www.endress.com/) [@rumbin]
-- [FBK - ICT center](http://ict.fbk.eu) 
+- [FBK - ICT center](http://ict.fbk.eu)
 - [GfK Data Lab](http://datalab.gfk.com) [@mherr]
 - [GrowthSimple](https://growthsimple.ai/)
 - [Intercom](https://www.intercom.com/) [@kate-gallo]
-- [jampp](https://jampp.com/) 
+- [jampp](https://jampp.com/)
 - [KonfĂ­o](http://konfio.mx) [@uis-rodriguez]
 - [Myra Labs](http://www.myralabs.com/) [@viksit]
 - [Nielsen](http://www.nielsen.com/) [@amitNielsen]
 - [Ona](https://ona.io) [@pld]
 - [Peak AI](https://www.peak.ai/) [@azhar22k]
 - [PeopleDoc](https://www.people-doc.com) [@rodo]
-- [Preset, Inc.](https://preset.io) 
+- [Preset, Inc.](https://preset.io)
 - [Pronto Tools](http://www.prontotools.io) [@zkan]
 - [PubNub](https://pubnub.com) [@jzucker2]
-- [Reward Gateway](https://www.rewardgateway.com) 
+- [Reward Gateway](https://www.rewardgateway.com)
 - [ScopeAI](https://www.getscopeai.com) [@iloveluce]
 - [Showmax](https://tech.showmax.com) [@bobek]
 - [source{d}](https://www.sourced.tech) [@marnovo]
@@ -102,11 +102,11 @@ Join our growing community!
 - [Douban](https://www.douban.com/) [@luchuan]
 - [Kuaishou](https://www.kuaishou.com/) [@zhaoyu89730105]
 - [Netflix](https://www.netflix.com/)
-- [TME QQMUSIC/WESING](https://www.tencentmusic.com/) 
+- [TME QQMUSIC/WESING](https://www.tencentmusic.com/)
 - [Zaihang](http://www.zaih.com/)
 
 ### Education
-- [Brilliant.org](https://brilliant.org/) 
+- [Brilliant.org](https://brilliant.org/)
 - [Udemy](https://www.udemy.com/) [@sungjuly]
 - [VIPKID](https://www.vipkid.com.cn/) [@illpanda]
 
@@ -120,14 +120,13 @@ Join our growing community!
 - [Amino](https://amino.com) [@shkr]
 - [Living Goods](https://www.livinggoods.org) [@chelule]
 - [Maieutical Labs](https://maieuticallabs.it) [@xrmx]
-- [QPID Health](http://www.qpidhealth.com/) 
+- [QPID Health](http://www.qpidhealth.com/)
 - [TrustMedis](https://trustmedis.com) [@famasya]
 - [WeSure](https://www.wesure.cn/)
 
 ### Others
- - [Grassroot](https://www.grassrootinstitute.org/) 
+ - [Grassroot](https://www.grassrootinstitute.org/)
  - [komoot](https://www.komoot.com/) [@christophlingg]
- - [Let's Roam](https://www.letsroam.com/) 
- - [Twitter](https://twitter.com/) 
- - [Yahoo!](https://yahoo.com/) 
- 
+ - [Let's Roam](https://www.letsroam.com/)
+ - [Twitter](https://twitter.com/)
+ - [Yahoo!](https://yahoo.com/)
diff --git a/LICENSE.txt b/LICENSE.txt
index bc58fdc9ddbfc29efa6e06d8cd282f46cf92f7ed..56313ab5a54a163e7d46224cb5470a814c3a2436 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -213,4 +213,4 @@ Third party SIL Open Font License v1.1 (OFL-1.1)
 ========================================================================
 
 (SIL OPEN FONT LICENSE Version 1.1) The Inter font family (https://github.com/rsms/inter)
-(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
\ No newline at end of file
+(SIL OPEN FONT LICENSE Version 1.1) The Fira Code font family (https://github.com/tonsky/FiraCode)
diff --git a/docker/README.md b/docker/README.md
index caed1a7b03566d6214088e0d46dd2ae026ae20ba..0579f1051300b8d36a16e75e611c3988428cef99 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -19,7 +19,7 @@ under the License.
 
 # Getting Started with Superset using Docker
 
-Docker is an easy way to get started with Superset. 
+Docker is an easy way to get started with Superset.
 
 ## Prerequisites
 
@@ -28,8 +28,8 @@ Docker is an easy way to get started with Superset.
 
 ## Configuration
 
-The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev) 
-which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py) 
+The `/app/pythonpath` folder is mounted from [./docker/pythonpath_dev](./docker/pythonpath_dev)
+which contains a base configuration [./docker/pythonpath/superset_config.py](./docker/pythonpath/superset_config.py)
 intended for use with local development.
 
 ### Local overrides
@@ -62,7 +62,7 @@ To run the container, simply run:
 docker-compose up
 ```
 
-After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088) 
+After several minutes for superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
 to start your journey.
 
 ## Developing
diff --git a/docs/import_export_datasources.rst b/docs/import_export_datasources.rst
index 9c786cef807c4c33bb9e592b28c293556765d040..29ebff6ccda31a7cd7de0ee11e3128fe63b58b19 100644
--- a/docs/import_export_datasources.rst
+++ b/docs/import_export_datasources.rst
@@ -122,4 +122,3 @@ by saving the following YAML to file and then running the ``import_datasources``
         columns:
         - column_name: ds
           verbose_name: datetime
-
diff --git a/docs/security.rst b/docs/security.rst
index 29afdce5fed931d2341eb825c3c96702e6b4bb57..ca99457b0f9293e29131f1e238561e0439f1e728 100644
--- a/docs/security.rst
+++ b/docs/security.rst
@@ -159,21 +159,21 @@ permissions that were attributed.
 Restricting access to a subset of a particular table
 """"""""""""""""""""""""""""""""""""""""""""""""""""
 
-Using ``Row level security filters`` (under the ``Security`` menu) you can create 
-filters that are assigned to a particular table, as well as a set of roles. 
-Say people in your finance department should only have access to rows where 
-``department = "finance"``.  You could create a ``Row level security filter`` 
-with that clause, and assign it to your ``Finance`` role, as well as the 
+Using ``Row level security filters`` (under the ``Security`` menu) you can create
+filters that are assigned to a particular table, as well as a set of roles.
+Say people in your finance department should only have access to rows where
+``department = "finance"``.  You could create a ``Row level security filter``
+with that clause, and assign it to your ``Finance`` role, as well as the
 applicable table.
 
-The ``clause`` field can contain arbitrary text which is then added to the generated 
-SQL statement's ``WHERE`` clause.  So you could even do something like create a 
-filter for the last 30 days and apply it to a specific role, with a clause like 
-``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``.  It can also support multiple 
-conditions: ``client_id = 6 AND advertiser="foo"``, etc. 
-
-All relevant ``Row level security filters`` will be ANDed together, so it's 
-possible to create a situation where two roles conflict in such a way as to 
-limit a table subset to empty.  For example, the filters ``client_id=4`` and 
-and ``client_id=5``, applied to a role, will result in users of that role having 
-``client_id=4 AND client_id=5`` added to their query, which can never be true.
\ No newline at end of file
+The ``clause`` field can contain arbitrary text which is then added to the generated
+SQL statement's ``WHERE`` clause.  So you could even do something like create a
+filter for the last 30 days and apply it to a specific role, with a clause like
+``date_field > DATE_SUB(NOW(), INTERVAL 30 DAY)``.  It can also support multiple
+conditions: ``client_id = 6 AND advertiser="foo"``, etc.
+
+All relevant ``Row level security filters`` will be ANDed together, so it's
+possible to create a situation where two roles conflict in such a way as to
+limit a table subset to empty.  For example, the filters ``client_id=4`` and
+and ``client_id=5``, applied to a role, will result in users of that role having
+``client_id=4 AND client_id=5`` added to their query, which can never be true.
diff --git a/helm/superset/requirements.yaml b/helm/superset/requirements.yaml
index 1f47d5a082b40493b279e0096b8b2a1211aedc08..60bcc42b50b05506e9247e7bac735db963fc6979 100644
--- a/helm/superset/requirements.yaml
+++ b/helm/superset/requirements.yaml
@@ -22,4 +22,4 @@ dependencies:
 - name: redis
   version: 10.3.4
   repository: https://kubernetes-charts.storage.googleapis.com/
-  condition: redis.enabled
\ No newline at end of file
+  condition: redis.enabled
diff --git a/helm/superset/templates/secret-superset-config.yaml b/helm/superset/templates/secret-superset-config.yaml
index 604bb200124d59ef1e2dd23aa4dea2e3b8d0ef73..281ad9cf0360ce99e450a2294a4aa5747eaf84de 100644
--- a/helm/superset/templates/secret-superset-config.yaml
+++ b/helm/superset/templates/secret-superset-config.yaml
@@ -24,7 +24,7 @@ metadata:
     release: "{{ .Release.Name }}"
     heritage: "{{ .Release.Service }}"
 type: Opaque
-data: 
+data:
   superset_config.py: {{ include "superset-config" . | b64enc }}
   superset_init.sh: {{ tpl .Values.init.initscript . | b64enc }}
   superset_bootstrap.sh: {{ include "superset-bootstrap" . | b64enc }}
diff --git a/requirements-dev.txt b/requirements-dev.txt
index aaf6a99e9ff9622c1d472392dcb7bbcf8b46c57b..d68a17b010a38e03b9f9c915036c83c830438aad 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -39,4 +39,3 @@ tox==3.11.1
 pillow==7.0.0
 openpyxl==3.0.3 # Pandas use openpyxl to write excel format(using in unittes)
 xlrd==1.2.0
-
diff --git a/scripts/permissions_cleanup.py b/scripts/permissions_cleanup.py
index 8c50cd0078f72065421efda36227377fdaf21238..c37d124456d1e5763081b91eaca72a9ab4e4e803 100644
--- a/scripts/permissions_cleanup.py
+++ b/scripts/permissions_cleanup.py
@@ -22,7 +22,7 @@ from superset import sm
 def cleanup_permissions():
     # 1. Clean up duplicates.
     pvms = sm.get_session.query(sm.permissionview_model).all()
-    print('# of permission view menues is: {}'.format(len(pvms)))
+    print("# of permission view menues is: {}".format(len(pvms)))
     pvms_dict = defaultdict(list)
     for pvm in pvms:
         pvms_dict[(pvm.permission, pvm.view_menu)].append(pvm)
@@ -39,7 +39,7 @@ def cleanup_permissions():
     sm.get_session.commit()
 
     pvms = sm.get_session.query(sm.permissionview_model).all()
-    print('STage 1: # of permission view menues is: {}'.format(len(pvms)))
+    print("STage 1: # of permission view menues is: {}".format(len(pvms)))
 
     # 2. Clean up None permissions or view menues
     pvms = sm.get_session.query(sm.permissionview_model).all()
@@ -49,7 +49,7 @@ def cleanup_permissions():
     sm.get_session.commit()
 
     pvms = sm.get_session.query(sm.permissionview_model).all()
-    print('Stage 2: # of permission view menues is: {}'.format(len(pvms)))
+    print("Stage 2: # of permission view menues is: {}".format(len(pvms)))
 
     # 3. Delete empty permission view menues from roles
     roles = sm.get_session.query(sm.role_model).all()
diff --git a/superset-frontend/.storybook/main.js b/superset-frontend/.storybook/main.js
index bb950c4355c463dd05a9d4c80f6f07c8a7afeffb..cf65d312db9017c09151df68589814efcdeb1df3 100644
--- a/superset-frontend/.storybook/main.js
+++ b/superset-frontend/.storybook/main.js
@@ -38,4 +38,4 @@ module.exports = {
     },
     plugins: [...config.plugins, ...customConfig.plugins],
   }),
-};
\ No newline at end of file
+};
diff --git a/superset-frontend/.storybook/preview.jsx b/superset-frontend/.storybook/preview.jsx
index ac0f4f8f60adc134c935abf621a8dd92c3c2ff69..ee86557f142da027753def2a9b6c5e9acf1ad49c 100644
--- a/superset-frontend/.storybook/preview.jsx
+++ b/superset-frontend/.storybook/preview.jsx
@@ -29,4 +29,4 @@ const themeDecorator = storyFn => (
 );
 
 addDecorator(jsxDecorator);
-addDecorator(themeDecorator);
\ No newline at end of file
+addDecorator(themeDecorator);
diff --git a/superset-frontend/fonts/FiraCode/specimen.less b/superset-frontend/fonts/FiraCode/specimen.less
index 03d7b8989b88524db93ba1337273acb4dd53bb63..126496f81dd9213739959cf0b1323771142e2cc5 100644
--- a/superset-frontend/fonts/FiraCode/specimen.less
+++ b/superset-frontend/fonts/FiraCode/specimen.less
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
- 
+
 @font-face {
     font-family: 'Fira Code';
     src: url('woff2/FiraCode-Light.woff2') format('woff2'),
diff --git a/superset-frontend/images/icons/cancel-x.svg b/superset-frontend/images/icons/cancel-x.svg
index a1070fa51d14525760da2ccacb12e5014d74a960..0f1e3376863d4929957b60487a6bb8b69c2a370e 100644
Binary files a/superset-frontend/images/icons/cancel-x.svg and b/superset-frontend/images/icons/cancel-x.svg differ
diff --git a/superset-frontend/images/icons/checkbox-half.svg b/superset-frontend/images/icons/checkbox-half.svg
index dd25b2b2ee33e17bf3ffc60b96f44d08d2610b8d..50411b421591fb6d73745295ea59e39a4a8f89f5 100644
Binary files a/superset-frontend/images/icons/checkbox-half.svg and b/superset-frontend/images/icons/checkbox-half.svg differ
diff --git a/superset-frontend/images/icons/checkbox-off.svg b/superset-frontend/images/icons/checkbox-off.svg
index f537e642a5df3572392c83a4bd59b1abfdc6fe57..5835c1893dca8bbb67f972fd9ec31b0b36df8593 100644
Binary files a/superset-frontend/images/icons/checkbox-off.svg and b/superset-frontend/images/icons/checkbox-off.svg differ
diff --git a/superset-frontend/images/icons/checkbox-on.svg b/superset-frontend/images/icons/checkbox-on.svg
index 1033e3ab493cbe3e11999097f977b560a5db2404..25e82d5e2a4e5eb9c29c1c25db374a8240755a52 100644
Binary files a/superset-frontend/images/icons/checkbox-on.svg and b/superset-frontend/images/icons/checkbox-on.svg differ
diff --git a/superset-frontend/images/icons/compass.svg b/superset-frontend/images/icons/compass.svg
index 3c0c7dc81188af55e0516970d861a4608e2fce17..7775d9b73b981546a172317b3e9fd16f91a21fac 100644
Binary files a/superset-frontend/images/icons/compass.svg and b/superset-frontend/images/icons/compass.svg differ
diff --git a/superset-frontend/images/icons/dataset_physical.svg b/superset-frontend/images/icons/dataset_physical.svg
index 72040e8159920d04b4c136d75fbb79a92f2dbc39..28f46bb4ca91e3db88e5365b13c656d88f764359 100644
Binary files a/superset-frontend/images/icons/dataset_physical.svg and b/superset-frontend/images/icons/dataset_physical.svg differ
diff --git a/superset-frontend/images/icons/dataset_virtual.svg b/superset-frontend/images/icons/dataset_virtual.svg
index 51f136caaa1147f0aa2fe37f9e5c462271d1ef0b..ca15dcb63d5e96d1fe3526929a825a90324e3cab 100644
Binary files a/superset-frontend/images/icons/dataset_virtual.svg and b/superset-frontend/images/icons/dataset_virtual.svg differ
diff --git a/superset-frontend/images/icons/error.svg b/superset-frontend/images/icons/error.svg
index 03c19629e8061a7aca6183ec1413ef3fc9d4ca7f..b619c4876c8f8afaad874cfa0ac2387222b37fc3 100644
Binary files a/superset-frontend/images/icons/error.svg and b/superset-frontend/images/icons/error.svg differ
diff --git a/superset-frontend/images/icons/pencil.svg b/superset-frontend/images/icons/pencil.svg
index 6d1cbcb895f473be29380fc69174019d78c02baa..0cf5c9280adb653d64679c036ffeb348f964d930 100644
Binary files a/superset-frontend/images/icons/pencil.svg and b/superset-frontend/images/icons/pencil.svg differ
diff --git a/superset-frontend/images/icons/search.svg b/superset-frontend/images/icons/search.svg
index 2f2b0c5b9e13318e50792982450b263c9899cb68..5b86f13859f66d01f8f7c99288a097560da9193a 100644
Binary files a/superset-frontend/images/icons/search.svg and b/superset-frontend/images/icons/search.svg differ
diff --git a/superset-frontend/images/icons/sort-asc.svg b/superset-frontend/images/icons/sort-asc.svg
index a6bd9d5aa01165bad8b8e97a8c6965c0f3451981..8981b6cff24175f3adf9d7fe301742b80e63af17 100644
Binary files a/superset-frontend/images/icons/sort-asc.svg and b/superset-frontend/images/icons/sort-asc.svg differ
diff --git a/superset-frontend/images/icons/sort-desc.svg b/superset-frontend/images/icons/sort-desc.svg
index f56b7b29c6055db12962c5d7b2c893d73dd68694..70dd0fa391337a98f35835721c2e06d4002c6132 100644
Binary files a/superset-frontend/images/icons/sort-desc.svg and b/superset-frontend/images/icons/sort-desc.svg differ
diff --git a/superset-frontend/images/icons/sort.svg b/superset-frontend/images/icons/sort.svg
index 534cffc6de29b1877a8d52ea6c93938ce3ec2a61..119ca02999049fe68f60645c81a72bbcea6b6c1e 100644
Binary files a/superset-frontend/images/icons/sort.svg and b/superset-frontend/images/icons/sort.svg differ
diff --git a/superset-frontend/images/icons/trash.svg b/superset-frontend/images/icons/trash.svg
index a80e19104bcf9adadc87c04c638ae9122b123f53..870af73b93e10c0622ac485b3ac4629ab58e734f 100644
Binary files a/superset-frontend/images/icons/trash.svg and b/superset-frontend/images/icons/trash.svg differ
diff --git a/superset-frontend/images/icons/warning.svg b/superset-frontend/images/icons/warning.svg
index 9375f58deda1427a4d9126f1ea67c6b6e07273ac..df7fc6d117d6913883ab8fd51b2e0fa2c74999ac 100644
Binary files a/superset-frontend/images/icons/warning.svg and b/superset-frontend/images/icons/warning.svg differ
diff --git a/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx b/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx
index 0964a00970ae40f26b535b4935b22efc776b509f..a9bebd7f3f7e2abe9797a022392ed6742240b41c 100644
--- a/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx
+++ b/superset-frontend/src/views/CRUD/dataset/DatasetList.tsx
@@ -623,10 +623,10 @@ const DatasetList: FunctionComponent<DatasetListProps> = ({
               {datasetCurrentlyDeleting && (
                 <DeleteModal
                   description={t(
-                    `The dataset ${datasetCurrentlyDeleting.table_name} is linked to 
-                  ${datasetCurrentlyDeleting.chart_count} charts that appear on 
-                  ${datasetCurrentlyDeleting.dashboard_count} dashboards. 
-                  Are you sure you want to continue? Deleting the dataset will break 
+                    `The dataset ${datasetCurrentlyDeleting.table_name} is linked to
+                  ${datasetCurrentlyDeleting.chart_count} charts that appear on
+                  ${datasetCurrentlyDeleting.dashboard_count} dashboards.
+                  Are you sure you want to continue? Deleting the dataset will break
                   those objects.`,
                   )}
                   onConfirm={() =>
diff --git a/superset/bin/superset b/superset/bin/superset
index 4b37e8339b2c7f9a29da528399b0159f608b9d3f..e7b8de68469bc45dddd6bd02cc7f6bcc651b1423 100755
--- a/superset/bin/superset
+++ b/superset/bin/superset
@@ -17,5 +17,5 @@
 # under the License.
 from superset.cli import superset
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     superset()
diff --git a/superset/dashboards/schemas.py b/superset/dashboards/schemas.py
index 258770586639f95bb2df274421718b8d8b9e80d0..ca9c25c1e0007cf614b4129a6ee2f620537e6eeb 100644
--- a/superset/dashboards/schemas.py
+++ b/superset/dashboards/schemas.py
@@ -75,7 +75,6 @@ openapi_spec_methods_override = {
         "get": {"description": "Get a list of all possible owners for a dashboard."}
     },
 }
-""" Overrides GET methods OpenApi descriptions """
 
 
 def validate_json(value: Union[bytes, bytearray, str]) -> None:
diff --git a/superset/migrations/README b/superset/migrations/README
index 98e4f9c44effe479ed38c66ba922e7bcc672916f..2500aa1bcf726a14c436070389837be3666ba96f 100755
--- a/superset/migrations/README
+++ b/superset/migrations/README
@@ -1 +1 @@
-Generic single-database configuration.
\ No newline at end of file
+Generic single-database configuration.
diff --git a/superset/migrations/versions/21e88bc06c02_annotation_migration.py b/superset/migrations/versions/21e88bc06c02_annotation_migration.py
index 919d047b913c245cd2fcb483f373a7ed4767a203..5593af0eb66501d7c37a943c70927e94293119b7 100644
--- a/superset/migrations/versions/21e88bc06c02_annotation_migration.py
+++ b/superset/migrations/versions/21e88bc06c02_annotation_migration.py
@@ -14,14 +14,6 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-import json
-
-from alembic import op
-from sqlalchemy import Column, Integer, or_, String, Text
-from sqlalchemy.ext.declarative import declarative_base
-
-from superset import db
-
 """migrate_old_annotation_layers
 
 Revision ID: 21e88bc06c02
@@ -29,6 +21,13 @@ Revises: 67a6ac9b727b
 Create Date: 2017-12-17 11:06:30.180267
 
 """
+import json
+
+from alembic import op
+from sqlalchemy import Column, Integer, or_, String, Text
+from sqlalchemy.ext.declarative import declarative_base
+
+from superset import db
 
 # revision identifiers, used by Alembic.
 revision = "21e88bc06c02"
diff --git a/superset/queries/schemas.py b/superset/queries/schemas.py
index 04c003e10406abe2ab72e1ab8ca74404eac3a1e6..daca322c6371e43eb822cbf301da44f4105a62bd 100644
--- a/superset/queries/schemas.py
+++ b/superset/queries/schemas.py
@@ -25,4 +25,3 @@ openapi_spec_methods_override = {
         }
     },
 }
-""" Overrides GET methods OpenApi descriptions """
diff --git a/superset/templates/appbuilder/baselayout.html b/superset/templates/appbuilder/baselayout.html
index 1199ab12266937b7cb36264034bc845c0ac65545..a08a052e5f582299d1f8e6cf6a1f7c9c312a483d 100644
--- a/superset/templates/appbuilder/baselayout.html
+++ b/superset/templates/appbuilder/baselayout.html
@@ -55,4 +55,3 @@
         </footer>
     {% endblock %}
 {% endblock %}
-
diff --git a/superset/templates/appbuilder/general/model/list.html b/superset/templates/appbuilder/general/model/list.html
index 49f08d02c7aa1525e5dab75cb9b1bc0d9bef0f18..866051dd1f10f98028fa3cdd46f8277261e305ca 100644
--- a/superset/templates/appbuilder/general/model/list.html
+++ b/superset/templates/appbuilder/general/model/list.html
@@ -33,4 +33,4 @@
     </div>
 
  {{ lib.panel_end() }}
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/superset/templates/email/role_extended.txt b/superset/templates/email/role_extended.txt
index 72eb337aae6f06f4477a422c6868ef592e783c86..89ba1b0f722b2e9d2803e1d419b70a527d1dfcde 100644
--- a/superset/templates/email/role_extended.txt
+++ b/superset/templates/email/role_extended.txt
@@ -29,4 +29,4 @@ To see all your permissions please visit your
    profile page</a>.
 <br>
 <br>
-Regards, Superset Admin.
\ No newline at end of file
+Regards, Superset Admin.
diff --git a/superset/templates/email/role_granted.txt b/superset/templates/email/role_granted.txt
index a6ca9ebc85a63a2db0561c12148eba40c430b13b..8027f41ac489c6dc0dff43b32f38253979ab8a55 100644
--- a/superset/templates/email/role_granted.txt
+++ b/superset/templates/email/role_granted.txt
@@ -33,4 +33,4 @@ To see all your permissions please visit your
    profile page</a>.
 <br>
 <br>
-Regards, Superset Admin.
\ No newline at end of file
+Regards, Superset Admin.
diff --git a/superset/templates/superset/basic.html b/superset/templates/superset/basic.html
index a31574696e1ee4cf18daccdaae0e89ec52c3ed6b..163d9480e9c89b5064bc67499182fd2cf1beb155 100644
--- a/superset/templates/superset/basic.html
+++ b/superset/templates/superset/basic.html
@@ -36,10 +36,10 @@
     {% block head_meta %}{% endblock %}
     {% block head_css %}
       {% for favicon in favicons %}
-        <link 
+        <link
           rel="{{favicon.rel if favicon.rel else "icon"}}"
-          type="{{favicon.type if favicon.type else "image/png"}}" 
-          {% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %} 
+          type="{{favicon.type if favicon.type else "image/png"}}"
+          {% if favicon.sizes %}sizes={{favicon.sizes}}{% endif %}
           href="{{favicon.href}}"
         >
       {% endfor %}
diff --git a/superset/templates/superset/export_dashboards.html b/superset/templates/superset/export_dashboards.html
index 5ec6ff1643e1261790993ceaa68d52990bf06ac4..9744424b67815a9f1645669dad7f4a763a5d6706 100644
--- a/superset/templates/superset/export_dashboards.html
+++ b/superset/templates/superset/export_dashboards.html
@@ -27,7 +27,7 @@
         a.click();
         document.body.removeChild(a);
 
-        window.location = '{{ dashboards_url }}';    
+        window.location = '{{ dashboards_url }}';
 
     };
 </script>
diff --git a/superset/templates/superset/fab_overrides/list_with_checkboxes.html b/superset/templates/superset/fab_overrides/list_with_checkboxes.html
index 3d5fbaf77cb8f1cf7c42434e10ce353410fa900f..2cea53022f57fab2ffea009279667c3a435ff858 100644
--- a/superset/templates/superset/fab_overrides/list_with_checkboxes.html
+++ b/superset/templates/superset/fab_overrides/list_with_checkboxes.html
@@ -97,4 +97,3 @@
         </table>
         </div>
     {% endblock %}
-
diff --git a/superset/templates/superset/form_view/csv_to_database_view/edit.html b/superset/templates/superset/form_view/csv_to_database_view/edit.html
index 9e6e542e26cb628fc0cd6af8d5601b110fb77940..ab647d4c26f50e237d70f53f91d3dd8ffe675fcf 100644
--- a/superset/templates/superset/form_view/csv_to_database_view/edit.html
+++ b/superset/templates/superset/form_view/csv_to_database_view/edit.html
@@ -61,4 +61,4 @@
         }
     }
   </script>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/superset/templates/superset/form_view/excel_to_database_view/edit.html b/superset/templates/superset/form_view/excel_to_database_view/edit.html
index dcfd6d2ce6a5a4ea69b2951a3eb9eab5198ebd50..fb7c432231ba6e4acb54a3120c93cbb14845d723 100644
--- a/superset/templates/superset/form_view/excel_to_database_view/edit.html
+++ b/superset/templates/superset/form_view/excel_to_database_view/edit.html
@@ -61,4 +61,4 @@
         }
     }
   </script>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/superset/templates/superset/paper-theme.html b/superset/templates/superset/paper-theme.html
index edf50137cb8c7fb209724b3fa9c26794a8822c8a..c4221be13fa38ced0d812a936393205e327e0b43 100644
--- a/superset/templates/superset/paper-theme.html
+++ b/superset/templates/superset/paper-theme.html
@@ -431,7 +431,7 @@
         <h1>Alerts</h1>
       </div>
       <div class="alert alert-success" role="alert">
-        <strong>Well done!</strong> You successfully read this important alert message. With a <a href="#">link</a>. 
+        <strong>Well done!</strong> You successfully read this important alert message. With a <a href="#">link</a>.
       </div>
       <div class="alert alert-info" role="alert">
         <strong>Heads up!</strong> This alert needs your attention, but it's not super important.