deploying docs: chore: Bump to Python3.10 (#24112)

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com> (apache/superset@3a34c7ff7cf8fec138a37d89fcfb133b521a3381)
diff --git a/404.html b/404.html
index acaa9cf..dc80798 100644
--- a/404.html
+++ b/404.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/assets/js/2f1b3cda.dd7ed44c.js b/assets/js/2f1b3cda.d68fc09c.js
similarity index 98%
rename from assets/js/2f1b3cda.dd7ed44c.js
rename to assets/js/2f1b3cda.d68fc09c.js
index d9f3066..1e27918 100644
--- a/assets/js/2f1b3cda.dd7ed44c.js
+++ b/assets/js/2f1b3cda.d68fc09c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[5153],{15680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>g});var a=n(96540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(n),m=r,g=u["".concat(s,".").concat(m)]||u[m]||c[m]||i;return n?a.createElement(g,l(l({ref:t},p),{},{components:n})):a.createElement(g,l({ref:t},p))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:r,l[1]=o;for(var d=2;d<i;d++)l[d]=n[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6085:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var a=n(58168),r=(n(96540),n(15680));const i={},l="Docker builds, images and tags",o={unversionedId:"installation/docker",id:"installation/docker",title:"Docker builds, images and tags",description:"The Apache Superset community extensively uses Docker for development, release,",source:"@site/docs/installation/docker.mdx",sourceDirName:"installation",slug:"/installation/docker",permalink:"/docs/installation/docker",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/installation/docker.mdx",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Setup SSH Tunneling",permalink:"/docs/installation/setup-ssh-tunneling"},next:{title:"Creating Your First Dashboard",permalink:"/docs/creating-charts-dashboards/creating-your-first-dashboard"}},s={},d=[{value:"Key tags examples",id:"key-tags-examples",level:2},{value:"Caching",id:"caching",level:2},{value:"About database drivers",id:"about-database-drivers",level:2},{value:"On supporting different platforms (namely arm64 AND amd64)",id:"on-supporting-different-platforms-namely-arm64-and-amd64",level:2},{value:"Working with Apple silicon",id:"working-with-apple-silicon",level:3}],p={toc:d},u="wrapper";function c(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,a.A)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("h1",{id:"docker-builds-images-and-tags"},"Docker builds, images and tags"),(0,r.yg)("p",null,"The Apache Superset community extensively uses Docker for development, release,\nand productionizing Superset. This page details our Docker builds and tag naming\nschemes to help users navigate our offerings."),(0,r.yg)("p",null,"Images are built and pushed to the ",(0,r.yg)("a",{parentName:"p",href:"https://hub.docker.com/r/apache/superset"},"Superset Docker Hub repository")," using GitHub Actions.\nDifferent sets of images are built and/or published at different times:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Published releases")," (",(0,r.yg)("inlineCode",{parentName:"li"},"release"),"): published using\ntags like ",(0,r.yg)("inlineCode",{parentName:"li"},"3.0.0")," and the ",(0,r.yg)("inlineCode",{parentName:"li"},"latest")," tag."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Pull request iterations")," (",(0,r.yg)("inlineCode",{parentName:"li"},"pull_request"),"): for each pull request, while\nwe actively build the docker to validate the build, we do\nnot publish those images for security reasons, we simply ",(0,r.yg)("inlineCode",{parentName:"li"},"docker build --load")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Merges to the main branch")," (",(0,r.yg)("inlineCode",{parentName:"li"},"push"),"): resulting in new SHAs, with tags\nprefixed with ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," for the latest ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," version.")),(0,r.yg)("h1",{id:"build-presets"},"Build presets"),(0,r.yg)("p",null,'We have a set of build "presets" that each represent a combination of\nparameters for the build, mostly pointing to either different target layer\nfor the build, and/or base image.'),(0,r.yg)("p",null,"Here are the build presets that are exposed through the ",(0,r.yg)("inlineCode",{parentName:"p"},"build_docker.py")," script:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"lean"),": The default Docker image, including both frontend and backend. Tags\nwithout a build_preset are lean builds, e.g., ",(0,r.yg)("inlineCode",{parentName:"li"},"latest"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"dev"),": For development, with a headless browser, dev-related utilities and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"py310"),", e.g., Py310: Similar to lean but with a different Python version (in this example, 3.10)."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"ci"),": For certain CI workloads."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"websocket"),": For Superset clusters supporting advanced features."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"dockerize"),": Used by Helm.")),(0,r.yg)("h2",{id:"key-tags-examples"},"Key tags examples"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"latest"),": The latest official release build"),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"latest-dev"),": the ",(0,r.yg)("inlineCode",{parentName:"li"},"-dev")," image of the latest official release build, with a\nheadless browser and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"master"),": The latest build from the ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," branch, implicitly the lean build\npreset"),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"master-dev"),": Similar to ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," but includes a headless browser and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"pr-5252"),": The latest commit in PR 5252."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev"),": A build for\nthis specific SHA, which could be from a ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," merge, or release."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"websocket-latest"),": The WebSocket image for use in a Superset cluster.")),(0,r.yg)("p",null,"For insights or modifications to the build matrix and tagging conventions,\ncheck the ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/scripts/build_docker.py"},"build_docker.py"),"\nscript and the ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/.github/workflows/docker.yml"},"docker.yml"),"\nGitHub action."),(0,r.yg)("h2",{id:"caching"},"Caching"),(0,r.yg)("p",null,"To accelerate builds, we follow Docker best practices and use ",(0,r.yg)("inlineCode",{parentName:"p"},"apache/superset-cache"),"."),(0,r.yg)("h2",{id:"about-database-drivers"},"About database drivers"),(0,r.yg)("p",null,"Our docker images come with little to zero database driver support since\neach envrionment requires different drivers, and mataining a build with\nwide database support would be both challenging (dozens of databases,\npython drivers, and os dependencies) and inefficient (longer\nbuild times, larger images, lower layer cache hit rate, ...)."),(0,r.yg)("p",null,"For production use cases, we recommend that you derive our ",(0,r.yg)("inlineCode",{parentName:"p"},"lean")," image(s) and\nadd database support for the database you need."),(0,r.yg)("h2",{id:"on-supporting-different-platforms-namely-arm64-and-amd64"},"On supporting different platforms (namely arm64 AND amd64)"),(0,r.yg)("p",null,"Currently all automated builds are multi-platform, supporting both ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/amd64"),". This enables higher level constructs like ",(0,r.yg)("inlineCode",{parentName:"p"},"helm")," and\ndocker-compose to point to these images and effectively be multi-platform\nas well."),(0,r.yg)("p",null,"Pull requests and master builds\nare one-image-per-platform so that they can be parallized and the\nbuild matrix for those is more sparse as we don't need to build every\nbuild preset on every platform, and generally can be more selective here.\nFor those builds, we suffix tags with ",(0,r.yg)("inlineCode",{parentName:"p"},"-arm")," where it applies."),(0,r.yg)("h3",{id:"working-with-apple-silicon"},"Working with Apple silicon"),(0,r.yg)("p",null,"Apple's current generation of computers uses ARM-based CPUs, and Docker\nrunning on MACs seem to require ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64/v8")," (at least one user's M2 was\nconfigured in that way). Setting the environment\nvariable ",(0,r.yg)("inlineCode",{parentName:"p"},"DOCKER_DEFAULT_PLATFORM")," to ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/amd64")," seems to function in\nterm of leveraging, and building upon the Superset builds provided here."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"export DOCKER_DEFAULT_PLATFORM=linux/amd64\n")),(0,r.yg)("p",null,"Presumably, ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64/v8")," would be more optimized for this generation\nof chips, but less compatible across the ARM ecosystem."))}c.isMDXComponent=!0}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[5153],{15680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>g});var a=n(96540);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e,t){if(null==e)return{};var n,a,r=function(e,t){if(null==e)return{};var n,a,r={},i=Object.keys(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),d=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=d(e.components);return a.createElement(s.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),u=d(n),m=r,g=u["".concat(s,".").concat(m)]||u[m]||c[m]||i;return n?a.createElement(g,l(l({ref:t},p),{},{components:n})):a.createElement(g,l({ref:t},p))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[u]="string"==typeof e?e:r,l[1]=o;for(var d=2;d<i;d++)l[d]=n[d];return a.createElement.apply(null,l)}return a.createElement.apply(null,n)}m.displayName="MDXCreateElement"},6085:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var a=n(58168),r=(n(96540),n(15680));const i={},l="Docker builds, images and tags",o={unversionedId:"installation/docker",id:"installation/docker",title:"Docker builds, images and tags",description:"The Apache Superset community extensively uses Docker for development, release,",source:"@site/docs/installation/docker.mdx",sourceDirName:"installation",slug:"/installation/docker",permalink:"/docs/installation/docker",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/installation/docker.mdx",tags:[],version:"current",frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Setup SSH Tunneling",permalink:"/docs/installation/setup-ssh-tunneling"},next:{title:"Creating Your First Dashboard",permalink:"/docs/creating-charts-dashboards/creating-your-first-dashboard"}},s={},d=[{value:"Key tags examples",id:"key-tags-examples",level:2},{value:"Caching",id:"caching",level:2},{value:"About database drivers",id:"about-database-drivers",level:2},{value:"On supporting different platforms (namely arm64 AND amd64)",id:"on-supporting-different-platforms-namely-arm64-and-amd64",level:2},{value:"Working with Apple silicon",id:"working-with-apple-silicon",level:3}],p={toc:d},u="wrapper";function c(e){let{components:t,...n}=e;return(0,r.yg)(u,(0,a.A)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.yg)("h1",{id:"docker-builds-images-and-tags"},"Docker builds, images and tags"),(0,r.yg)("p",null,"The Apache Superset community extensively uses Docker for development, release,\nand productionizing Superset. This page details our Docker builds and tag naming\nschemes to help users navigate our offerings."),(0,r.yg)("p",null,"Images are built and pushed to the ",(0,r.yg)("a",{parentName:"p",href:"https://hub.docker.com/r/apache/superset"},"Superset Docker Hub repository")," using GitHub Actions.\nDifferent sets of images are built and/or published at different times:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Published releases")," (",(0,r.yg)("inlineCode",{parentName:"li"},"release"),"): published using\ntags like ",(0,r.yg)("inlineCode",{parentName:"li"},"3.0.0")," and the ",(0,r.yg)("inlineCode",{parentName:"li"},"latest")," tag."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Pull request iterations")," (",(0,r.yg)("inlineCode",{parentName:"li"},"pull_request"),"): for each pull request, while\nwe actively build the docker to validate the build, we do\nnot publish those images for security reasons, we simply ",(0,r.yg)("inlineCode",{parentName:"li"},"docker build --load")),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("strong",{parentName:"li"},"Merges to the main branch")," (",(0,r.yg)("inlineCode",{parentName:"li"},"push"),"): resulting in new SHAs, with tags\nprefixed with ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," for the latest ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," version.")),(0,r.yg)("h1",{id:"build-presets"},"Build presets"),(0,r.yg)("p",null,'We have a set of build "presets" that each represent a combination of\nparameters for the build, mostly pointing to either different target layer\nfor the build, and/or base image.'),(0,r.yg)("p",null,"Here are the build presets that are exposed through the ",(0,r.yg)("inlineCode",{parentName:"p"},"build_docker.py")," script:"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"lean"),": The default Docker image, including both frontend and backend. Tags\nwithout a build_preset are lean builds, e.g., ",(0,r.yg)("inlineCode",{parentName:"li"},"latest"),"."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"dev"),": For development, with a headless browser, dev-related utilities and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"py311"),", e.g., Py311: Similar to lean but with a different Python version (in this example, 3.11)."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"ci"),": For certain CI workloads."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"websocket"),": For Superset clusters supporting advanced features."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"dockerize"),": Used by Helm.")),(0,r.yg)("h2",{id:"key-tags-examples"},"Key tags examples"),(0,r.yg)("ul",null,(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"latest"),": The latest official release build"),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"latest-dev"),": the ",(0,r.yg)("inlineCode",{parentName:"li"},"-dev")," image of the latest official release build, with a\nheadless browser and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"master"),": The latest build from the ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," branch, implicitly the lean build\npreset"),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"master-dev"),": Similar to ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," but includes a headless browser and root access."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"pr-5252"),": The latest commit in PR 5252."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev"),": A build for\nthis specific SHA, which could be from a ",(0,r.yg)("inlineCode",{parentName:"li"},"master")," merge, or release."),(0,r.yg)("li",{parentName:"ul"},(0,r.yg)("inlineCode",{parentName:"li"},"websocket-latest"),": The WebSocket image for use in a Superset cluster.")),(0,r.yg)("p",null,"For insights or modifications to the build matrix and tagging conventions,\ncheck the ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/scripts/build_docker.py"},"build_docker.py"),"\nscript and the ",(0,r.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/.github/workflows/docker.yml"},"docker.yml"),"\nGitHub action."),(0,r.yg)("h2",{id:"caching"},"Caching"),(0,r.yg)("p",null,"To accelerate builds, we follow Docker best practices and use ",(0,r.yg)("inlineCode",{parentName:"p"},"apache/superset-cache"),"."),(0,r.yg)("h2",{id:"about-database-drivers"},"About database drivers"),(0,r.yg)("p",null,"Our docker images come with little to zero database driver support since\neach envrionment requires different drivers, and mataining a build with\nwide database support would be both challenging (dozens of databases,\npython drivers, and os dependencies) and inefficient (longer\nbuild times, larger images, lower layer cache hit rate, ...)."),(0,r.yg)("p",null,"For production use cases, we recommend that you derive our ",(0,r.yg)("inlineCode",{parentName:"p"},"lean")," image(s) and\nadd database support for the database you need."),(0,r.yg)("h2",{id:"on-supporting-different-platforms-namely-arm64-and-amd64"},"On supporting different platforms (namely arm64 AND amd64)"),(0,r.yg)("p",null,"Currently all automated builds are multi-platform, supporting both ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64"),"\nand ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/amd64"),". This enables higher level constructs like ",(0,r.yg)("inlineCode",{parentName:"p"},"helm")," and\ndocker-compose to point to these images and effectively be multi-platform\nas well."),(0,r.yg)("p",null,"Pull requests and master builds\nare one-image-per-platform so that they can be parallized and the\nbuild matrix for those is more sparse as we don't need to build every\nbuild preset on every platform, and generally can be more selective here.\nFor those builds, we suffix tags with ",(0,r.yg)("inlineCode",{parentName:"p"},"-arm")," where it applies."),(0,r.yg)("h3",{id:"working-with-apple-silicon"},"Working with Apple silicon"),(0,r.yg)("p",null,"Apple's current generation of computers uses ARM-based CPUs, and Docker\nrunning on MACs seem to require ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64/v8")," (at least one user's M2 was\nconfigured in that way). Setting the environment\nvariable ",(0,r.yg)("inlineCode",{parentName:"p"},"DOCKER_DEFAULT_PLATFORM")," to ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/amd64")," seems to function in\nterm of leveraging, and building upon the Superset builds provided here."),(0,r.yg)("pre",null,(0,r.yg)("code",{parentName:"pre"},"export DOCKER_DEFAULT_PLATFORM=linux/amd64\n")),(0,r.yg)("p",null,"Presumably, ",(0,r.yg)("inlineCode",{parentName:"p"},"linux/arm64/v8")," would be more optimized for this generation\nof chips, but less compatible across the ARM ecosystem."))}c.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/4cc2c078.4430c374.js b/assets/js/4cc2c078.4430c374.js
new file mode 100644
index 0000000..b844658
--- /dev/null
+++ b/assets/js/4cc2c078.4430c374.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[9087],{15680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>m});var r=t(96540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=r.createContext({}),p=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return r.createElement(l.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(t),g=a,m=u["".concat(l,".").concat(g)]||u[g]||d[g]||o;return t?r.createElement(m,i(i({ref:n},c),{},{components:t})):r.createElement(m,i({ref:n},c))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=g;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var p=2;p<o;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},16899:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var r=t(58168),a=(t(96540),t(15680));const o={title:"Running a Local Flask Backend",hide_title:!0,sidebar_position:5,version:1},i=void 0,s={unversionedId:"contributing/local-backend",id:"contributing/local-backend",title:"Running a Local Flask Backend",description:"Flask server",source:"@site/docs/contributing/local-backend.mdx",sourceDirName:"contributing",slug:"/contributing/local-backend",permalink:"/docs/contributing/local-backend",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/contributing/local-backend.mdx",tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Running a Local Flask Backend",hide_title:!0,sidebar_position:5,version:1},sidebar:"tutorialSidebar",previous:{title:"Style Guide",permalink:"/docs/contributing/style-guide"},next:{title:"Pre-commit Hooks and Linting",permalink:"/docs/contributing/hooks-and-linting"}},l={},p=[{value:"Flask server",id:"flask-server",level:3},{value:"OS Dependencies",id:"os-dependencies",level:4},{value:"Dependencies",id:"dependencies",level:4},{value:"Logging to the browser console",id:"logging-to-the-browser-console",level:4},{value:"Frontend Assets",id:"frontend-assets",level:3}],c={toc:p},u="wrapper";function d(e){let{components:n,...t}=e;return(0,a.yg)(u,(0,r.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("h3",{id:"flask-server"},"Flask server"),(0,a.yg)("h4",{id:"os-dependencies"},"OS Dependencies"),(0,a.yg)("p",null,"Make sure your machine meets the ",(0,a.yg)("a",{parentName:"p",href:"/docs/installation/installing-superset-from-pypi#os-dependencies"},"OS dependencies")," before following these steps.\nYou also need to install MySQL or ",(0,a.yg)("a",{parentName:"p",href:"https://mariadb.com/downloads"},"MariaDB"),"."),(0,a.yg)("p",null,"Ensure that you are using Python version 3.10 or 3.11, then proceed with:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"# Create a virtual environment and activate it (recommended)\npython3 -m venv venv # setup a python3 virtualenv\nsource venv/bin/activate\n\n# Install external dependencies\npip install -r requirements/development.txt\n\n# Install Superset in editable (development) mode\npip install -e .\n\n# Initialize the database\n# Note: For generating a SECRET_KEY if you haven't done already, you can use the command:\n# echo \"SECRET_KEY='$(openssl rand -base64 42)'\" | tee -a superset_config.py\nsuperset db upgrade\n\n# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)\nsuperset fab create-admin\n\n# Create default roles and permissions\nsuperset init\n\n# Load some data to play with.\n# Note: you MUST have previously created an admin user with the username `admin` for this command to work.\nsuperset load-examples\n\n# Start the Flask dev web server from inside your virtualenv.\n# Note that your page may not have CSS at this point.\nsuperset run -p 8088 --with-threads --reload --debugger --debug\n")),(0,a.yg)("p",null,"Or you can install via our Makefile"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"# Create a virtual environment and activate it (recommended)\npython3 -m venv venv # setup a python3 virtualenv\nsource venv/bin/activate\n\n# install pip packages + pre-commit\nmake install\n\n# Install superset pip packages and setup env only\nmake superset\n\n# Setup pre-commit only\nmake pre-commit\n")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"Note: the FLASK_APP env var should not need to be set, as it's currently controlled\nvia ",(0,a.yg)("inlineCode",{parentName:"strong"},".flaskenv"),", however if needed, it should be set to ",(0,a.yg)("inlineCode",{parentName:"strong"},"superset.app:create_app()"))),(0,a.yg)("p",null,"If you have made changes to the FAB-managed templates, which are not built the same way as the newer, React-powered front-end assets, you need to start the app without the ",(0,a.yg)("inlineCode",{parentName:"p"},"--with-threads")," argument like so:\n",(0,a.yg)("inlineCode",{parentName:"p"},"superset run -p 8088 --reload --debugger --debug")),(0,a.yg)("h4",{id:"dependencies"},"Dependencies"),(0,a.yg)("p",null,"If you add a new requirement or update an existing requirement (per the ",(0,a.yg)("inlineCode",{parentName:"p"},"install_requires")," section in ",(0,a.yg)("inlineCode",{parentName:"p"},"setup.py"),") you must recompile (freeze) the Python dependencies to ensure that for CI, testing, etc. the build is deterministic. This can be achieved via,"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"$ python3 -m venv venv\n$ source venv/bin/activate\n$ python3 -m pip install -r requirements/development.txt\n$ pip-compile-multi --no-upgrade\n")),(0,a.yg)("h4",{id:"logging-to-the-browser-console"},"Logging to the browser console"),(0,a.yg)("p",null,"This feature is only available on Python 3. When debugging your application, you can have the server logs sent directly to the browser console using the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/betodealmeida/consolelog"},"ConsoleLog")," package. You need to mutate the app, by adding the following to your ",(0,a.yg)("inlineCode",{parentName:"p"},"config.py")," or ",(0,a.yg)("inlineCode",{parentName:"p"},"superset_config.py"),":"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"from console_log import ConsoleLog\n\ndef FLASK_APP_MUTATOR(app):\n    app.wsgi_app = ConsoleLog(app.wsgi_app, app.logger)\n")),(0,a.yg)("p",null,"Then make sure you run your WSGI server using the right worker type:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},'SUPERSET_ENV=development gunicorn "superset.app:create_app()" -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" -b 127.0.0.1:8088 --reload\n')),(0,a.yg)("p",null,"You can log anything to the browser console, including objects:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"from superset import app\napp.logger.error('An exception occurred!')\napp.logger.info(form_data)\n")),(0,a.yg)("h3",{id:"frontend-assets"},"Frontend Assets"),(0,a.yg)("p",null,"See ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/CONTRIBUTING.md#frontend"},"Building Frontend Assets Locally")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/4cc2c078.4bf99a46.js b/assets/js/4cc2c078.4bf99a46.js
deleted file mode 100644
index d570f46..0000000
--- a/assets/js/4cc2c078.4bf99a46.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[9087],{15680:(e,n,t)=>{t.d(n,{xA:()=>c,yg:()=>m});var r=t(96540);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var l=r.createContext({}),p=function(e){var n=r.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},c=function(e){var n=p(e.components);return r.createElement(l.Provider,{value:n},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},g=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(t),g=a,m=u["".concat(l,".").concat(g)]||u[g]||d[g]||o;return t?r.createElement(m,i(i({ref:n},c),{},{components:t})):r.createElement(m,i({ref:n},c))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,i=new Array(o);i[0]=g;var s={};for(var l in n)hasOwnProperty.call(n,l)&&(s[l]=n[l]);s.originalType=e,s[u]="string"==typeof e?e:a,i[1]=s;for(var p=2;p<o;p++)i[p]=t[p];return r.createElement.apply(null,i)}return r.createElement.apply(null,t)}g.displayName="MDXCreateElement"},16899:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>p});var r=t(58168),a=(t(96540),t(15680));const o={title:"Running a Local Flask Backend",hide_title:!0,sidebar_position:5,version:1},i=void 0,s={unversionedId:"contributing/local-backend",id:"contributing/local-backend",title:"Running a Local Flask Backend",description:"Flask server",source:"@site/docs/contributing/local-backend.mdx",sourceDirName:"contributing",slug:"/contributing/local-backend",permalink:"/docs/contributing/local-backend",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/contributing/local-backend.mdx",tags:[],version:"current",sidebarPosition:5,frontMatter:{title:"Running a Local Flask Backend",hide_title:!0,sidebar_position:5,version:1},sidebar:"tutorialSidebar",previous:{title:"Style Guide",permalink:"/docs/contributing/style-guide"},next:{title:"Pre-commit Hooks and Linting",permalink:"/docs/contributing/hooks-and-linting"}},l={},p=[{value:"Flask server",id:"flask-server",level:3},{value:"OS Dependencies",id:"os-dependencies",level:4},{value:"Dependencies",id:"dependencies",level:4},{value:"Logging to the browser console",id:"logging-to-the-browser-console",level:4},{value:"Frontend Assets",id:"frontend-assets",level:3}],c={toc:p},u="wrapper";function d(e){let{components:n,...t}=e;return(0,a.yg)(u,(0,r.A)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,a.yg)("h3",{id:"flask-server"},"Flask server"),(0,a.yg)("h4",{id:"os-dependencies"},"OS Dependencies"),(0,a.yg)("p",null,"Make sure your machine meets the ",(0,a.yg)("a",{parentName:"p",href:"/docs/installation/installing-superset-from-pypi#os-dependencies"},"OS dependencies")," before following these steps.\nYou also need to install MySQL or ",(0,a.yg)("a",{parentName:"p",href:"https://mariadb.com/downloads"},"MariaDB"),"."),(0,a.yg)("p",null,"Ensure that you are using Python version 3.9 or 3.10, then proceed with:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"# Create a virtual environment and activate it (recommended)\npython3 -m venv venv # setup a python3 virtualenv\nsource venv/bin/activate\n\n# Install external dependencies\npip install -r requirements/development.txt\n\n# Install Superset in editable (development) mode\npip install -e .\n\n# Initialize the database\n# Note: For generating a SECRET_KEY if you haven't done already, you can use the command:\n# echo \"SECRET_KEY='$(openssl rand -base64 42)'\" | tee -a superset_config.py\nsuperset db upgrade\n\n# Create an admin user in your metadata database (use `admin` as username to be able to load the examples)\nsuperset fab create-admin\n\n# Create default roles and permissions\nsuperset init\n\n# Load some data to play with.\n# Note: you MUST have previously created an admin user with the username `admin` for this command to work.\nsuperset load-examples\n\n# Start the Flask dev web server from inside your virtualenv.\n# Note that your page may not have CSS at this point.\nsuperset run -p 8088 --with-threads --reload --debugger --debug\n")),(0,a.yg)("p",null,"Or you can install via our Makefile"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"# Create a virtual environment and activate it (recommended)\npython3 -m venv venv # setup a python3 virtualenv\nsource venv/bin/activate\n\n# install pip packages + pre-commit\nmake install\n\n# Install superset pip packages and setup env only\nmake superset\n\n# Setup pre-commit only\nmake pre-commit\n")),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"Note: the FLASK_APP env var should not need to be set, as it's currently controlled\nvia ",(0,a.yg)("inlineCode",{parentName:"strong"},".flaskenv"),", however if needed, it should be set to ",(0,a.yg)("inlineCode",{parentName:"strong"},"superset.app:create_app()"))),(0,a.yg)("p",null,"If you have made changes to the FAB-managed templates, which are not built the same way as the newer, React-powered front-end assets, you need to start the app without the ",(0,a.yg)("inlineCode",{parentName:"p"},"--with-threads")," argument like so:\n",(0,a.yg)("inlineCode",{parentName:"p"},"superset run -p 8088 --reload --debugger --debug")),(0,a.yg)("h4",{id:"dependencies"},"Dependencies"),(0,a.yg)("p",null,"If you add a new requirement or update an existing requirement (per the ",(0,a.yg)("inlineCode",{parentName:"p"},"install_requires")," section in ",(0,a.yg)("inlineCode",{parentName:"p"},"setup.py"),") you must recompile (freeze) the Python dependencies to ensure that for CI, testing, etc. the build is deterministic. This can be achieved via,"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},"$ python3 -m venv venv\n$ source venv/bin/activate\n$ python3 -m pip install -r requirements/development.txt\n$ pip-compile-multi --no-upgrade\n")),(0,a.yg)("h4",{id:"logging-to-the-browser-console"},"Logging to the browser console"),(0,a.yg)("p",null,"This feature is only available on Python 3. When debugging your application, you can have the server logs sent directly to the browser console using the ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/betodealmeida/consolelog"},"ConsoleLog")," package. You need to mutate the app, by adding the following to your ",(0,a.yg)("inlineCode",{parentName:"p"},"config.py")," or ",(0,a.yg)("inlineCode",{parentName:"p"},"superset_config.py"),":"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"from console_log import ConsoleLog\n\ndef FLASK_APP_MUTATOR(app):\n    app.wsgi_app = ConsoleLog(app.wsgi_app, app.logger)\n")),(0,a.yg)("p",null,"Then make sure you run your WSGI server using the right worker type:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-bash"},'SUPERSET_ENV=development gunicorn "superset.app:create_app()" -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker" -b 127.0.0.1:8088 --reload\n')),(0,a.yg)("p",null,"You can log anything to the browser console, including objects:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"from superset import app\napp.logger.error('An exception occurred!')\napp.logger.info(form_data)\n")),(0,a.yg)("h3",{id:"frontend-assets"},"Frontend Assets"),(0,a.yg)("p",null,"See ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/apache/superset/blob/master/CONTRIBUTING.md#frontend"},"Building Frontend Assets Locally")))}d.isMDXComponent=!0}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.7b16ab3a.js b/assets/js/runtime~main.174250fd.js
similarity index 70%
rename from assets/js/runtime~main.7b16ab3a.js
rename to assets/js/runtime~main.174250fd.js
index 1293a74..2fa0acd 100644
--- a/assets/js/runtime~main.7b16ab3a.js
+++ b/assets/js/runtime~main.174250fd.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],d=e[i][2];for(var t=!0,o=0;o<f.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({3:"a9e1a7f6",217:"b92f705c",435:"1c734f75",491:"f5f07875",517:"471df853",757:"31e90f3c",806:"71cf7fe6",921:"5818c28e",1043:"cf6ffe2f",1121:"dc3fdd24",1135:"0a0a6d3c",1217:"6432bc55",1298:"35a5de3c",1346:"f4a6e698",1392:"eb3b0997",1431:"6948bca1",1799:"69a4ab96",1873:"18cf5ace",2138:"1a4e3797",2422:"afef705c",2539:"ce3fa444",2590:"ee5d850a",2664:"f9cc156b",2736:"2c412ea7",2938:"25f17725",3022:"dbb131dd",3029:"640bc8a0",3462:"f75b37f5",3503:"2461ffa2",3590:"904d61ef",3838:"9d6fd8ea",3989:"9791fd42",4105:"cd90435d",4134:"393be207",4274:"0c21af39",4315:"3c835dee",4411:"da60bc8f",4583:"1df93b7f",4667:"496bf018",4867:"e0a8f778",4914:"8660bbc8",5153:"2f1b3cda",5167:"30334fcd",5331:"53bb5fc4",5347:"dd0670d3",5356:"0ae8b3d4",5602:"36ea7a08",5647:"30ec1363",5718:"eb23a929",5747:"88eaec5a",5901:"2bafca50",5929:"e187e321",6061:"1f391b9e",6097:"19682bb8",6161:"d5417e33",6171:"4e664dc4",6231:"bd23e567",6251:"1c42a294",6276:"dc737160",6342:"5e50ba72",6353:"a584ba2a",6421:"0e9953cd",6505:"74876495",6585:"3c585fdb",6647:"b46ab14b",6682:"c296437a",6713:"e7c796a6",6715:"a309f86e",6723:"262418cd",6903:"f8409a7e",7e3:"1ce51947",7025:"fa1a3aa0",7060:"d83b78fc",7144:"67158350",7268:"58160c0b",7642:"600a9360",7943:"3ec2c3f7",7956:"40974919",8083:"9a9c044b",8172:"c1424005",8359:"fe0957ee",8401:"17896441",8581:"935f2afb",8659:"d76e6194",8714:"1be78505",8880:"57b59cd4",9082:"21b4b958",9087:"4cc2c078",9122:"6a90d500",9249:"5ea65e65",9425:"c76f729d",9657:"6edc47f3",9761:"30256b0d",9814:"07f0ce13",9935:"070b53d1",9938:"507542a3",9958:"972382ea"}[e]||e)+"."+{3:"f18bee19",217:"5d9f89ba",416:"bbfa475a",435:"e7a48716",491:"c7be7c11",517:"dc8822e4",757:"5a79937a",806:"246f8b0c",921:"1e59b5b9",1043:"6673030e",1121:"ecca1a4e",1135:"c0175a9a",1217:"3ad95028",1298:"1c2c6c36",1346:"f3bb9a8c",1392:"8d2b9219",1431:"b799711d",1774:"d317c627",1799:"2c0d3051",1873:"90a3a8f6",2138:"14bcedcd",2185:"992929ee",2422:"eecf620f",2539:"9073513e",2590:"c007b05c",2664:"08264843",2736:"1d48e1ad",2938:"1e13bc28",3022:"71f2133e",3029:"8cefa9b4",3126:"29eff39e",3444:"71e4fec8",3462:"f5fce989",3503:"85c3aadb",3590:"f4cfea6d",3838:"49061a6f",3989:"70accff7",4105:"a3341909",4134:"6a02eb3f",4274:"3d60d144",4315:"2348a423",4411:"5261ec1e",4583:"8ad79997",4667:"20af314d",4867:"5c57dbff",4914:"f5aab579",5153:"dd7ed44c",5167:"065df1f5",5243:"885ad383",5331:"e601ba32",5347:"484a6c3d",5356:"26ce537a",5390:"92a01867",5602:"493e2986",5647:"b5ed097a",5718:"b8f9b841",5747:"482f5545",5901:"6988e007",5929:"1040a611",6061:"2a35b2f0",6097:"c8c450b0",6161:"f07b5771",6171:"81dae46b",6231:"fb126394",6251:"0c220e44",6276:"cda4920f",6342:"ea185454",6353:"96db4a5c",6421:"1b829fbb",6505:"79b43e7b",6585:"0121dd4f",6647:"cb92d343",6682:"030a3a05",6713:"e4787f62",6715:"08174e78",6723:"bd2b6782",6809:"5e2f8122",6903:"fc4e38ec",7e3:"cf61032c",7025:"afbd59cd",7060:"adb72e54",7144:"26869a1a",7268:"4ba6513d",7642:"2845a55b",7943:"7601ce54",7956:"0805416a",8083:"e1d69022",8172:"b2ff519b",8359:"f8f94342",8401:"e356988c",8581:"3ff9ffb0",8659:"8efbb1ed",8714:"39537cb9",8880:"ec7b53c8",8913:"4eaba603",9069:"4a18e286",9082:"938de4b3",9087:"4bf99a46",9122:"f7c28a25",9249:"9be8c834",9425:"e2c67acd",9462:"59405f7b",9657:"c6db824e",9761:"627bfffb",9814:"8e108a46",9904:"305f5b5d",9935:"929e3ad7",9938:"7b3c5651",9958:"51631b8e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="docs-v-2:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+f){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+f),t.src=e),c[e]=[a];var u=(a,f)=>{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"8401",40974919:"7956",67158350:"7144",74876495:"6505",a9e1a7f6:"3",b92f705c:"217","1c734f75":"435",f5f07875:"491","471df853":"517","31e90f3c":"757","71cf7fe6":"806","5818c28e":"921",cf6ffe2f:"1043",dc3fdd24:"1121","0a0a6d3c":"1135","6432bc55":"1217","35a5de3c":"1298",f4a6e698:"1346",eb3b0997:"1392","6948bca1":"1431","69a4ab96":"1799","18cf5ace":"1873","1a4e3797":"2138",afef705c:"2422",ce3fa444:"2539",ee5d850a:"2590",f9cc156b:"2664","2c412ea7":"2736","25f17725":"2938",dbb131dd:"3022","640bc8a0":"3029",f75b37f5:"3462","2461ffa2":"3503","904d61ef":"3590","9d6fd8ea":"3838","9791fd42":"3989",cd90435d:"4105","393be207":"4134","0c21af39":"4274","3c835dee":"4315",da60bc8f:"4411","1df93b7f":"4583","496bf018":"4667",e0a8f778:"4867","8660bbc8":"4914","2f1b3cda":"5153","30334fcd":"5167","53bb5fc4":"5331",dd0670d3:"5347","0ae8b3d4":"5356","36ea7a08":"5602","30ec1363":"5647",eb23a929:"5718","88eaec5a":"5747","2bafca50":"5901",e187e321:"5929","1f391b9e":"6061","19682bb8":"6097",d5417e33:"6161","4e664dc4":"6171",bd23e567:"6231","1c42a294":"6251",dc737160:"6276","5e50ba72":"6342",a584ba2a:"6353","0e9953cd":"6421","3c585fdb":"6585",b46ab14b:"6647",c296437a:"6682",e7c796a6:"6713",a309f86e:"6715","262418cd":"6723",f8409a7e:"6903","1ce51947":"7000",fa1a3aa0:"7025",d83b78fc:"7060","58160c0b":"7268","600a9360":"7642","3ec2c3f7":"7943","9a9c044b":"8083",c1424005:"8172",fe0957ee:"8359","935f2afb":"8581",d76e6194:"8659","1be78505":"8714","57b59cd4":"8880","21b4b958":"9082","4cc2c078":"9087","6a90d500":"9122","5ea65e65":"9249",c76f729d:"9425","6edc47f3":"9657","30256b0d":"9761","07f0ce13":"9814","070b53d1":"9935","507542a3":"9938","972382ea":"9958"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},f=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})()})();
\ No newline at end of file
+(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],f=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=f();void 0!==n&&(a=n)}}return a}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({3:"a9e1a7f6",217:"b92f705c",435:"1c734f75",491:"f5f07875",517:"471df853",757:"31e90f3c",806:"71cf7fe6",921:"5818c28e",1043:"cf6ffe2f",1121:"dc3fdd24",1135:"0a0a6d3c",1217:"6432bc55",1298:"35a5de3c",1346:"f4a6e698",1392:"eb3b0997",1431:"6948bca1",1799:"69a4ab96",1873:"18cf5ace",2138:"1a4e3797",2422:"afef705c",2539:"ce3fa444",2590:"ee5d850a",2664:"f9cc156b",2736:"2c412ea7",2938:"25f17725",3022:"dbb131dd",3029:"640bc8a0",3462:"f75b37f5",3503:"2461ffa2",3590:"904d61ef",3838:"9d6fd8ea",3989:"9791fd42",4105:"cd90435d",4134:"393be207",4274:"0c21af39",4315:"3c835dee",4411:"da60bc8f",4583:"1df93b7f",4667:"496bf018",4867:"e0a8f778",4914:"8660bbc8",5153:"2f1b3cda",5167:"30334fcd",5331:"53bb5fc4",5347:"dd0670d3",5356:"0ae8b3d4",5602:"36ea7a08",5647:"30ec1363",5718:"eb23a929",5747:"88eaec5a",5901:"2bafca50",5929:"e187e321",6061:"1f391b9e",6097:"19682bb8",6161:"d5417e33",6171:"4e664dc4",6231:"bd23e567",6251:"1c42a294",6276:"dc737160",6342:"5e50ba72",6353:"a584ba2a",6421:"0e9953cd",6505:"74876495",6585:"3c585fdb",6647:"b46ab14b",6682:"c296437a",6713:"e7c796a6",6715:"a309f86e",6723:"262418cd",6903:"f8409a7e",7e3:"1ce51947",7025:"fa1a3aa0",7060:"d83b78fc",7144:"67158350",7268:"58160c0b",7642:"600a9360",7943:"3ec2c3f7",7956:"40974919",8083:"9a9c044b",8172:"c1424005",8359:"fe0957ee",8401:"17896441",8581:"935f2afb",8659:"d76e6194",8714:"1be78505",8880:"57b59cd4",9082:"21b4b958",9087:"4cc2c078",9122:"6a90d500",9249:"5ea65e65",9425:"c76f729d",9657:"6edc47f3",9761:"30256b0d",9814:"07f0ce13",9935:"070b53d1",9938:"507542a3",9958:"972382ea"}[e]||e)+"."+{3:"f18bee19",217:"5d9f89ba",416:"bbfa475a",435:"e7a48716",491:"c7be7c11",517:"dc8822e4",757:"5a79937a",806:"246f8b0c",921:"1e59b5b9",1043:"6673030e",1121:"ecca1a4e",1135:"c0175a9a",1217:"3ad95028",1298:"1c2c6c36",1346:"f3bb9a8c",1392:"8d2b9219",1431:"b799711d",1774:"d317c627",1799:"2c0d3051",1873:"90a3a8f6",2138:"14bcedcd",2185:"992929ee",2422:"eecf620f",2539:"9073513e",2590:"c007b05c",2664:"08264843",2736:"1d48e1ad",2938:"1e13bc28",3022:"71f2133e",3029:"8cefa9b4",3126:"29eff39e",3444:"71e4fec8",3462:"f5fce989",3503:"85c3aadb",3590:"f4cfea6d",3838:"49061a6f",3989:"70accff7",4105:"a3341909",4134:"6a02eb3f",4274:"3d60d144",4315:"2348a423",4411:"5261ec1e",4583:"8ad79997",4667:"20af314d",4867:"5c57dbff",4914:"f5aab579",5153:"d68fc09c",5167:"065df1f5",5243:"885ad383",5331:"e601ba32",5347:"484a6c3d",5356:"26ce537a",5390:"92a01867",5602:"493e2986",5647:"b5ed097a",5718:"b8f9b841",5747:"482f5545",5901:"6988e007",5929:"1040a611",6061:"2a35b2f0",6097:"c8c450b0",6161:"f07b5771",6171:"81dae46b",6231:"fb126394",6251:"0c220e44",6276:"cda4920f",6342:"ea185454",6353:"96db4a5c",6421:"1b829fbb",6505:"79b43e7b",6585:"0121dd4f",6647:"cb92d343",6682:"030a3a05",6713:"e4787f62",6715:"08174e78",6723:"bd2b6782",6809:"5e2f8122",6903:"fc4e38ec",7e3:"cf61032c",7025:"afbd59cd",7060:"adb72e54",7144:"26869a1a",7268:"4ba6513d",7642:"2845a55b",7943:"7601ce54",7956:"0805416a",8083:"e1d69022",8172:"b2ff519b",8359:"f8f94342",8401:"e356988c",8581:"3ff9ffb0",8659:"8efbb1ed",8714:"39537cb9",8880:"ec7b53c8",8913:"4eaba603",9069:"4a18e286",9082:"938de4b3",9087:"4430c374",9122:"f7c28a25",9249:"9be8c834",9425:"e2c67acd",9462:"59405f7b",9657:"c6db824e",9761:"627bfffb",9814:"8e108a46",9904:"305f5b5d",9935:"929e3ad7",9938:"7b3c5651",9958:"51631b8e"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs-v-2:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var l=n[i];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==d+c){t=l;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),f[e]=[a];var u=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=u.bind(null,t.onerror),t.onload=u.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),r.p="/",r.gca=function(e){return e={17896441:"8401",40974919:"7956",67158350:"7144",74876495:"6505",a9e1a7f6:"3",b92f705c:"217","1c734f75":"435",f5f07875:"491","471df853":"517","31e90f3c":"757","71cf7fe6":"806","5818c28e":"921",cf6ffe2f:"1043",dc3fdd24:"1121","0a0a6d3c":"1135","6432bc55":"1217","35a5de3c":"1298",f4a6e698:"1346",eb3b0997:"1392","6948bca1":"1431","69a4ab96":"1799","18cf5ace":"1873","1a4e3797":"2138",afef705c:"2422",ce3fa444:"2539",ee5d850a:"2590",f9cc156b:"2664","2c412ea7":"2736","25f17725":"2938",dbb131dd:"3022","640bc8a0":"3029",f75b37f5:"3462","2461ffa2":"3503","904d61ef":"3590","9d6fd8ea":"3838","9791fd42":"3989",cd90435d:"4105","393be207":"4134","0c21af39":"4274","3c835dee":"4315",da60bc8f:"4411","1df93b7f":"4583","496bf018":"4667",e0a8f778:"4867","8660bbc8":"4914","2f1b3cda":"5153","30334fcd":"5167","53bb5fc4":"5331",dd0670d3:"5347","0ae8b3d4":"5356","36ea7a08":"5602","30ec1363":"5647",eb23a929:"5718","88eaec5a":"5747","2bafca50":"5901",e187e321:"5929","1f391b9e":"6061","19682bb8":"6097",d5417e33:"6161","4e664dc4":"6171",bd23e567:"6231","1c42a294":"6251",dc737160:"6276","5e50ba72":"6342",a584ba2a:"6353","0e9953cd":"6421","3c585fdb":"6585",b46ab14b:"6647",c296437a:"6682",e7c796a6:"6713",a309f86e:"6715","262418cd":"6723",f8409a7e:"6903","1ce51947":"7000",fa1a3aa0:"7025",d83b78fc:"7060","58160c0b":"7268","600a9360":"7642","3ec2c3f7":"7943","9a9c044b":"8083",c1424005:"8172",fe0957ee:"8359","935f2afb":"8581",d76e6194:"8659","1be78505":"8714","57b59cd4":"8880","21b4b958":"9082","4cc2c078":"9087","6a90d500":"9122","5ea65e65":"9249",c76f729d:"9425","6edc47f3":"9657","30256b0d":"9761","07f0ce13":"9814","070b53d1":"9935","507542a3":"9938","972382ea":"9958"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index 8135655..bf0efeb 100644
--- a/community/index.html
+++ b/community/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/api/index.html b/docs/api/index.html
index 4fad486..d28dfc7 100644
--- a/docs/api/index.html
+++ b/docs/api/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -48,7 +48,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/contributing-page/index.html b/docs/contributing/contributing-page/index.html
index 3656e20..d8a819a 100644
--- a/docs/contributing/contributing-page/index.html
+++ b/docs/contributing/contributing-page/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/conventions-and-typing/index.html b/docs/contributing/conventions-and-typing/index.html
index 930e414..bfbb1d5 100644
--- a/docs/contributing/conventions-and-typing/index.html
+++ b/docs/contributing/conventions-and-typing/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -49,7 +49,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/creating-viz-plugins/index.html b/docs/contributing/creating-viz-plugins/index.html
index 0f4e56c..400b5bf 100644
--- a/docs/contributing/creating-viz-plugins/index.html
+++ b/docs/contributing/creating-viz-plugins/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -61,7 +61,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/hooks-and-linting/index.html b/docs/contributing/hooks-and-linting/index.html
index f83c4c9..e199198 100644
--- a/docs/contributing/hooks-and-linting/index.html
+++ b/docs/contributing/hooks-and-linting/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/local-backend/index.html b/docs/contributing/local-backend/index.html
index 7704796..3d99477 100644
--- a/docs/contributing/local-backend/index.html
+++ b/docs/contributing/local-backend/index.html
@@ -18,13 +18,13 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
 <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
 <div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/superset-logo-horiz.svg" alt="Superset Logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/superset-logo-horiz-dark.svg" alt="Superset Logo" class="themedImage_ToTc themedImage--dark_i4oU"></div></a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Documentation</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/intro">Getting Started</a></li><li><a class="dropdown__link" href="/docs/frequently-asked-questions">FAQ</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/community">Resources</a></li><li><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">GitHub<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="http://bit.ly/join-superset-slack" target="_blank" rel="noopener noreferrer" class="dropdown__link">Slack<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://lists.apache.org/list.html?dev@superset.apache.org" target="_blank" rel="noopener noreferrer" class="dropdown__link">Mailing List<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://stackoverflow.com/questions/tagged/apache-superset" target="_blank" rel="noopener noreferrer" class="dropdown__link">Stack Overflow<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link default-button-theme get-started-button" href="/docs/intro">Get Started</a><a href="https://github.com/apache/superset" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link github-button"></a><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/intro">Introduction</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/quickstart">Quickstart</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/installation/running-on-kubernetes">Installation and Configuration</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/creating-charts-dashboards/creating-your-first-dashboard">Creating Charts and Dashboards</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/databases/installing-database-drivers">Connecting to Databases</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" href="/docs/miscellaneous/country-map-tools">Miscellaneous</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/contributing/contributing-page">Contributing</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/contributing-page">Contributing to Superset</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/types-of-contributions">Types of Contributions</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/pull-request-guidelines">Pull Request Guidelines</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/style-guide">Style Guide</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/contributing/local-backend">Running a Local Flask Backend</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/hooks-and-linting">Pre-commit Hooks and Linting</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/conventions-and-typing">Conventions and Typing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/testing-locally">Testing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/translations">Translating</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/contributing/creating-viz-plugins">Creating Visualization Plugins</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/frequently-asked-questions">Frequently Asked Questions</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/docs/security/">Security</a><button aria-label="Toggle the collapsible sidebar category &#x27;Security&#x27;" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/docs/api">API</a></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><style data-emotion-css="hrzriw">.css-hrzriw{position:fixed;bottom:40px;right:10px;padding:1rem;padding-left:4rem;background-color:#444;border-radius:10px;z-index:9999;background-image:url('/img/github-dark.png');background-size:2rem;background-position:1rem center;background-repeat:no-repeat;-webkit-transition:background-color 0.3s;transition:background-color 0.3s;bpx-shadow:0 0 0 0 rgba(0,0,0,0);scale:.9;-webkit-transition:all 0.3s;transition:all 0.3s;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;}.css-hrzriw:hover{background-color:#333;box-shadow:5px 5px 10px 0 rgba(0,0,0,0.3);scale:1;}</style><a href="https://github.com/apache/superset/edit/master/docs/docs/contributing/local-backend.mdx" target="_blank" rel="noopener noreferrer" class="css-hrzriw">Edit this page on GitHub</a><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Contributing</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Running a Local Flask Backend</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h3 class="anchor anchorWithStickyNavbar_LWe7" id="flask-server">Flask server<a href="#flask-server" class="hash-link" aria-label="Direct link to Flask server" title="Direct link to Flask server">​</a></h3><h4 class="anchor anchorWithStickyNavbar_LWe7" id="os-dependencies">OS Dependencies<a href="#os-dependencies" class="hash-link" aria-label="Direct link to OS Dependencies" title="Direct link to OS Dependencies">​</a></h4><p>Make sure your machine meets the <a href="/docs/installation/installing-superset-from-pypi#os-dependencies">OS dependencies</a> before following these steps.
-You also need to install MySQL or <a href="https://mariadb.com/downloads" target="_blank" rel="noopener noreferrer">MariaDB</a>.</p><p>Ensure that you are using Python version 3.9 or 3.10, then proceed with:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Create a virtual environment and activate it (recommended)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">python3 -m venv venv </span><span class="token comment" style="color:#999988;font-style:italic"># setup a python3 virtualenv</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">source</span><span class="token plain"> venv/bin/activate</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install external dependencies</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> -r requirements/development.txt</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install Superset in editable (development) mode</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> -e </span><span class="token builtin class-name">.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Initialize the database</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note: For generating a SECRET_KEY if you haven&#x27;t done already, you can use the command:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># echo &quot;SECRET_KEY=&#x27;$(openssl rand -base64 42)&#x27;&quot; | tee -a superset_config.py</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset db upgrade</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Create an admin user in your metadata database (use `admin` as username to be able to load the examples)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset fab create-admin</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Create default roles and permissions</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset init</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Load some data to play with.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note: you MUST have previously created an admin user with the username `admin` for this command to work.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset load-examples</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Start the Flask dev web server from inside your virtualenv.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note that your page may not have CSS at this point.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset run -p </span><span class="token number" style="color:#36acaa">8088</span><span class="token plain"> --with-threads --reload --debugger --debug</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Or you can install via our Makefile</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Create a virtual environment and activate it (recommended)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">python3 -m venv venv </span><span class="token comment" style="color:#999988;font-style:italic"># setup a python3 virtualenv</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">source</span><span class="token plain"> venv/bin/activate</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install pip packages + pre-commit</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install superset pip packages and setup env only</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Setup pre-commit only</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> pre-commit</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><strong>Note: the FLASK_APP env var should not need to be set, as it&#x27;s currently controlled
+You also need to install MySQL or <a href="https://mariadb.com/downloads" target="_blank" rel="noopener noreferrer">MariaDB</a>.</p><p>Ensure that you are using Python version 3.10 or 3.11, then proceed with:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Create a virtual environment and activate it (recommended)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">python3 -m venv venv </span><span class="token comment" style="color:#999988;font-style:italic"># setup a python3 virtualenv</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">source</span><span class="token plain"> venv/bin/activate</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install external dependencies</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> -r requirements/development.txt</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install Superset in editable (development) mode</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> -e </span><span class="token builtin class-name">.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Initialize the database</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note: For generating a SECRET_KEY if you haven&#x27;t done already, you can use the command:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># echo &quot;SECRET_KEY=&#x27;$(openssl rand -base64 42)&#x27;&quot; | tee -a superset_config.py</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset db upgrade</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Create an admin user in your metadata database (use `admin` as username to be able to load the examples)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset fab create-admin</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Create default roles and permissions</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset init</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Load some data to play with.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note: you MUST have previously created an admin user with the username `admin` for this command to work.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset load-examples</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Start the Flask dev web server from inside your virtualenv.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Note that your page may not have CSS at this point.</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">superset run -p </span><span class="token number" style="color:#36acaa">8088</span><span class="token plain"> --with-threads --reload --debugger --debug</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Or you can install via our Makefile</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Create a virtual environment and activate it (recommended)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">python3 -m venv venv </span><span class="token comment" style="color:#999988;font-style:italic"># setup a python3 virtualenv</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin class-name">source</span><span class="token plain"> venv/bin/activate</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># install pip packages + pre-commit</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Install superset pip packages and setup env only</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> superset</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic"># Setup pre-commit only</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token function" style="color:#d73a49">make</span><span class="token plain"> pre-commit</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p><strong>Note: the FLASK_APP env var should not need to be set, as it&#x27;s currently controlled
 via <code>.flaskenv</code>, however if needed, it should be set to <code>superset.app:create_app()</code></strong></p><p>If you have made changes to the FAB-managed templates, which are not built the same way as the newer, React-powered front-end assets, you need to start the app without the <code>--with-threads</code> argument like so:
 <code>superset run -p 8088 --reload --debugger --debug</code></p><h4 class="anchor anchorWithStickyNavbar_LWe7" id="dependencies">Dependencies<a href="#dependencies" class="hash-link" aria-label="Direct link to Dependencies" title="Direct link to Dependencies">​</a></h4><p>If you add a new requirement or update an existing requirement (per the <code>install_requires</code> section in <code>setup.py</code>) you must recompile (freeze) the Python dependencies to ensure that for CI, testing, etc. the build is deterministic. This can be achieved via,</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">$ python3 -m venv venv</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ </span><span class="token builtin class-name">source</span><span class="token plain"> venv/bin/activate</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ python3 -m pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> -r requirements/development.txt</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">$ pip-compile-multi --no-upgrade</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h4 class="anchor anchorWithStickyNavbar_LWe7" id="logging-to-the-browser-console">Logging to the browser console<a href="#logging-to-the-browser-console" class="hash-link" aria-label="Direct link to Logging to the browser console" title="Direct link to Logging to the browser console">​</a></h4><p>This feature is only available on Python 3. When debugging your application, you can have the server logs sent directly to the browser console using the <a href="https://github.com/betodealmeida/consolelog" target="_blank" rel="noopener noreferrer">ConsoleLog</a> package. You need to mutate the app, by adding the following to your <code>config.py</code> or <code>superset_config.py</code>:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> console_log </span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> ConsoleLog</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">def</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">FLASK_APP_MUTATOR</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">app</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    app</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">wsgi_app </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> ConsoleLog</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">app</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">wsgi_app</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> app</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">logger</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Then make sure you run your WSGI server using the right worker type:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token assign-left variable" style="color:#36acaa">SUPERSET_ENV</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">development gunicorn </span><span class="token string" style="color:#e3116c">&quot;superset.app:create_app()&quot;</span><span class="token plain"> -k </span><span class="token string" style="color:#e3116c">&quot;geventwebsocket.gunicorn.workers.GeventWebSocketWorker&quot;</span><span class="token plain"> -b </span><span class="token number" style="color:#36acaa">127.0</span><span class="token plain">.0.1:8088 --reload</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>You can log anything to the browser console, including objects:</p><div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> superset </span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> app</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">app</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">logger</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">error</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&#x27;An exception occurred!&#x27;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">app</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">logger</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">info</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">form_data</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="frontend-assets">Frontend Assets<a href="#frontend-assets" class="hash-link" aria-label="Direct link to Frontend Assets" title="Direct link to Frontend Assets">​</a></h3><p>See <a href="https://github.com/apache/superset/blob/master/CONTRIBUTING.md#frontend" target="_blank" rel="noopener noreferrer">Building Frontend Assets Locally</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/apache/superset/edit/master/docs/docs/contributing/local-backend.mdx" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/contributing/style-guide"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Style Guide</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/contributing/hooks-and-linting"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Pre-commit Hooks and Linting</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#flask-server" class="table-of-contents__link toc-highlight">Flask server</a></li><li><a href="#frontend-assets" class="table-of-contents__link toc-highlight">Frontend Assets</a></li></ul></div></div></div></div></main></div></div><footer class="footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">
           <div class="footer__applitools">
@@ -48,7 +48,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/pull-request-guidelines/index.html b/docs/contributing/pull-request-guidelines/index.html
index 0e15d2d..89ab835 100644
--- a/docs/contributing/pull-request-guidelines/index.html
+++ b/docs/contributing/pull-request-guidelines/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/style-guide/index.html b/docs/contributing/style-guide/index.html
index 8f6666b..31c3a8e 100644
--- a/docs/contributing/style-guide/index.html
+++ b/docs/contributing/style-guide/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -48,7 +48,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/testing-locally/index.html b/docs/contributing/testing-locally/index.html
index f53ab29..abadf75 100644
--- a/docs/contributing/testing-locally/index.html
+++ b/docs/contributing/testing-locally/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/translations/index.html b/docs/contributing/translations/index.html
index 18704ee..b4a8f0a 100644
--- a/docs/contributing/translations/index.html
+++ b/docs/contributing/translations/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -76,7 +76,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/contributing/types-of-contributions/index.html b/docs/contributing/types-of-contributions/index.html
index ad4f6ef..716d764 100644
--- a/docs/contributing/types-of-contributions/index.html
+++ b/docs/contributing/types-of-contributions/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -56,7 +56,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
index ee6c4f6..6f90539 100644
--- a/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
+++ b/docs/creating-charts-dashboards/creating-your-first-dashboard/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -88,7 +88,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/creating-charts-dashboards/exploring-data/index.html b/docs/creating-charts-dashboards/exploring-data/index.html
index 8e0d5db..028a127 100644
--- a/docs/creating-charts-dashboards/exploring-data/index.html
+++ b/docs/creating-charts-dashboards/exploring-data/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -141,7 +141,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ascend/index.html b/docs/databases/ascend/index.html
index cd2104f..b58facb 100644
--- a/docs/databases/ascend/index.html
+++ b/docs/databases/ascend/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/athena/index.html b/docs/databases/athena/index.html
index 149cf5b..cd80cc1 100644
--- a/docs/databases/athena/index.html
+++ b/docs/databases/athena/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/bigquery/index.html b/docs/databases/bigquery/index.html
index 59130dd..93f4481 100644
--- a/docs/databases/bigquery/index.html
+++ b/docs/databases/bigquery/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/clickhouse/index.html b/docs/databases/clickhouse/index.html
index e3dfd04..4ea917e 100644
--- a/docs/databases/clickhouse/index.html
+++ b/docs/databases/clickhouse/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cockroachdb/index.html b/docs/databases/cockroachdb/index.html
index 85e3797..10c310f 100644
--- a/docs/databases/cockroachdb/index.html
+++ b/docs/databases/cockroachdb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/cratedb/index.html b/docs/databases/cratedb/index.html
index 0912695..a6558de 100644
--- a/docs/databases/cratedb/index.html
+++ b/docs/databases/cratedb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -49,7 +49,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/databend/index.html b/docs/databases/databend/index.html
index 4148d85..32ae02d 100644
--- a/docs/databases/databend/index.html
+++ b/docs/databases/databend/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/databricks/index.html b/docs/databases/databricks/index.html
index 9f7f541..253cc90 100644
--- a/docs/databases/databricks/index.html
+++ b/docs/databases/databricks/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/db-connection-ui/index.html b/docs/databases/db-connection-ui/index.html
index 394fea6..3a70c49 100644
--- a/docs/databases/db-connection-ui/index.html
+++ b/docs/databases/db-connection-ui/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/docker-add-drivers/index.html b/docs/databases/docker-add-drivers/index.html
index ce50399..62ad73c 100644
--- a/docs/databases/docker-add-drivers/index.html
+++ b/docs/databases/docker-add-drivers/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/doris/index.html b/docs/databases/doris/index.html
index 2ec3646..1e45011 100644
--- a/docs/databases/doris/index.html
+++ b/docs/databases/doris/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dremio/index.html b/docs/databases/dremio/index.html
index 37b4104..9c9e8f9 100644
--- a/docs/databases/dremio/index.html
+++ b/docs/databases/dremio/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/drill/index.html b/docs/databases/drill/index.html
index 0d5c95d..6d46486 100644
--- a/docs/databases/drill/index.html
+++ b/docs/databases/drill/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/druid/index.html b/docs/databases/druid/index.html
index fdb7f3e..fea84ff 100644
--- a/docs/databases/druid/index.html
+++ b/docs/databases/druid/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -58,7 +58,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/dynamodb/index.html b/docs/databases/dynamodb/index.html
index 652c007..6d82253 100644
--- a/docs/databases/dynamodb/index.html
+++ b/docs/databases/dynamodb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/elasticsearch/index.html b/docs/databases/elasticsearch/index.html
index d153e79..ea88942 100644
--- a/docs/databases/elasticsearch/index.html
+++ b/docs/databases/elasticsearch/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/exasol/index.html b/docs/databases/exasol/index.html
index ab82a12..cb1307e 100644
--- a/docs/databases/exasol/index.html
+++ b/docs/databases/exasol/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/extra-settings/index.html b/docs/databases/extra-settings/index.html
index f3272dc..e18d304 100644
--- a/docs/databases/extra-settings/index.html
+++ b/docs/databases/extra-settings/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebird/index.html b/docs/databases/firebird/index.html
index 6e89f09..dc7890c 100644
--- a/docs/databases/firebird/index.html
+++ b/docs/databases/firebird/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/firebolt/index.html b/docs/databases/firebolt/index.html
index e2b0f38..1960073 100644
--- a/docs/databases/firebolt/index.html
+++ b/docs/databases/firebolt/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/google-sheets/index.html b/docs/databases/google-sheets/index.html
index ac290d9..b9220fb 100644
--- a/docs/databases/google-sheets/index.html
+++ b/docs/databases/google-sheets/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -49,7 +49,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hana/index.html b/docs/databases/hana/index.html
index 6d87ed3..7dd7ff5 100644
--- a/docs/databases/hana/index.html
+++ b/docs/databases/hana/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hive/index.html b/docs/databases/hive/index.html
index 7ed2d79..c9752a8 100644
--- a/docs/databases/hive/index.html
+++ b/docs/databases/hive/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/hologres/index.html b/docs/databases/hologres/index.html
index 1a56a74..8e6bf65 100644
--- a/docs/databases/hologres/index.html
+++ b/docs/databases/hologres/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ibm-db2/index.html b/docs/databases/ibm-db2/index.html
index 385b8ba..33d006c 100644
--- a/docs/databases/ibm-db2/index.html
+++ b/docs/databases/ibm-db2/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/impala/index.html b/docs/databases/impala/index.html
index 2d0c282..c745624 100644
--- a/docs/databases/impala/index.html
+++ b/docs/databases/impala/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/installing-database-drivers/index.html b/docs/databases/installing-database-drivers/index.html
index 79b88e0..4b1416b 100644
--- a/docs/databases/installing-database-drivers/index.html
+++ b/docs/databases/installing-database-drivers/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -56,7 +56,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kusto/index.html b/docs/databases/kusto/index.html
index 833c672..8620049 100644
--- a/docs/databases/kusto/index.html
+++ b/docs/databases/kusto/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/kylin/index.html b/docs/databases/kylin/index.html
index 3d3f8fd..5866fd7 100644
--- a/docs/databases/kylin/index.html
+++ b/docs/databases/kylin/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/meta-database/index.html b/docs/databases/meta-database/index.html
index a573f99..9bdf22e 100644
--- a/docs/databases/meta-database/index.html
+++ b/docs/databases/meta-database/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/mysql/index.html b/docs/databases/mysql/index.html
index 6d16a33..feceea3 100644
--- a/docs/databases/mysql/index.html
+++ b/docs/databases/mysql/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/netezza/index.html b/docs/databases/netezza/index.html
index fb1df2a..be6c234 100644
--- a/docs/databases/netezza/index.html
+++ b/docs/databases/netezza/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/ocient/index.html b/docs/databases/ocient/index.html
index 4e7a7db..a97926c 100644
--- a/docs/databases/ocient/index.html
+++ b/docs/databases/ocient/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/oracle/index.html b/docs/databases/oracle/index.html
index 2cb04b7..8d5131d 100644
--- a/docs/databases/oracle/index.html
+++ b/docs/databases/oracle/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/pinot/index.html b/docs/databases/pinot/index.html
index 5a4e4c4..145eff8 100644
--- a/docs/databases/pinot/index.html
+++ b/docs/databases/pinot/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/postgres/index.html b/docs/databases/postgres/index.html
index f29fab1..1bcf319 100644
--- a/docs/databases/postgres/index.html
+++ b/docs/databases/postgres/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -50,7 +50,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/presto/index.html b/docs/databases/presto/index.html
index 5588f73..46a1cd1 100644
--- a/docs/databases/presto/index.html
+++ b/docs/databases/presto/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/redshift/index.html b/docs/databases/redshift/index.html
index b295835..6842941 100644
--- a/docs/databases/redshift/index.html
+++ b/docs/databases/redshift/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/risingwave/index.html b/docs/databases/risingwave/index.html
index 2a04d57..7bbcd6a 100644
--- a/docs/databases/risingwave/index.html
+++ b/docs/databases/risingwave/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/rockset/index.html b/docs/databases/rockset/index.html
index fa59c4d..f6cf9c4 100644
--- a/docs/databases/rockset/index.html
+++ b/docs/databases/rockset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/snowflake/index.html b/docs/databases/snowflake/index.html
index 620763f..7cf18d7 100644
--- a/docs/databases/snowflake/index.html
+++ b/docs/databases/snowflake/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/solr/index.html b/docs/databases/solr/index.html
index 535e592..e663c59 100644
--- a/docs/databases/solr/index.html
+++ b/docs/databases/solr/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/spark-sql/index.html b/docs/databases/spark-sql/index.html
index b022298..a4c838b 100644
--- a/docs/databases/spark-sql/index.html
+++ b/docs/databases/spark-sql/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/sql-server/index.html b/docs/databases/sql-server/index.html
index bdb7c66..b854f23 100644
--- a/docs/databases/sql-server/index.html
+++ b/docs/databases/sql-server/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/starrocks/index.html b/docs/databases/starrocks/index.html
index adf085b..0a5e6e0 100644
--- a/docs/databases/starrocks/index.html
+++ b/docs/databases/starrocks/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/teradata/index.html b/docs/databases/teradata/index.html
index 3b16135..13fab64 100644
--- a/docs/databases/teradata/index.html
+++ b/docs/databases/teradata/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/timescaledb/index.html b/docs/databases/timescaledb/index.html
index 630186e..1db3fa4 100644
--- a/docs/databases/timescaledb/index.html
+++ b/docs/databases/timescaledb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -46,7 +46,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/trino/index.html b/docs/databases/trino/index.html
index 05b7bc6..21170d3 100644
--- a/docs/databases/trino/index.html
+++ b/docs/databases/trino/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/vertica/index.html b/docs/databases/vertica/index.html
index d144579..89ab63f 100644
--- a/docs/databases/vertica/index.html
+++ b/docs/databases/vertica/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/databases/yugabytedb/index.html b/docs/databases/yugabytedb/index.html
index 4a6b629..35e2bb2 100644
--- a/docs/databases/yugabytedb/index.html
+++ b/docs/databases/yugabytedb/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/frequently-asked-questions/index.html b/docs/frequently-asked-questions/index.html
index 5ccc692..e3350e8 100644
--- a/docs/frequently-asked-questions/index.html
+++ b/docs/frequently-asked-questions/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -133,7 +133,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/alerts-reports/index.html b/docs/installation/alerts-reports/index.html
index 6ce941c..5e6e463 100644
--- a/docs/installation/alerts-reports/index.html
+++ b/docs/installation/alerts-reports/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -64,7 +64,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/async-queries-celery/index.html b/docs/installation/async-queries-celery/index.html
index 4ef7340..ba3f099 100644
--- a/docs/installation/async-queries-celery/index.html
+++ b/docs/installation/async-queries-celery/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -61,7 +61,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/cache/index.html b/docs/installation/cache/index.html
index 1202f7a..7376a03 100644
--- a/docs/installation/cache/index.html
+++ b/docs/installation/cache/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -64,7 +64,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/configuring-superset/index.html b/docs/installation/configuring-superset/index.html
index d8b47a5..bdee5cd 100644
--- a/docs/installation/configuring-superset/index.html
+++ b/docs/installation/configuring-superset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -98,7 +98,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/docker/index.html b/docs/installation/docker/index.html
index dde3a2f..850941a 100644
--- a/docs/installation/docker/index.html
+++ b/docs/installation/docker/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -33,7 +33,7 @@
 prefixed with <code>master</code> for the latest <code>master</code> version.</li></ul><h1>Build presets</h1><p>We have a set of build &quot;presets&quot; that each represent a combination of
 parameters for the build, mostly pointing to either different target layer
 for the build, and/or base image.</p><p>Here are the build presets that are exposed through the <code>build_docker.py</code> script:</p><ul><li><code>lean</code>: The default Docker image, including both frontend and backend. Tags
-without a build_preset are lean builds, e.g., <code>latest</code>.</li><li><code>dev</code>: For development, with a headless browser, dev-related utilities and root access.</li><li><code>py310</code>, e.g., Py310: Similar to lean but with a different Python version (in this example, 3.10).</li><li><code>ci</code>: For certain CI workloads.</li><li><code>websocket</code>: For Superset clusters supporting advanced features.</li><li><code>dockerize</code>: Used by Helm.</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-tags-examples">Key tags examples<a href="#key-tags-examples" class="hash-link" aria-label="Direct link to Key tags examples" title="Direct link to Key tags examples">​</a></h2><ul><li><code>latest</code>: The latest official release build</li><li><code>latest-dev</code>: the <code>-dev</code> image of the latest official release build, with a
+without a build_preset are lean builds, e.g., <code>latest</code>.</li><li><code>dev</code>: For development, with a headless browser, dev-related utilities and root access.</li><li><code>py311</code>, e.g., Py311: Similar to lean but with a different Python version (in this example, 3.11).</li><li><code>ci</code>: For certain CI workloads.</li><li><code>websocket</code>: For Superset clusters supporting advanced features.</li><li><code>dockerize</code>: Used by Helm.</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="key-tags-examples">Key tags examples<a href="#key-tags-examples" class="hash-link" aria-label="Direct link to Key tags examples" title="Direct link to Key tags examples">​</a></h2><ul><li><code>latest</code>: The latest official release build</li><li><code>latest-dev</code>: the <code>-dev</code> image of the latest official release build, with a
 headless browser and root access.</li><li><code>master</code>: The latest build from the <code>master</code> branch, implicitly the lean build
 preset</li><li><code>master-dev</code>: Similar to <code>master</code> but includes a headless browser and root access.</li><li><code>pr-5252</code>: The latest commit in PR 5252.</li><li><code>30948dc401b40982cb7c0dbf6ebbe443b2748c1b-dev</code>: A build for
 this specific SHA, which could be from a <code>master</code> merge, or release.</li><li><code>websocket-latest</code>: The WebSocket image for use in a Superset cluster.</li></ul><p>For insights or modifications to the build matrix and tagging conventions,
@@ -78,7 +78,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/event-logging/index.html b/docs/installation/event-logging/index.html
index 4d3ad21..b2a7f01 100644
--- a/docs/installation/event-logging/index.html
+++ b/docs/installation/event-logging/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -51,7 +51,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-from-pypi/index.html b/docs/installation/installing-superset-from-pypi/index.html
index f55761c..f120878 100644
--- a/docs/installation/installing-superset-from-pypi/index.html
+++ b/docs/installation/installing-superset-from-pypi/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -54,7 +54,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/installing-superset-using-docker-compose/index.html b/docs/installation/installing-superset-using-docker-compose/index.html
index f7a475d..33f3e50 100644
--- a/docs/installation/installing-superset-using-docker-compose/index.html
+++ b/docs/installation/installing-superset-using-docker-compose/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -141,7 +141,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/networking-settings/index.html b/docs/installation/networking-settings/index.html
index 0cfb07c..527e4d0 100644
--- a/docs/installation/networking-settings/index.html
+++ b/docs/installation/networking-settings/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/running-on-kubernetes/index.html b/docs/installation/running-on-kubernetes/index.html
index f4ac292..1e7653a 100644
--- a/docs/installation/running-on-kubernetes/index.html
+++ b/docs/installation/running-on-kubernetes/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -56,7 +56,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/setup-ssh-tunneling/index.html b/docs/installation/setup-ssh-tunneling/index.html
index 7dae410..0cad9ca 100644
--- a/docs/installation/setup-ssh-tunneling/index.html
+++ b/docs/installation/setup-ssh-tunneling/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/sql-templating/index.html b/docs/installation/sql-templating/index.html
index 5440cdd..672f1af 100644
--- a/docs/installation/sql-templating/index.html
+++ b/docs/installation/sql-templating/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -84,7 +84,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/installation/upgrading-superset/index.html b/docs/installation/upgrading-superset/index.html
index 9f99fbb..0fbeb1f 100644
--- a/docs/installation/upgrading-superset/index.html
+++ b/docs/installation/upgrading-superset/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -47,7 +47,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/intro/index.html b/docs/intro/index.html
index bd7f601..d17b0e2 100644
--- a/docs/intro/index.html
+++ b/docs/intro/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -55,7 +55,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/chart-params/index.html b/docs/miscellaneous/chart-params/index.html
index a44ce25..eef30d8 100644
--- a/docs/miscellaneous/chart-params/index.html
+++ b/docs/miscellaneous/chart-params/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/country-map-tools/index.html b/docs/miscellaneous/country-map-tools/index.html
index 94a0651..f748f07 100644
--- a/docs/miscellaneous/country-map-tools/index.html
+++ b/docs/miscellaneous/country-map-tools/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -52,7 +52,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/importing-exporting-datasources/index.html b/docs/miscellaneous/importing-exporting-datasources/index.html
index b9ca4de..78bf513 100644
--- a/docs/miscellaneous/importing-exporting-datasources/index.html
+++ b/docs/miscellaneous/importing-exporting-datasources/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -56,7 +56,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/issue-codes/index.html b/docs/miscellaneous/issue-codes/index.html
index c94593b..4045ae1 100644
--- a/docs/miscellaneous/issue-codes/index.html
+++ b/docs/miscellaneous/issue-codes/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -74,7 +74,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/miscellaneous/timezones/index.html b/docs/miscellaneous/timezones/index.html
index 5ab9870..8fd3d3e 100644
--- a/docs/miscellaneous/timezones/index.html
+++ b/docs/miscellaneous/timezones/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/quickstart/index.html b/docs/quickstart/index.html
index d32047c..4add04c 100644
--- a/docs/quickstart/index.html
+++ b/docs/quickstart/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -62,7 +62,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/security/cves/index.html b/docs/security/cves/index.html
index 530efdd..25698ac 100644
--- a/docs/security/cves/index.html
+++ b/docs/security/cves/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/docs/security/index.html b/docs/security/index.html
index f84bf5b..47ed4d1 100644
--- a/docs/security/index.html
+++ b/docs/security/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -144,7 +144,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index d4145ff..acb1e61 100644
--- a/index.html
+++ b/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/markdown-page/index.html b/markdown-page/index.html
index 8b3228d..bb98268 100644
--- a/markdown-page/index.html
+++ b/markdown-page/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file
diff --git a/search/index.html b/search/index.html
index 0860049..60b56e4 100644
--- a/search/index.html
+++ b/search/index.html
@@ -18,7 +18,7 @@
 
 <script src="/script/matomo.js"></script>
 <script src="https://www.bugherd.com/sidebarv2.js?apikey=enilpiu7bgexxsnoqfjtxa" async></script><link rel="stylesheet" href="/assets/css/styles.686b4caa.css">
-<link rel="preload" href="/assets/js/runtime~main.7b16ab3a.js" as="script">
+<link rel="preload" href="/assets/js/runtime~main.174250fd.js" as="script">
 <link rel="preload" href="/assets/js/main.3731fa1c.js" as="script">
 </head>
 <body class="navigation-with-keyboard">
@@ -45,7 +45,7 @@
           <!-- telemetry/analytics pixel: -->
           <img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68">
           </div></div></div></footer></div>
-<script src="/assets/js/runtime~main.7b16ab3a.js"></script>
+<script src="/assets/js/runtime~main.174250fd.js"></script>
 <script src="/assets/js/main.3731fa1c.js"></script>
 </body>
 </html>
\ No newline at end of file