Compare commits

..
Author SHA1 Message Date
Marius DavidsenandGitHub def7cd1b89 chore: helm chart: bump appVersion to 3.0.1 (#25709) 2023-10-19 14:16:02 -07:00
Sebastian LiebscherandGitHub 505678b37b chore: Change the format for sha512 sum for releases (#25577) 2023-10-19 16:26:20 -03:00
39ad3226c7 feat: add database and schema names to dataset option (#25569)
Co-authored-by: Sonia <sonia.gautam@agoda.com>
2023-10-19 12:05:58 -06:00
Corbin BullardandGitHub dfff3c1cba feat: Funnel/tooltip-customization (#25666) 2023-10-19 12:04:29 -06:00
Igor KhrolandGitHub da42bf2dbb fix: remove unnecessary redirect (#25679) 2023-10-19 12:03:44 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
07796b7528 build(deps-dev): bump @types/cookie from 0.5.1 to 0.5.3 in /superset-websocket (#25689)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:03:16 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e29e2684d0 build(deps-dev): bump @types/uuid from 9.0.4 to 9.0.6 in /superset-websocket (#25701)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 12:02:50 -06:00
RahulandGitHub bac5a85541 docs(README): remove typo (#25710) 2023-10-19 12:02:07 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1d37f3a15b build(deps-dev): bump @types/node from 20.8.6 to 20.8.7 in /superset-websocket (#25700)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 09:50:30 -07:00
Rob MooreandGitHub 4e94fc4cff fix(sqllab): reinstate "Force trino client async execution" (#25680) 2023-10-19 16:38:13 +03:00
e7cdfeeb2c feat: Add week time grain for Elasticsearch datasets (#25683)
Co-authored-by: Mikel Vuka <mikel.vuka@zalando.de>
2023-10-18 19:39:16 -07:00
Elizabeth ThompsonandGitHub 26498fc099 chore: add latest-official docker tag (#25322) 2023-10-18 16:59:30 -07:00
OskarNSandGitHub be82657940 fix(dremio): Fixes issue with Dremio SQL generation for Charts with Series Limit (#25657) 2023-10-18 15:54:27 -04:00
Michael S. MolinaandGitHub dc06fb8b11 chore: Adds 3.0.1 data to CHANGELOG.md (#25691) 2023-10-18 15:48:18 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8b32b2abd3 build(deps-dev): bump @types/jsonwebtoken from 9.0.3 to 9.0.4 in /superset-websocket (#25688)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 10:22:31 -07:00
Hugh A. Miles IIandGitHub a27a809f07 fix(tags): +n tags for listview (#25603) 2023-10-17 23:39:15 -04:00
John BodleyandGitHub 32e37d8cda chore: Cleanup hostNamesConfig.js (#25543) 2023-10-17 15:58:43 -07:00
JUST.in DO ITandGitHub 16cc089b19 fix: warning of nth-child (#23638) 2023-10-17 15:33:07 -04:00
JUST.in DO ITandGitHub deef3b04eb feat(sqllab): ResultTable extension (#25423) 2023-10-17 14:03:35 -04:00
Arnout EngelenandGitHub 150e5c90f7 docs: make project-specific security page more prominent (#25654) 2023-10-17 13:43:38 -04:00
Daniel Vaz GasparandGitHub f473d13d0d fix: improve upload ZIP file validation (#25658) 2023-10-17 18:28:09 +01:00
Ville BrofeldtandGitHub cb963585ad chore: sync lock files (#25667) 2023-10-17 09:51:35 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1991d240bf build(deps-dev): bump @babel/traverse from 7.16.0 to 7.23.2 in /superset-websocket (#25661)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:50:33 -07:00
JackandGitHub 51c56dd2a0 fix(header navlinks): link navlinks to path prefix (#25495) 2023-10-17 09:45:25 -07:00
e58a3aba54 fix: permalink save/overwrites in explore (#25112)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-10-16 14:00:09 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
18a1c8d7d8 build(deps-dev): bump @types/node from 20.8.5 to 20.8.6 in /superset-websocket (#25653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 09:57:32 -07:00
Jack FragassiandGitHub a0a0d8043f fix(import): Make sure query context is overwritten for overwriting imports (#25493) 2023-10-16 09:49:55 -07:00
Ville BrofeldtandGitHub 8c6bd4ef04 chore: bump pip-tools (#25645) 2023-10-15 07:40:10 -07:00
Igor KhrolandGitHub 99f79f5143 fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE (#25553) 2023-10-13 13:30:19 -06:00
SeanandGitHub 56f74e5215 docs: invert logo color for dark theme in README (#25537) 2023-10-13 13:29:34 -06:00
e8783033f8 chore: adding resource links to readme (#25629)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 13:28:24 -06:00
Josh SorefandGitHub 5054b9fade build(ci): Provide diff for pre-commit failures (#25638)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 11:00:09 -07:00
Hugh A. Miles IIandGitHub 9074f72959 fix(tags): Polish + Better messaging for skipped tags with bad permissions (#25578) 2023-10-13 13:13:59 -04:00
JUST.in DO ITandGitHub b370c66308 fix(sqllab): template validation error within comments (#25626) 2023-10-13 11:07:54 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4a01b6006c build(deps-dev): bump @types/node from 20.8.4 to 20.8.5 in /superset-websocket (#25632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 10:54:50 -06:00
Josh SorefandGitHub bfcca8cbab chore(helm): spelling: initialize (#25455)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-10-13 09:37:51 -07:00
59fc5a6184 docs: BugHerd Tasks 88, 89, 90, 91 (#25567)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-13 11:18:08 -04:00
JUST.in DO ITandGitHub a520124a78 fix(sqllab): Mistitled for new tab after rename (#25523) 2023-10-13 11:17:45 -04:00
JUST.in DO ITandGitHub 003001f19f fix(sqllab): Allow opening of SQL Lab in new browser tab (#25582) 2023-10-13 11:16:50 -04:00
Ville BrofeldtandGitHub e56e0de458 fix: revert fix(sqllab): Force trino client async execution (#24859) (#25541) 2023-10-13 11:58:20 +00:00
Evan RusackasandGitHub ef1807cd7e chore(feature?): Bump scarf-js to 1.3.0 to get more telemetry data (#25602) 2023-10-12 09:43:30 -06:00
JUST.in DO ITandGitHub 2dc5c5f53f feat(sqllab): Add keyboard shortcut helper (#25542) 2023-10-12 11:13:37 -04:00
Beto DealmeidaandGitHub 62bffaf935 fix: finestTemporalGrainFormatter (#25618) 2023-10-11 15:57:23 -06:00
Beto DealmeidaandGitHub 63964bb520 fix(test-db): engine params (#25615) 2023-10-11 12:45:33 -06:00
FabienandGitHub b97f8f03ac fix(window): unavailable localStorage and sessionStorage (#25599) 2023-10-11 11:31:30 -06:00
Corbin BullardandGitHub f556ef53f3 fix(Charts): Set max row limit + removed the option to use an empty row limit value (#25579) 2023-10-11 11:31:21 -06:00
be3714e131 fix(Presto): catch DatabaseError when testing Presto views (#25559)
Co-authored-by: Rui Zhao <zhaorui@dropbox.com>
2023-10-11 11:31:07 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d0f2c5581d build(deps): bump postcss from 8.3.11 to 8.4.31 in /docs (#25502)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 11:30:35 -06:00
1f20214244 docs: Add timezone information (#19056)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-10-11 11:30:23 -06:00
Igor KhrolandGitHub 52f631a038 fix: thubmnails loading - Talisman default config (#25486) 2023-10-11 11:30:09 -06:00
Sandeep PatelandGitHub eb9cd2a2a5 refactor: Issue #25040; Refactored sync_role_definition function in order to reduce number of query. (#25340) 2023-10-11 11:29:52 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3f85239053 build(deps-dev): bump @types/ws from 8.5.6 to 8.5.7 in /superset-websocket (#25606)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 10:22:29 -07:00
Kamil GabryjelskiandGitHub cef68f8a9a fix: Breaking change in MachineAuthProvider constructor (#25532) 2023-10-11 15:38:31 +02:00
Multazim DeshmukhandGitHub 050543ae1b feat: migrate to docker compose v2 (#25565) 2023-10-10 14:38:40 -07:00
Corbin BullardandGitHub a6d0e6f37a fix(RLS): Fix Info Tooltip + Button Alignment on RLS Modal (#25400) 2023-10-10 20:52:37 +03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d1ba4dc284 build(deps): bump winston from 3.10.0 to 3.11.0 in /superset-websocket (#25585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:54:41 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
593daac614 build(deps-dev): bump @types/node from 20.8.2 to 20.8.4 in /superset-websocket (#25584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-10 09:53:31 -07:00
Daniel Vaz GasparandGitHub 549abb542b fix: REST API CSRF exempt list (#25590) 2023-10-10 12:53:37 +01:00
Matthew ChiangandGitHub 512fb9a0bd feat: Add Deck.gl Contour Layer (#24154) 2023-10-10 11:20:37 +02:00
EugeneTorapandGitHub 42d0474cc2 chore: Update pylint to 2.17.7 (#25566) 2023-10-09 11:51:41 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e0a7488005 build(deps-dev): bump eslint from 8.49.0 to 8.51.0 in /superset-websocket (#25574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 09:58:47 -07:00
Sebastian LiebscherandGitHub 178607093f fix: Make host.docker.internal available on linux (#25547) 2023-10-06 10:38:31 -07:00
Kamil GabryjelskiandGitHub 58fcd292a9 fix: Apply normalization to all dttm columns (#25147) 2023-10-06 09:47:00 -07:00
17792a507c feat(plugin-chart-echarts): Echarts Waterfall (#17906)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-06 10:08:16 -03:00
Hugh A. Miles IIandGitHub 0c40bea064 fix: Tags Page ListView size to 10 (#25536) 2023-10-05 15:03:19 -04:00
Beto DealmeidaandGitHub 89b05993a3 fix(test-db): removed attribute (#25525) 2023-10-05 10:47:30 -07:00
Hugh A. Miles IIandGitHub 4532079c71 fix(tags): Update loading + pagination for Tags Page (#25473) 2023-10-05 13:46:10 -04:00
dcfebfce9d fix(tags): fix clears delete on Tags Modal (#25470)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2023-10-05 13:37:53 -04:00
JUST.in DO ITandGitHub 34f99708d4 chore(sqllab): Typescript for SqlEditor component (#25228) 2023-10-05 12:33:01 -04:00
c81c60c91f feat: Adds the ECharts Bubble chart (#22107)
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
2023-10-05 07:58:46 -03:00
Igor KhrolandGitHub 50b0816e37 fix: tags permissions error message (#25516) 2023-10-04 16:30:56 -04:00
Hugh A. Miles IIandGitHub 1fb2c62c02 chore(tags): don't allow users to create new tags from property dropdowns (#25507) 2023-10-04 15:51:55 -04:00
JUST.in DO ITandGitHub 5ab1e7eae4 feat(sqllab): SPA migration (#25151) 2023-10-04 15:21:41 -04:00
Lily KuangandGitHub af661ceee2 chore(tags): move tags column in dashboard and chart list (#25504) 2023-10-04 12:07:27 -07:00
87c8e872ee docs: fix for domain sharding results in failed requests with "Missing Authorization Header" (#24481)
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-10-04 11:37:52 -07:00
JUST.in DO ITandGitHub ba541e8022 chore: Expand error detail on screencapture (#25519) 2023-10-04 14:06:22 -04:00
JUST.in DO ITandGitHub b92957e510 fix(sqllab): Broken query containing 'children' (#25490) 2023-10-04 14:06:01 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dab18250d7 build(deps): bump ws and @types/ws in /superset-websocket (#25508)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 10:27:28 -07:00
Kamil GabryjelskiandGitHub ff95d0face feat: Implement using Playwright for taking screenshots in reports (#25247) 2023-10-04 06:51:58 +02:00
Hugh A. Miles IIandGitHub 53013395d7 fix: Tags Polish II (#25496) 2023-10-03 20:41:01 -04:00
Beto DealmeidaandGitHub 3e63c82ecc feat: generic marshmallow error component (#25303) 2023-10-03 11:35:28 -07:00
mapledanandGitHub dbe0838f8f fix: Unable to sync columns when database or dataset name contains + (#25390) 2023-10-03 11:15:01 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e3244e9056 build(deps-dev): bump @types/node from 20.6.0 to 20.8.2 in /superset-websocket (#25498)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:53:11 -07:00
7a88ad3c02 docs: define localhost for docker (#25480)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:37:26 -04:00
23996b59a1 docs: update docker compose instructions (#25479)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:28 -04:00
789e6b76ae docs: add a FAQ about asset recovery from UI (#25482)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:35:15 -04:00
c52c206d05 docs: add https & ldap instructions (#25477)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-10-03 09:33:54 -04:00
Craig RuedaandGitHub db7f5fed31 chore(async): Initial Refactoring of Global Async Queries (#25466) 2023-10-02 17:22:07 -07:00
John BodleyandGitHub 36ed617090 fix: Address Mypy issue which is causing CI to fail (#25494) 2023-10-02 14:32:21 -07:00
Yaswanth-PerumallaandGitHub 0d0a81c0d2 fix(Indian Map Changes): fixed-Indian-map-border (#24927) 2023-09-30 12:17:14 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8553b06155 build(deps-dev): bump prettier from 3.0.2 to 3.0.3 in /superset-websocket (#25120)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:15:57 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6aed5887e5 build(deps-dev): bump @types/jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket (#25325)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-29 23:13:53 -06:00
Sam FirkeandGitHub b33d152a5b docs(FAQ): remove reference to filter box, add Q&A re: usage analytics (#25435) 2023-09-29 23:12:11 -06:00
yousophandGitHub e36e0fdf25 chore: Update Explore tooltip copy (#25438) 2023-09-29 23:11:19 -06:00
a14fcc95e7 chore(misc): Typos in config.py (#25465)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2023-09-29 23:11:10 -06:00
ʈᵃᵢandGitHub ddde178e3b fix(sqllab): error with lazy_gettext for tab titles (#25469) 2023-09-29 19:31:20 -07:00
85251f8cae fix: Tags Page Polish (#25403)
Co-authored-by: Lily Kuang <lily@preset.io>
2023-09-29 22:13:26 -04:00
Kamil GabryjelskiandGitHub 0cebffd59a fix: Styles not loading because of faulty CSP setting (#25468) 2023-09-29 20:54:32 +02:00
Ville BrofeldtandGitHub 7eab59af51 fix(mysql): handle string typed decimal results (#24241) 2023-09-29 10:48:08 -07:00
Josh SorefandGitHub 0735680674 chore(backend): Spelling (#25457)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:36:50 -07:00
Josh SorefandGitHub 3e0c70d018 chore(misc): Spelling (#25456)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:34:04 -07:00
Josh SorefandGitHub 041197b6df chore(docs): Spelling (#25453)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:51:14 -04:00
Celalettin CalisandGitHub b9b557a761 fix(helm chart): set chart appVersion to 3.0.0 (#25373) 2023-09-29 09:19:03 -03:00
Gyuil HanandGitHub e83a76a586 fix: update the SQLAlchemy model definition at json column for Log table (#25445) 2023-09-29 09:02:44 -03:00
Michael S. MolinaandGitHub 7cf96cd843 fix: Duplicate items when pasting into Select (#25447) 2023-09-28 14:11:58 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1a759ce56d build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /superset-frontend/cypress-base (#25441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-28 10:58:13 -06:00
Corbin BullardandGitHub 11b49a6ceb fix(SqlLab): make icon placement even (#25372) 2023-09-28 15:36:24 +02:00
a0eeb4d767 fix(nativeFilters): Speed up native filters by removing unnecessary rerenders (#25282)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-28 14:37:19 +02:00
JUST.in DO ITandGitHub ba5e2f634a fix(sqllab): invalid start date (#25437) 2023-09-27 12:23:59 -07:00
Beto DealmeidaandGitHub f0080f9c55 fix: smarter date formatter (#25404) 2023-09-27 09:52:36 -07:00
JUST.in DO ITandGitHub 463962a58b fix(sqllab): misplaced limit warning alert (#25306) 2023-09-27 08:25:46 -07:00
Daniel Vaz GasparandGitHub 1716b9f8f6 fix: swagger UI CSP error (#25368) 2023-09-27 08:55:29 +01:00
Beto DealmeidaandGitHub a4d8f36863 fix: chart import (#25425) 2023-09-26 19:31:34 -07:00
40ba3c2d57 chore: cryptography version bump (#25276)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-26 16:01:01 -07:00
John BodleyandGitHub 893b45feef fix: Rename on_delete parameter to ondelete (#25424) 2023-09-26 16:00:37 -07:00
JackandGitHub 296ff17f19 fix: preventing save button from flickering in SQL Lab (#25106) 2023-09-26 11:41:28 -07:00
52eba11d6a docs: update docker-compose to match latest release (#25332)
Also notes that one needn't build a new image.

Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-09-26 10:16:52 -04:00
Ville BrofeldtandGitHub f6ce40d246 chore: upgrade node to most recent 16.x (#25362) 2023-09-26 04:00:41 -07:00
Michael S. MolinaandGitHub d76ff39766 fix: Workaround for Cypress ECONNRESET error (#25399) 2023-09-25 17:39:06 -03:00
Aleksey KarpovandGitHub e1a91e2228 feat(docker): Use docker buildx and Add ARM builds for dockerize and websocket (#25377) 2023-09-25 13:08:21 -07:00
Michael S. MolinaandGitHub 0c083bdc1a feat: Adds Sunburst chart migration logic (#25343) 2023-09-22 09:44:40 -03:00
Hugo SjöbergandGitHub 9bd97ef4f2 fix: update helm chart app version (#25361) 2023-09-21 20:11:51 -07:00
5ebcd2a5f6 fix: datetime with timezone excel export (#25318)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-21 13:11:59 -07:00
Michael S. MolinaandGitHub 5b3910db97 chore: Adds 3.0 data to CHANGELOG and UPDATING (#25360) 2023-09-21 13:59:19 -03:00
Zef LinandGitHub 16f31f8090 feat(sqllab): extra logging when chart is downloaded (#25345) 2023-09-21 09:43:06 -07:00
Craig RuedaandGitHub 515452c7e2 chore(async): Making create app configurable (#25346) 2023-09-20 10:04:58 -07:00
Michael S. MolinaandGitHub a971a28a34 fix: DashboardRoles cascade operation (#25349) 2023-09-20 13:08:07 -03:00
JUST.in DO ITandGitHub 7aaae06c9d fix(sqllab): invalid persisted tab state (#25308) 2023-09-19 15:58:34 -07:00
Michael S. MolinaandGitHub b722a95bab feat: Adds CLI commands to execute viz migrations (#25304) 2023-09-19 14:34:08 -03:00
Jack FragassiandGitHub f672d5da5c fix: Improve the reliability of alerts & reports (#25239) 2023-09-19 09:40:13 -07:00
Ravi KumarandGitHub a724850c84 docs: jwks_uri addition to OAUTH provider (#24928) 2023-09-19 12:07:48 -04:00
5cc0feb647 feat(helm): Support HPA for supersetNode and supersetWorker (#25280)
Co-authored-by: Nav_InverseInfinity <naveen.damotharan@outlook.com>
2023-09-18 15:16:52 -07:00
Hugh A. Miles IIandGitHub 090ae64dfa feat(tag): fast follow for Tags flatten api + update client with generator + some bug fixes (#25309) 2023-09-18 11:56:08 -07:00
Janhavi TripurwarandGitHub 6e799e37f4 docs: add snowflake-sqlalchemy in ./docker/requirements-local.txt (#25312) 2023-09-18 14:54:04 -04:00
Jack FragassiandGitHub fba66c6250 fix: Use RLS clause instead of ID for cache key (#25229) 2023-09-18 11:37:35 -07:00
c8c94825ce fix(chart): Supporting custom SQL as temporal x-axis column with filter (#25126)
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2023-09-18 11:30:52 -07:00
Jonathon BatsonandGitHub e11012d426 docs: add ReadyTech to INTHEWILD.md (#25324) 2023-09-18 14:27:01 -04:00
John BodleyandGitHub d54e827bb9 fix: Add explicit ON DELETE CASCADE for dashboard_roles (#25320) 2023-09-18 09:49:51 -03:00
Ville BrofeldtandGitHub 4ddd56f788 chore: bump gunicorn to v21 (#25313) 2023-09-15 13:14:00 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
06c0a5bba9 build(deps-dev): bump @types/uuid from 9.0.3 to 9.0.4 in /superset-websocket (#25311)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-15 09:54:11 -07:00
JUST.in DO ITandGitHub 52faa2e17d chore(sqllab): Migrate tests to typescript (#25274) 2023-09-15 09:43:45 -07:00
Evan RusackasandGitHub 78cbdc3e42 chore: changing one word (disablement -> disabling) (#25291) 2023-09-14 16:01:00 -07:00
14c324950a feat(datasource): Checkbox for always filtering main dttm in datasource (#25204)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2023-09-14 15:57:08 -07:00
Aleksey KarpovandGitHub 467e062e8e build(docker): bump geckodriver and firefox to latest (#25287) 2023-09-14 14:23:48 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ec61910232 build(deps): bump ws from 8.13.0 to 8.14.1 in /superset-websocket (#25293)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-14 09:49:54 -07:00
Beto DealmeidaandGitHub bb002d6147 fix: is_select with UNION (#25290) 2023-09-14 09:05:19 -07:00
Josh SorefandGitHub e1ddba9c0f docs: rewrite superset docker localhost prose (#25296)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-14 09:31:56 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
426aa777fb build(deps): bump uuid from 9.0.0 to 9.0.1 in /superset-websocket (#25279)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 09:49:00 -07:00
John BodleyandGitHub 8eff5a75b4 chore: Remove the ability to switch to filter-box chart when DASHBOARD_NATIVE_FILTERS feature is enabled (#25275) 2023-09-12 18:39:38 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a747eaa740 build(deps-dev): bump eslint from 8.48.0 to 8.49.0 in /superset-websocket (#25263)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 09:46:18 -07:00
Lily KuangandGitHub a9512c1eef fix: inability to remove chart filter when dashboard time filter is applied (#25217) 2023-09-12 11:19:21 -03:00
Kamil GabryjelskiandGitHub 242921bb4c fix: Add line height to metadata bar (#25268) 2023-09-12 10:11:34 -03:00
Hugh A. Miles IIandGitHub 55ac01b675 feat: Tags ListView Page (#24964) 2023-09-12 14:48:07 +02:00
Hugo SjöbergandGitHub baf713aad5 fix(dockefile): broken docker image (#25251) 2023-09-11 13:40:49 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
37742c40ca build(deps-dev): bump @types/node from 20.5.7 to 20.6.0 in /superset-websocket (#25253)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-11 10:00:05 -07:00
John BodleyandGitHub 83fc553841 refactor: Remove obsolete HiveEngineSpec.fetch_logs method (#20631) 2023-09-11 08:31:18 -07:00
Kamil GabryjelskiandGitHub ea21e800a7 fix: Currency formatting in Table raw mode (#25248) 2023-09-11 16:48:39 +02:00
Kamil GabryjelskiandGitHub 894f250229 fix: Don't apply number formatting to the label in Treemap (#25249) 2023-09-11 08:42:24 -03:00
Michael S. MolinaandGitHub 6f4e63162f fix: Clearing the currency format has no effect on the chart (#25238) 2023-09-11 08:26:43 -03:00
Ville BrofeldtandGitHub 0668d12e3b chore(trino): remove unnecessary index checks (#25211) 2023-09-08 18:15:45 -07:00
Beto DealmeidaandGitHub 710e111c5e chore(read_csv): remove deprecated argument (#25226) 2023-09-08 12:10:55 -07:00
yousophandGitHub 33624289fe fix(docs): Fixing a typo in README.md (#25216) 2023-09-08 12:23:19 -04:00
Michael S. MolinaandGitHub 0e17e4b06f fix: Cypress test to force mouseover (follow-up) (#25223) 2023-09-07 14:17:22 -03:00
Kamil GabryjelskiandGitHub 09e9cb484b chore: Convert deckgl class components to functional (#25177) 2023-09-07 13:28:09 +02:00
Beto DealmeidaandGitHub 749274e635 fix: granularity_sqla and GENERIC_CHART_AXES (#25213) 2023-09-06 20:09:15 -07:00
Rob MooreandGitHub cfda30c81a fix(sqllab): Force trino client async execution (#24859) 2023-09-06 14:20:26 -07:00
Michael S. MolinaandGitHub 47518cb002 fix: Cypress test to force mouseover (#25209) 2023-09-06 16:23:39 -03:00
Beto DealmeidaandGitHub 2f68010729 fix: is_select (#25189) 2023-09-06 11:54:25 -07:00
Sam FirkeandGitHub 8be8014504 docs(FAQ): add answer re: necessary specs, copy-edit existing answer (#24992) 2023-09-06 14:24:59 -04:00
JUST.in DO ITandGitHub 2d4de5146b feat(sqllab): Show sql in the current result (#24787) 2023-09-06 09:48:42 -07:00
Elizabeth ThompsonandGitHub a40e9a4d06 chore: back port 2.1.1 doc changes (#25165) 2023-09-06 09:14:32 -07:00
Daniel Vaz GasparandGitHub 251ce2ed2a docs: add CVEs for 2.1.1 (#25206) 2023-09-06 15:39:14 +01:00
Carlos MandGitHub 78b8e9421e docs: fix wrong type in PREFERRED_DATABASES example (#25200)
Signed-off-by: cmontemuino <1761056+cmontemuino@users.noreply.github.com>
2023-09-06 10:28:07 -04:00
Michael S. MolinaandGitHub e605d6dddf fix: All values being selected in Select (#25202) 2023-09-06 10:37:21 -03:00
Hugh A. Miles IIandGitHub d8496425e2 fix: DML failures in SQL Lab (#25190) 2023-09-06 09:41:36 -03:00
Sandeep PatelandGitHub d0305445b2 fix: Issue #24493; Resolved report selection menu in chart and dashboard page (#25157) 2023-09-05 11:10:42 -03:00
f2523b26fa fix: Applying Dashboard Time Range Filters to Overwritten Charts (#25156)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-09-01 14:30:37 -07:00
JUST.in DO ITandGitHub 8b2a408dea fix(sqllab): Invalid start date (#25133) 2023-09-01 11:28:19 -07:00
Michael S. MolinaandGitHub e391a1b49e chore: Add a note about adhoc subqueries in UPDATING.md (#25161) 2023-09-01 14:38:37 -03:00
Michael S. MolinaandGitHub aea916782d fix: Sunburst chart error when secondary metric is null (#25159) 2023-09-01 14:09:45 -03:00
wAVeckxandGitHub 1f5cec94bd chore: fix broken link to Celery worker docs (#25160) 2023-09-01 12:24:50 -04:00
aehannoandGitHub 2c4629a77d fix: Fixing untranslated FR strings (#20078) 2023-09-01 10:12:12 -03:00
KSPT-taylorjohnandGitHub bbfaeb074e fix: Chart series limit doesn't work for some databases (#25150) 2023-08-31 15:05:39 -07:00
John BodleyandGitHub de9515c294 fix: Handle Python date format for GENERIC_CHART_AXES feature (#25135) 2023-08-31 13:50:34 -07:00
JUST.in DO ITandGitHub 06bf44a823 fix(sqllab): invalid reducer key name (#25152) 2023-08-31 13:24:08 -07:00
321d968504 fix: add format for timestamp in crdb to correctly use times values (#24711)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-31 10:23:32 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
62f9e54c8f build(deps-dev): bump @types/uuid from 9.0.2 to 9.0.3 in /superset-websocket (#25142)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:08:15 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0b780d55bb build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket (#25141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:07:59 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
15d6508407 build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket/utils/client-ws-app (#25140)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-31 10:07:31 -07:00
John BodleyandGitHub e18294463e docs: Fix typo in UPDATING.md (#25127) 2023-08-31 12:55:51 -04:00
Michael S. MolinaandGitHub 1144ac15c9 fix: Partially reverts #25007 (#25124) 2023-08-31 08:45:50 -03:00
Michael S. MolinaandGitHub 9df1b26654 fix: Bumps Flask Caching to fix RCE vulnerability (#25090) 2023-08-31 08:44:48 -03:00
JUST.in DO ITandGitHub 846c79ef55 chore: consolidate sqllab store into SPA store (#25088) 2023-08-30 16:09:57 -07:00
Sam FirkeandGitHub eeecd59c9d refactor(frontend): make "Search" box the first filter for charts and datasets (#25129) 2023-08-30 17:34:03 -04:00
JackandGitHub 66e2807009 feat: removing renderCard from Tags/index.tsc to remove cardview from Tags ListView (#25105) 2023-08-30 19:35:21 +02:00
Sebastian LiebscherandGitHub 067bfbf950 chore: move TypedDict from typing_extensions to typing (#25121) 2023-08-30 09:49:45 -07:00
Vitor AvilaandGitHub 46a0a6e08a fix(DB Connection): Update placeholder values for Snowflake connection (#25119) 2023-08-30 14:16:31 +02:00
Michael S. MolinaandGitHub 00550d7c02 fix: Date format when importing international timestamps (#25113) 2023-08-30 08:45:01 -03:00
e642361399 docs: Update UPDATING.md regarding potential breaking change to ab_user.email column (#25115)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-30 08:42:23 -03:00
JUST.in DO ITandGitHub 29355577f1 fix(sqllab): error while removing a referenced table (#25114) 2023-08-29 14:38:07 -07:00
e585db85b6 chore: use contextlib.surpress instead of passing on error (#24896)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-29 10:09:01 -06:00
JUST.in DO ITandGitHub 72150ebadf fix(sqllab): rendering performance regression by resultset (#25091) 2023-08-28 12:27:18 -07:00
Aleksey KarpovandGitHub e4b54c3c01 feat(docker): refactor docker images (#25089) 2023-08-28 11:07:07 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
da89feeb16 build(deps-dev): bump eslint from 8.47.0 to 8.48.0 in /superset-websocket (#25098)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 09:53:18 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7d418f3dce build(deps-dev): bump @types/node from 20.5.6 to 20.5.7 in /superset-websocket (#25097)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-28 09:53:03 -07:00
Jack FragassiandGitHub 2b8d8da22a fix: Allow embedded guest user datasource access with dashboard context (#25081) 2023-08-28 09:48:21 -07:00
Jack FragassiandGitHub b240b795b5 fix(assets import): Ensure old datasource ids are not referenced in imported charts (#25086) 2023-08-28 09:47:19 -07:00
Michael S. MolinaandGitHub b5bac6c876 fix: Filter names overflow wrap (#25087) 2023-08-28 11:28:16 -03:00
Kamil GabryjelskiandGitHub 4c4fedc452 chore: Refactor deck.gl plugins to Typescript (#24933) 2023-08-28 13:56:06 +02:00
Hugh A. Miles IIandGitHub fcd045f84a chore: Update docs for docker-compose installation (#24980) 2023-08-28 12:36:19 +02:00
ErichandGitHub c2a21d2da0 refactor(pinot): The python_date_format for a temporal column was not being passed to get_timestamp_expr (#24942) 2023-08-27 18:46:39 +02:00
Hugh A. Miles IIandGitHub 69fb309ec3 feat: Update Tags CRUD API (#24839) 2023-08-25 21:16:35 +02:00
Zef LinandGitHub 5168475826 fix: dataset update permission out of sync (#25043) 2023-08-25 11:34:25 -07:00
Sam FirkeandGitHub da172bf8cf docs(docker-compose): add missing parenthesis (#24771) 2023-08-25 11:55:45 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b3424266cd build(deps-dev): bump @types/node from 20.5.1 to 20.5.6 in /superset-websocket (#25082)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-25 09:51:01 -07:00
Ville BrofeldtandGitHub 04bb73cf27 chore(reports): add metrics to report schedule and log prune (#25080) 2023-08-25 09:39:26 -07:00
Jack FragassiandGitHub 7402379346 fix(embedded sdk): Remove trailing slash from passed superset domain if there is one (#25020) 2023-08-25 09:24:58 -07:00
JUST.in DO ITandGitHub 4d9e9a4b1c chore(sqllab): typescript for getInitialState (#25047) 2023-08-24 16:54:06 -07:00
Lily KuangandGitHub 6ac906f388 chore: remove CssTemplate and Annotation access from gamma role (#24826) 2023-08-24 16:39:56 -07:00
Michael S. MolinaandGitHub f584c8462b fix: Cross filters initial scope (#25074) 2023-08-24 13:01:45 -03:00
Multazim DeshmukhandGitHub 8d3340045c build(deps): Bump PyHive (#25030) 2023-08-24 08:43:22 -07:00
Evan RusackasandGitHub 63f24ea57e test(cypress): Fail Cypress on Console errors (#24872) 2023-08-24 08:44:35 -06:00
Evan RusackasandGitHub 60c2ac3268 feat: adding Scarf pixels to gather telemetry on readme and website (#25065) 2023-08-24 08:44:05 -06:00
StepanandGitHub 0d5be8e3f6 fix(table): condition formatting can't formate 0 values (#24008) 2023-08-24 08:01:40 -06:00
Beto DealmeidaandGitHub 3630d6844c fix: small fixes for the meta DB (#25067) 2023-08-23 14:24:13 -07:00
Rémy DUBOISandGitHub 80fcbfab7c fix(cli): import-directory is missing the application context (#21255) 2023-08-23 13:32:57 -06:00
John BodleyandGitHub adaab3550c fix: Ensure SQLAlchemy sessions are closed (#25031) 2023-08-23 11:57:36 -07:00
Michael S. MolinaandGitHub 0dadf06245 chore: Organizes the files of the ReportModal feature (#25046) 2023-08-23 11:02:25 -03:00
Daniel Vaz GasparandGitHub a9efd4b2e3 fix: dataset safe URL for explore_url (#24686) 2023-08-23 09:31:44 -03:00
c92a975e4b fix: Error when using the legacy dataset editor (#25057)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-23 09:10:17 -03:00
John BodleyandGitHub 60889d27ed fix: Native filter dashboard RBAC aware dataset permission (#25029) 2023-08-22 09:58:43 -07:00
Michael S. MolinaandGitHub 7317d9c0b2 fix: docker-compose non-dev (#25055) 2023-08-22 11:35:10 -03:00
Daniel Vaz GasparandGitHub 6975084ea5 fix: extend user email size (#25053) 2023-08-22 14:52:49 +01:00
Craig RuedaandGitHub c7a3bf0f4b chore(tests): Adding missing __init__.py files to various test packages (#25045) 2023-08-21 12:39:31 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
eaa86d89e9 build(deps-dev): bump @types/node from 20.5.0 to 20.5.1 in /superset-websocket (#25038)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 09:51:31 -07:00
JUST.in DO ITandGitHub b339613844 chore(sqllab): Relocate user in SqlLab to root (#25010) 2023-08-21 09:42:31 -07:00
Giulio TalaricoandGitHub 5e56871fd9 docs: fix line break in Apache Druid page (#25034) 2023-08-21 11:07:01 -04:00
Sebastian LiebscherandGitHub 969cd664cb chore: use os.getenv to simplify superset_config.py (#25016) 2023-08-21 08:45:22 -03:00
Yuval MosheandGitHub 66eabc253f fix(mssql): avoid trying to return a resultset for DML queries with not resultset (#24999) 2023-08-21 08:33:26 -03:00
Daniel Vaz GasparandGitHub 357986103b fix: CTE queries with non-SELECT statements (#25014) 2023-08-19 15:49:15 +01:00
Beto DealmeidaandGitHub 6b660c86a4 feat: a native SQLAlchemy dialect for Superset (#14225) 2023-08-18 12:21:36 -07:00
Beto DealmeidaandGitHub bbf0aaec5d chore: rename get_iterable (#24994) 2023-08-18 11:59:43 -07:00
Michael S. MolinaandGitHub 0be1754666 fix: Dashboard fullscreen is removing custom URL params (#25028) 2023-08-18 15:07:31 -03:00
John BodleyandGitHub 3f93755be2 fix: Address regression introduced in #24789 (#25008) 2023-08-18 09:27:34 -07:00
Michael S. MolinaandGitHub 52c7186b56 chore: Pass the dashboard id when requesting filter values (#25025) 2023-08-18 13:19:19 -03:00
Michael S. MolinaandGitHub b428b06217 chore: Removes Saved Query old code (#25007) 2023-08-18 09:40:28 -03:00
Jack FragassiandGitHub 258e56285a fix: Don't let users see dashboards only because it's favorited (#24991) 2023-08-17 17:35:37 -07:00
Jack FragassiandGitHub 4a59a265fb chore: Update DAOs to use singular deletion method instead of bulk (#24894) 2023-08-17 17:00:33 -07:00
Michael S. MolinaandGitHub 62cbc0c95c fix: Downgrades Prophet to 1.1.1 and Holidays to 0.23 (#25017) 2023-08-17 17:31:40 -03:00
Michael S. MolinaandGitHub 35eb66a322 fix: Date column in Heatmap is displayed as unix timestamp (#25009) 2023-08-17 11:24:40 -03:00
Michael S. MolinaandGitHub 712e1f760c feat: Moves Profile to Single Page App (SPA) (#25001) 2023-08-17 11:01:24 -03:00
Daniel Vaz GasparandGitHub 269c99293f chore: isolate examples database by default (#25003) 2023-08-17 11:50:24 +01:00
JUST.in DO ITandGitHub 10abb68288 feat(sqllab): Add /sqllab endpoint to the v1 api (#24983) 2023-08-16 16:09:10 -07:00
Michael S. MolinaandGitHub 2eb0a255d9 chore: Removes src/modules top folder (#25005) 2023-08-16 16:59:52 -03:00
Elizabeth ThompsonandGitHub bc1c5c2f84 fix: update permalink schema (#24970) 2023-08-16 09:56:20 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
48fdc8103a build(deps-dev): bump prettier from 3.0.1 to 3.0.2 in /superset-websocket (#24998)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-16 09:53:05 -07:00
Elizabeth ThompsonandGitHub 2b63577046 fix: Revert "fix(chart): Time Series set showMaxLabel as null for time xAxis (#20627) (#24995) 2023-08-16 09:51:00 -07:00
Ville BrofeldtandGitHub f94dc49fd0 fix(snowflake): opt-in denormalization of column names (#24982) 2023-08-15 16:32:54 -07:00
0a8881b3c1 chore: modify UPDATING.md for logs table migrations (#24923)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-08-15 16:49:19 -03:00
JUST.in DO ITandGitHub 155cf54c15 fix(sqllab): scroll position after run current sql (#24965) 2023-08-15 10:52:35 -07:00
Michael S. MolinaandGitHub 025e4d4772 fix: Calendar Heatmap day offset (#24989) 2023-08-15 13:35:35 -03:00
Vitor AvilaandGitHub cacad56172 chore(dashboard import/export): include additional fields to export/import commands (#24941) 2023-08-14 13:50:31 -07:00
John BodleyandGitHub 0879b9215c chore(dao): Remove redundant convenience methods (#24967) 2023-08-14 12:07:04 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
12f2b0f8e7 build(deps-dev): bump @types/node from 20.4.9 to 20.5.0 in /superset-websocket (#24973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 09:53:47 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
55eaa25216 build(deps-dev): bump eslint from 8.46.0 to 8.47.0 in /superset-websocket (#24972)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-14 09:53:31 -07:00
Michael S. MolinaandGitHub be11556799 feat: Adds options to show subtotals in Pivot Table (#24960) 2023-08-14 09:20:32 -03:00
JUST.in DO ITandGitHub a44c99899a chore(sqllab): Relocate get bootstrap data logic (#24936) 2023-08-11 13:23:07 -07:00
John BodleyandGitHub ed0d288ccd chore(dao): Replace save/overwrite with create/update respectively (#24467) 2023-08-11 12:55:39 -07:00
Beto DealmeidaandGitHub a3d72e0ec7 fix(gsheets): add column names on file upload (#24963) 2023-08-11 12:51:21 -07:00
Holger BruchandGitHub b54b4e5e9b docs: Add wattbewerb to users list (#24962) 2023-08-11 14:27:58 -03:00
Igor KhrolandGitHub b96a30e8a4 chore: Add Automattic to the list of users and contributors (#24961) 2023-08-11 14:27:21 -03:00
Michael S. MolinaandGitHub b621ee92c9 fix: Duplicated options in Select when using numerical values (#24906) 2023-08-11 14:22:15 -03:00
Beto DealmeidaandGitHub a1e32dbfa6 feat: command to test DB engine specs (#24918) 2023-08-11 10:10:49 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7b56c27383 build(deps): bump tough-cookie and @cypress/request in /superset-frontend/cypress-base (#24958)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-11 10:53:03 -06:00
Michael S. MolinaandGitHub 9703490129 fix: Tooltips don't disappear on the Heatmap chart (#24959) 2023-08-11 13:40:45 -03:00
Beto DealmeidaandGitHub 4bc46003b5 chore: rate limit requests (#24324) 2023-08-11 09:35:31 -07:00
Beto DealmeidaandGitHub f5ed4072e4 feat(gsheets): file upload (#24921) 2023-08-11 06:35:00 -07:00
Beto DealmeidaandGitHub 6f24a4e7a8 fix: calls to _get_sqla_engine (#24953) 2023-08-11 12:54:01 +02:00
Beto DealmeidaandGitHub aca006f38b fix: timezone issue in Pandas 2 (#24955) 2023-08-11 00:25:33 -07:00
Beto DealmeidaandGitHub 41ca4a00b9 fix: to_datetime in Pandas 2 (#24952) 2023-08-10 19:32:15 -07:00
Rob MooreandGitHub ce65a3b9cd fix(charts): View in SQL Lab with relevant perm (#24903) 2023-08-10 20:04:07 +03:00
Multazim DeshmukhandGitHub bcd24936bc fix: remove unused file (#24946) 2023-08-10 08:08:54 -07:00
55014bf58b chore: Add explicit ON DELETE CASCADE for embedded_dashboards (#24939)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-10 11:41:14 -03:00
John BodleyandGitHub 94c595093b chore: Add explicit ON DELETE CASCADE for dashboard_slices (#24938) 2023-08-10 10:56:11 -03:00
Michael S. MolinaandGitHub 284c12697b chore: Removes duplicated featureFlags.ts (#24935) 2023-08-10 10:55:44 -03:00
Tanner BarcelosandGitHub 764f0f79ca docs: Fixing Superset typo in docker-compose local installation guide (#24920) 2023-08-10 09:34:26 -04:00
Beto DealmeidaandGitHub 9c54280d85 feat: add MotherDuck DB engine spec (#24934) 2023-08-09 16:42:14 -07:00
John BodleyandGitHub f6c3f0cbbb fix: Dashboard aware RBAC "Save as" menu item (#24806) 2023-08-09 13:37:52 -07:00
John BodleyandGitHub 34586648a5 chore: Refine native dashboard cleanup logic (#24864) 2023-08-09 10:42:29 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cdf5652e5f build(deps-dev): bump @types/node from 20.4.8 to 20.4.9 in /superset-websocket (#24924)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-09 09:56:14 -07:00
John BodleyandGitHub 5522facdc6 chore: Refactor dashboard security access (#24804) 2023-08-09 09:25:58 -07:00
Michael S. MolinaandGitHub ec9e9a46f2 fix: Tooltip of area chart shows undefined total (#24916) 2023-08-08 18:13:21 -03:00
81bf2f01e2 docs: fix tip box in "Installing From Scratch" page (#24915)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-08-08 15:12:36 -03:00
JUST.in DO ITandGitHub 340bfd88ae fix(explore): double resize triggered (#24886) 2023-08-08 10:21:21 -07:00
Gyuil HanandGitHub eb7c14561e fix(logs): increase json field for logs table (#24911) 2023-08-08 08:46:27 -07:00
Beto DealmeidaandGitHub 85a7d5cb3e feat: improve SQLite DB engine spec (#24909) 2023-08-07 15:59:56 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Maxime Beauchemin
3b81538e02 build(deps-dev): bump prettier from 2.8.8 to 3.0.1 in /superset-websocket (#24878)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
2023-08-07 10:08:41 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
569d07db23 build(deps-dev): bump eslint-config-prettier from 8.10.0 to 9.0.0 in /superset-websocket (#24900)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 10:55:28 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f7e3b8b9f4 build(deps-dev): bump @types/node from 20.4.7 to 20.4.8 in /superset-websocket (#24901)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-07 09:52:31 -07:00
Jack FragassiandGitHub 07992c11e7 fix: Migration to fix out of sync schema_perm in charts and datasets (#24884) 2023-08-07 09:34:47 -07:00
John BodleyandGitHub 7397ab36f2 fix: Dashboard aware RBAC dataset permission (#24789) 2023-08-04 11:53:34 -07:00
John BodleyandGitHub 9f7f2c60d6 fix: revert "fix(embedded): adding logic to check dataset used by filters (#24808) (#24892) 2023-08-04 11:14:57 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8d1fd269e0 build(deps-dev): bump @types/node from 20.4.6 to 20.4.7 in /superset-websocket (#24888)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 10:54:40 -07:00
Elizabeth ThompsonandGitHub d23b20ea75 chore: add talisman env var to config (#24774) 2023-08-04 09:04:14 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
554ef07eed build(deps-dev): bump @types/node from 20.4.5 to 20.4.6 in /superset-websocket (#24880)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-03 09:54:00 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
868f55372f build(deps-dev): bump eslint-config-prettier from 8.8.0 to 8.10.0 in /superset-websocket (#24879)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-03 09:53:35 -07:00
John BodleyandGitHub 7edcbc974c docs(native-filters): Remove outdated statement (#24873) 2023-08-03 09:51:16 -07:00
ZoynelsandGitHub 031e660506 feat(chart): Added Central Asia countries to countries map (#24870) 2023-08-03 09:49:03 -07:00
JUST.in DO ITandGitHub 6ff7fae0b0 fix(dataset): resizable dataset layout left column (#24829) 2023-08-03 09:34:33 -07:00
Michael S. MolinaandGitHub aee2695413 fix: Ignores hot update files when generating the manifest (#24871) 2023-08-03 10:20:01 -03:00
JUST.in DO ITandGitHub 371bffbfea fix(explore): invalid "No Filter" applied (#24876) 2023-08-03 10:17:56 -03:00
John BodleyandGitHub f05638ba84 fix(annotation): Address regression from #24694 (#24874) 2023-08-03 09:33:03 -03:00
cfadbeb353 chore: Bump cryptography (#24657)
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com>
2023-08-02 22:12:56 -07:00
Hugh A. Miles IIandGitHub b71541fb7f fix: validation errors appearing after ssh tunnel switch (#24849) 2023-08-02 17:41:37 -04:00
Michael S. MolinaandGitHub bf1b1a4c46 fix: Explore misleading save action (#24862) 2023-08-02 15:46:03 -03:00
Kamil GabryjelskiandGitHub f7e76d02b7 feat: Add currencies controls in control panels (#24718) 2023-08-02 19:22:45 +02:00
JUST.in DO ITandGitHub 1a9c559a8f fix(sqllab): Add docText for long keyword (#24847) 2023-08-02 09:02:57 -07:00
Michael S. MolinaandGitHub 434db0d686 fix: Ignores ResizeObserver errors in development mode (#24868) 2023-08-02 11:41:21 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
44e4fb1090 build(deps-dev): bump eslint from 8.45.0 to 8.46.0 in /superset-websocket (#24842)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-01 13:48:36 -06:00
JUST.in DO ITandGitHub 1c5971d3af fix(legacy-chart): corrupted raw chart data (#24850) 2023-08-01 09:49:04 -07:00
Michael S. MolinaandGitHub ea17dd637c fix: Links in tooltips of dashboard chart cards (#24846) 2023-08-01 10:28:10 -03:00
Vitor AvilaandGitHub 7f9b0380e0 fix(embedded): adding logic to check dataset used by filters (#24808) 2023-07-31 14:10:57 -07:00
Sebastian LiebscherandGitHub 14a27b1ba3 chore(api): clean up API spec (#24838) 2023-07-31 20:03:58 +03:00
EugeneTorapandGitHub 5f103072b0 fix: Python3.11 (str, Enum) issue (#24803) 2023-07-31 09:04:09 -07:00
Jack FragassiandGitHub 77889b29fb fix: Allow chart import to update the dataset an existing chart points to (#24821) 2023-07-28 16:08:03 -07:00
John BodleyandGitHub caffe3cb1f fix(migration): Ensure cascadeParentIds key exists (#24831) 2023-07-28 13:54:18 -07:00
StepanandGitHub 64ced60f62 fix(datasets): give possibility to add dataset with slashes in name (#24796) 2023-07-28 14:33:08 -03:00
Sam FirkeandGitHub e2d5046bb7 docs(Kubernetes): Fix typos, clarify language re: Scarf (#24834) 2023-07-28 10:42:57 -06:00
Michael S. MolinaandGitHub 5bb8e0da89 fix: Removes unnecessary query on filters (#24814) 2023-07-28 10:56:51 -03:00
John BodleyandGitHub a50c43e0fa fix: Alembic migration head (#24832) 2023-07-28 11:08:31 +01:00
Beto DealmeidaandGitHub 7cd317fe2e chore: remove get_columns_description duplication (#24819) 2023-07-27 14:39:15 -07:00
Evan RusackasandGitHub a1396d00aa docs: Adding a couple links to contributing page (#24817) 2023-07-27 13:27:40 -06:00
Evan RusackasandGitHub 7e26dc8c5b docs: fixing stack overflow link (#24820) 2023-07-27 13:27:30 -06:00
Hugh A. Miles IIandGitHub 3b46511439 feat(Tags): Allow users to favorite Tags on CRUD Listview page (#24701) 2023-07-27 13:17:26 -04:00
Kamil GabryjelskiandGitHub d26ea980ac feat: Add line width unit control in deckgl Polygon and Path (#24755) 2023-07-27 18:41:50 +02:00
Beto DealmeidaandGitHub ba508a786c fix: pass schema on dataset creation (#24815) 2023-07-26 18:30:05 -07:00
Hugh A. Miles IIandGitHub e5d626c304 feat: add empty state for Tags (#24702) 2023-07-26 20:24:25 -04:00
Michael S. MolinaandGitHub 4b1f1d49d6 fix: Filters alert width (#24801) 2023-07-26 16:30:52 -03:00
JUST.in DO ITandGitHub 77505173ae fix(sqllab): Replace autocomplete logic by a hook (#24677) 2023-07-26 11:24:28 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
83ad291053 build(deps-dev): bump @types/node from 20.4.4 to 20.4.5 in /superset-websocket (#24809)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-26 12:06:46 -06:00
Daniel Vaz GasparandGitHub d1eb9ea982 fix: docs invalid client redirect (#24816) 2023-07-26 19:00:21 +01:00
af4a35741c docs(K8s): Add instructions for loading the examples (#19959)
Co-authored-by: Evan Rusackas <evan@preset.io>
2023-07-26 11:49:06 -06:00
Daniel Vaz GasparandGitHub 165afee55a docs: update security policy and add CVE info (#24769) 2023-07-26 14:21:26 +01:00
xavier-GitHub76andGitHub a9c4472d25 fix: Department names fixed for CountryMap of France (#23988) 2023-07-25 15:41:53 -03:00
Gyuil HanandGitHub ff7c1528db fix(dashboard): increase json_metadata field (#24510) 2023-07-25 15:30:43 -03:00
StepanandGitHub 761fec2574 fix(chore): switching between languages should be without timeout 60 seconds (#24798) 2023-07-25 15:16:33 -03:00
JUST.in DO ITandGitHub 4a81284056 fix(sqllab): Replace margin style by gap on query results (#24772) 2023-07-25 10:16:03 -03:00
fc89718d48 chore: Update pylint to 2.17.4 (#24700)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2023-07-24 17:13:49 -07:00
Sebastian LiebscherandGitHub c17accc0b4 chore: bump postgresql in docker-compose and github workflows (#24147) 2023-07-24 11:09:41 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c43674e8f3 build(deps-dev): bump @types/node from 20.4.2 to 20.4.4 in /superset-websocket (#24779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-24 11:03:46 -06:00
6089b5fdae fix: Select onChange is being fired without explicit selection (#24698)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-07-24 13:03:45 -03:00
Multazim DeshmukhandGitHub b8a3eeffdb docs: update AWS Athena and Redshift docs (#24751) 2023-07-23 22:34:14 -06:00
Zef LinandGitHub 0631a8086c chore(view_api): return application/json as content-type for api/v1/form_data endpoint (#24758) 2023-07-21 16:31:41 -07:00
Sebastian LiebscherandGitHub e06004292a feat: add pandas performance dependencies (#24768) 2023-07-21 16:18:35 -06:00
Elizabeth ThompsonandGitHub f856ba246e fix: update svgr webpack config to use svg dimensions (#24747) 2023-07-21 14:48:54 -07:00
Beto DealmeidaandGitHub abb8e28e49 feat: migrate charts on import (#24703) 2023-07-21 09:33:34 -07:00
Evan RusackasandGitHub e210da963d chore(docs): Adding link to additional visualization content (#24759) 2023-07-21 10:04:37 -06:00
mattitooandGitHub d642288092 docs: Fix STANDARD_ROLES.md for Gamma role permissions on tableschemaview (#24766) 2023-07-21 09:43:08 -06:00
karsten-wagnerandGitHub a80ec15f4c fix(docs): respect no_proxy environment variable (#23816) 2023-07-21 08:59:31 -03:00
Michael S. MolinaandGitHub ac19f58cf6 fix: Tooltip no longer highlights hovered data series (#24756) 2023-07-21 08:57:39 -03:00
Maxime BeaucheminandGitHub 341b8d41c5 fix: column/metric type icons look too small (#24740) 2023-07-20 17:24:35 -07:00
Maxime BeaucheminandGitHub 22a0fe555c chore: make control panel sub sections look better (#24736) 2023-07-20 16:33:50 -07:00
Sam FirkeandGitHub 9b6ed315f8 docs(docker-compose): note the risk of running a Docker Postgres volume in production (#24461) 2023-07-20 16:07:13 -06:00
Beto DealmeidaandGitHub 7675e0db10 fix: search_path in RDS (#24739) 2023-07-20 12:57:48 -07:00
b2831b419e fix(datasets): Replace left panel layout by TableSelector (#24599)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-20 11:59:31 -07:00
StepanandGitHub df106aa708 fix(pvt2): migrations from legacy pivot table error when form_data have pieces of pvt2 (#24710) 2023-07-20 15:25:51 -03:00
91e6f5cb9f chore(deps): bump pandas >=2.0 (#24705)
Co-authored-by: EugeneTorap <evgenykrutpro@gmail.com>
2023-07-20 11:04:17 -07:00
05e724f3d7 chore(native filters): Expandable filter config modal (#24559)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-20 10:46:13 -07:00
Michael S. MolinaandGitHub 317aa989c2 fix: Dashboard time grain in Table (#24746) 2023-07-20 14:02:52 -03:00
4086514fa5 fix(native filter): clean deleted parent filter ids (#24749)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2023-07-20 10:00:44 -07:00
Maxime BeaucheminandGitHub d1d5ff6f9f chore: make antd table font size same as data table (#24741) 2023-07-20 10:00:15 -07:00
Daniel Vaz GasparandGitHub cb9b865a53 fix: import database engine validation (#24697) 2023-07-20 13:08:07 +01:00
Elizabeth ThompsonandGitHub 1a9724582f chore: turn off talisman for ephemeral environments in ci (#24627) 2023-07-19 14:22:32 -07:00
5878c117f2 feat: use Scarf Gateway for Superset npm downloads (#24433)
Co-authored-by: Arjun Devarajan <arjun.devarajan@scarf.sh>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
2023-07-19 15:00:45 -06:00
StepanandGitHub 2d58dddbdc fix(range-slider): removed localization of metric key (#24716) 2023-07-19 16:48:50 -03:00
John BodleyandGitHub 5f49e0fdd0 fix(cache): Add cache warmup for non-legacy charts (#24671) 2023-07-19 11:12:36 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
837e3c55ca build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-websocket (#24732)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-19 10:44:22 -06:00
John BodleyandGitHub 4c5ada421c fix(druid): Delete obsolete Druid NoSQL slice parameters (#24737) 2023-07-19 07:21:43 -07:00
Arjun DevarajanandGitHub 2b0ffb01b6 feat: use Scarf Gateway for Superset helm charts/Docker compose downloads (#24432) 2023-07-19 06:16:20 -07:00
Sebastian LiebscherandGitHub 11bb8c35b0 chore: update deprecated arguments in schema (#24715) 2023-07-18 17:48:13 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b7dcc9f7e3 build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend/cypress-base (#24733)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:45:05 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2785b8f11e build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend (#24735)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:44:55 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
068864b9ea build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-embedded-sdk (#24734)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 17:44:38 -06:00
John BodleyandGitHub aa01b51177 chore: Bump pyyaml bounds (#24731) 2023-07-18 14:29:29 -07:00
John BodleyandGitHub 1b5a6790f0 chore: Remove obsolete legacy visualizations (#24694) 2023-07-18 08:17:52 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9c6d53567c build(deps-dev): bump eslint from 8.44.0 to 8.45.0 in /superset-websocket (#24712)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-17 10:54:00 -06:00
Lily KuangandGitHub 0328dd2704 fix: color collision in dashboard with tabs (#24670) 2023-07-14 12:13:49 -07:00
Vitor AvilaandGitHub 65fb8e10ba fix(dataset-import): support empty strings for extra fields (#24663) 2023-07-13 16:19:00 -07:00
Daniel Vaz GasparandGitHub ca68250adf chore: move deprecated default version to 4.0.0 (#24689) 2023-07-13 22:22:37 +01:00
Beto DealmeidaandGitHub 9844b15e07 fix: embedded dashboard check (#24690) 2023-07-13 10:33:12 -07:00
John BodleyandGitHub a3db5844f0 chore: remove fetch explore json (#24669) 2023-07-13 09:18:15 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
146b5c839c build(deps-dev): bump @types/node from 20.4.1 to 20.4.2 in /superset-websocket (#24682)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 10:16:56 -06:00
Michael S. MolinaandGitHub 6e59f11f4c fix: Dashboard time grain in Pivot Table (#24665) 2023-07-13 11:33:16 -03:00
a156816064 chore(command): Condense delete/bulk-delete operations (#24607)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-12 15:45:29 -07:00
Aarav BorthakurandGitHub 6ae6fc60f8 docs: Fix typo in Rockset docs (#24674) 2023-07-12 14:23:20 -07:00
Arkadii YakovetsandGitHub 767afef398 chore: Bump holidays to 0.28 (#24647) 2023-07-12 10:04:10 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6b7b3ab069 build(deps): bump tox from 4.6.3 to 4.6.4 in /requirements (#24613)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:36:27 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
abf31ad3dc build(deps-dev): bump @types/node from 20.4.0 to 20.4.1 in /superset-websocket (#24672)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:34:33 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8230ac7b4a build(deps-dev): bump @typescript-eslint/parser from 5.61.0 to 5.62.0 in /superset-websocket (#24673)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-12 10:33:13 -06:00
John BodleyandGitHub 462418ba82 chore: Bump/relax Flask libs (#24652) 2023-07-11 23:38:31 -07:00
Aarav BorthakurandGitHub ea968e47cc chore: Update Rockset—switching out rockset for rockset-sqlalchemy (#24649) 2023-07-11 21:36:09 -06:00
Rob MooreandGitHub 88418fc609 feat(csv-upload): Configurable max filesize (#24618) 2023-07-11 21:35:22 -06:00
1473d97055 feat(sqllab): add shortcut for run current sql (#24329)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-11 13:19:52 -07:00
John BodleyandGitHub ae00489779 chore(dao): Add explicit ON DELETE CASCADE for ownership (#24628) 2023-07-11 11:39:03 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b4d08aecdb build(deps): bump semver from 5.7.1 to 5.7.2 in /superset-frontend (#24653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 12:27:23 -06:00
ca8c8d2ad3 fix(sqllab): missing column meta on autocomplete (#24611)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-11 11:02:06 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7aa9f35808 build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-websocket (#24654)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:54:59 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
057539037b build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-frontend/cypress-base (#24655)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:52:56 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8c6f5fe1d3 build(deps): bump trim and @superset-ui/core in /superset-frontend/cypress-base (#24656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:52:20 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2d2a76a8ac build(deps): bump winston from 3.9.0 to 3.10.0 in /superset-websocket (#24659)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-11 10:51:34 -06:00
John BodleyandGitHub cbf39650d0 chore: Re-enable some GitHub action workflows in draft mode (#24626) 2023-07-11 10:50:14 -06:00
Duyet LeandGitHub 7476f7af73 docs(databases): correct the way of using use environment variables (#24633) 2023-07-11 09:50:01 -07:00
Jack FragassiandGitHub 4caf33b41d fix: Chart can be added to dashboard by non-owner via save as option (#24630) 2023-07-11 11:58:29 -04:00
Kamil GabryjelskiandGitHub 2e4d9f2e2a fix: Ensure config is a dict in cross filters scope migration (#24661) 2023-07-11 17:15:28 +02:00
Kamil GabryjelskiandGitHub bbffc4c1f8 fix: Incorrect initial global scoping of cross filters (#24642) 2023-07-11 17:14:55 +02:00
Michael S. MolinaandGitHub 0efb88479e fix: Validation of out of scope filters and interaction with Clear All (#24610) 2023-07-11 10:41:45 -03:00
John BodleyandGitHub 65291a00c6 chore: Drop rouge constraints and tables (#24629) 2023-07-10 20:19:57 -07:00
EugeneTorapandGitHub 117435f0d8 chore: update UI dev libs and fix warnings & vulnerabilities (#24648) 2023-07-10 20:44:35 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7b957369fc build(deps): bump semver from 5.7.1 to 5.7.2 in /docs (#24651)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:36:36 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fbe49c21a2 build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-embedded-sdk (#24634)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:36:18 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
294e522c09 build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket (#24614)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:35:53 -06:00
Daniel Vaz GasparandGitHub 4881328fbf fix: CSP, bump FAB to 4.3.4 (#24646) 2023-07-10 20:09:50 +01:00
Hugh A. Miles IIandGitHub e6e8276a20 fix: fix extra insert for count on dataset creation (#24625) 2023-07-10 12:55:11 -04:00
Kamil GabryjelskiandGitHub fe2c14ff3a fix: Ensure metrics is an array in Mixed Chart (#24643) 2023-07-10 18:04:38 +02:00
Daniel Vaz GasparandGitHub b809815436 fix: remove spaces and EOL from nonce attr (#24644) 2023-07-10 16:21:45 +01:00
VED PRAKASH KASHYAPandGitHub d2489c5ac7 docs(frontend): Fixed typo in command (#23987) 2023-07-10 08:42:29 -06:00
Devon KinghornandGitHub fe9b0bf29b docs: correct databricks pip package name (#23992) 2023-07-10 08:41:29 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5097688e6c build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-websocket (#24632)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 08:40:30 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6e2c5e0af4 build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.61.0 in /superset-websocket (#24585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 08:39:39 -06:00
Michael S. MolinaandGitHub c53b249998 fix: Wrong positioning of filter tooltips on scroll (#24617) 2023-07-07 15:33:39 -03:00
Kamil GabryjelskiandGitHub d74d7eca23 feat: Implement support for currencies in more charts (#24594) 2023-07-07 19:28:13 +02:00
Hugh A. Miles IIandGitHub c573cfcd12 fix: change naming convention for count metric on Dataset creation (#24609) 2023-07-07 13:08:27 -04:00
Gyuil HanandGitHub a6e749da87 chore: remove underscore from builtin_time_grains label (#24567) 2023-07-07 10:43:49 -03:00
Michael S. MolinaandGitHub 781a20423a fix: Incorrect dependency between filters related feature flags (#24608) 2023-07-07 09:44:33 -03:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
572562719e build(deps-dev): bump eslint from 8.43.0 to 8.44.0 in /superset-websocket (#24576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 21:46:25 -06:00
Beto DealmeidaandGitHub 93ba4ade09 fix(report): edit without custom width (#24612) 2023-07-06 19:48:33 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
333a5a6fef build(deps-dev): bump @types/node from 20.3.2 to 20.4.0 in /superset-websocket (#24601)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:23:04 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3f6920a4ad build(deps-dev): bump @typescript-eslint/parser from 5.60.1 to 5.61.0 in /superset-websocket (#24584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:22:17 -06:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ec2007577b build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket/utils/client-ws-app (#24600)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-06 15:21:55 -06:00
Antonio RiveroandGitHub 6657353bca feat(database): Database Filtering via custom configuration (#24580) 2023-07-06 16:48:46 -04:00
Hugh A. Miles IIandGitHub d041648ad4 fix(ssh): Editting Database w/ SSH Tunneling (#24552) 2023-07-06 15:43:55 -04:00
jwilliams-ocientandGitHub 64d728f80f fix: set max version for pyocient (#24556) 2023-07-06 13:28:03 -03:00
7409289762 chore(dao): Condense delete/bulk-delete operations (#24466)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-06 09:21:08 -07:00
Javier LopezandGitHub 52ab974bff docs(helm): reference the correct chart (#24570) 2023-07-06 08:13:44 -07:00
ce96deb331 docs: add notice not to use gevent worker with bigquery datasource (#24564)
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2023-07-06 08:48:04 -03:00
cwegenerandGitHub 7081a0e73d refactor: pkg_resources -> importlib.resources (#24578) 2023-07-05 14:26:07 -07:00
John BodleyandGitHub 383dac6a5e fix: Bump prophet, re-enable tests, and remedy column eligibility logic (#24129) 2023-07-05 12:33:52 -07:00
0836000f9f chore(sqllab): Log current local storage usage (#24554)
Co-authored-by: Justin Park <justinpark@apache.org>
2023-07-05 09:33:08 -07:00
Michael S. MolinaandGitHub 04ae259f3d fix: Clicking on a tag in the dashboard and charts lists does not work (#24593) 2023-07-05 12:58:44 -03:00
Ville BrofeldtandGitHub a4880cabd4 chore(metastore-cache): add codec support (#24586) 2023-07-04 15:55:22 +03:00
Hugh A. Miles IIandGitHub 226c7f807d fix: SSH Tunnel creation with dynamic form (#24196) 2023-07-02 23:48:48 -04:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
946aacc12e build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 in /superset-websocket (#24523)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-01 22:17:24 -06:00
741 changed files with 40367 additions and 23761 deletions
+1 -1
View File
@@ -24,6 +24,6 @@
/superset-frontend/cypress-base/ @jinghua-qa @geido @eschutho @rusackas @betodealmeida
# Notify PMC members of changes to Github Actions
# Notify PMC members of changes to GitHub Actions
/.github/ @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @john-bodley @kgabryje
+1 -1
View File
@@ -3,7 +3,7 @@ name: SIP
about: "Superset Improvement Proposal. See [here](https://github.com/apache/superset/issues/5602) for details."
labels: sip
title: "[SIP] Your Title Here (do not add SIP number)"
asignees: "apache/superset-committers"
assignees: "apache/superset-committers"
---
*Please make sure you are familiar with the SIP process documented*
+1 -1
View File
@@ -1,5 +1,5 @@
# .github/workflows/chromatic.yml
# seee https://www.chromatic.com/docs/github-actions
# see https://www.chromatic.com/docs/github-actions
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
+2 -2
View File
@@ -174,7 +174,7 @@ cat << EOF
-c Move discovered coverage reports to the trash
-z FILE Upload specified file directly to Codecov and bypass all report generation.
This is inteded to be used only with a pre-formatted Codecov report and is not
This is intended to be used only with a pre-formatted Codecov report and is not
expected to work under any other circumstances.
-Z Exit with 1 if not successful. Default will Exit with 0
@@ -1152,7 +1152,7 @@ fi
if [ "$ft_search" = "1" ];
then
# detect bower comoponents location
# detect bower components location
bower_components="bower_components"
bower_rc=$(cd "$git_root" && cat .bowerrc 2>/dev/null || echo "")
if [ "$bower_rc" != "" ];
+6 -2
View File
@@ -6,7 +6,6 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.pull_request.draft == false
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -30,9 +29,14 @@ jobs:
persist-credentials: false
submodules: recursive
ref: ${{ github.ref }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
GITHUB_RELEASE_TAG_NAME="${{ github.event.release.tag_name }}"
./scripts/docker_build_push.sh "$GITHUB_RELEASE_TAG_NAME"
+13 -4
View File
@@ -10,7 +10,6 @@ on:
jobs:
config:
runs-on: "ubuntu-latest"
if: github.event.pull_request.draft == false
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -36,13 +35,16 @@ jobs:
uses: actions/checkout@v3
with:
persist-credentials: false
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh
./scripts/docker_build_push.sh
- name: Build ephemeral env image
if: github.event_name == 'pull_request'
@@ -50,7 +52,14 @@ jobs:
mkdir -p ./build
echo ${{ github.sha }} > ./build/SHA
echo ${{ github.event.pull_request.number }} > ./build/PR-NUM
DOCKER_BUILDKIT=1 docker build --target ci -t ${{ github.sha }} -t "pr-${{ github.event.pull_request.number }}" .
docker buildx build --target ci \
--load \
--cache-from=type=local,src=/tmp/superset \
-t ${{ github.sha }} \
-t "pr-${{ github.event.pull_request.number }}" \
--platform linux/amd64 \
--label "build_actor=${GITHUB_ACTOR}" \
.
docker save ${{ github.sha }} | gzip > ./build/${{ github.sha }}.tar.gz
- name: Upload build artifacts
-1
View File
@@ -8,7 +8,6 @@ on:
jobs:
embedded-sdk-test:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
defaults:
run:
+2 -2
View File
@@ -1,4 +1,4 @@
name: Prefer Typescript
name: Prefer TypeScript
on:
push:
@@ -9,7 +9,7 @@ on:
jobs:
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer Typescript
name: Prefer TypeScript
runs-on: ubuntu-latest
permissions:
contents: read
@@ -40,7 +40,7 @@ jobs:
APPLITOOLS_BATCH_NAME: Superset Cypress
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
+1 -2
View File
@@ -9,7 +9,6 @@ on:
jobs:
test-load-examples:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -21,7 +20,7 @@ jobs:
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
+1 -2
View File
@@ -11,7 +11,6 @@ on:
jobs:
cypress-matrix:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
permissions:
contents: read
@@ -34,7 +33,7 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
-1
View File
@@ -10,7 +10,6 @@ on:
jobs:
frontend-build:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
@@ -10,7 +10,6 @@ on:
jobs:
test-mysql:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -76,7 +75,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F mysql
test-postgres:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -88,7 +86,7 @@ jobs:
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -143,7 +141,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F postgres
test-sqlite:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
+6 -4
View File
@@ -10,7 +10,6 @@ on:
jobs:
python-lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -50,7 +49,6 @@ jobs:
run: pylint -j 0 superset
pre-commit:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -88,10 +86,14 @@ jobs:
echo "HOMEBREW_REPOSITORY=$HOMEBREW_REPOSITORY" >>"${GITHUB_ENV}"
brew install norwoodj/tap/helm-docs
- name: pre-commit
run: pre-commit run --all-files
run: |
if ! pre-commit run --all-files; then
git status
git diff
exit 1
fi
babel-extract:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -10,7 +10,6 @@ on:
jobs:
test-postgres-presto:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -23,7 +22,7 @@ jobs:
SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -87,7 +86,6 @@ jobs:
bash .github/workflows/codecov.sh -c -F python -F presto
test-postgres-hive:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -101,7 +99,7 @@ jobs:
UPLOAD_FOLDER: /tmp/.superset/uploads/
services:
postgres:
image: postgres:14-alpine
image: postgres:15-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -134,7 +132,7 @@ jobs:
run: sudo chown -R $USER:$USER /tmp/.superset
- name: Start hadoop and hive
if: steps.check.outcome == 'failure'
run: docker-compose -f scripts/databases/hive/docker-compose.yml up -d
run: docker compose -f scripts/databases/hive/docker-compose.yml up -d
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v4
@@ -10,7 +10,6 @@ on:
jobs:
unit-tests:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
@@ -9,7 +9,6 @@ on:
jobs:
frontend-check:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
@@ -31,7 +30,6 @@ jobs:
npm run check-translation
babel-extract:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
-1
View File
@@ -9,7 +9,6 @@ on:
jobs:
app-checks:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+1
View File
@@ -59,6 +59,7 @@ superset/bin/supersetc
tmp
rat-results.txt
superset/app/
superset-websocket/config.json
# Node.js, webpack artifacts, storybook
*.entry.js
+3 -55
View File
@@ -50,15 +50,6 @@ unsafe-load-any-extension=no
# run arbitrary code
extension-pkg-whitelist=pyarrow
# Allow optimization of some AST trees. This will activate a peephole AST
# optimizer, which will apply various small optimizations. For instance, it can
# be used to obtain the result of joining multiple strings with the addition
# operator. Joining a lot of strings can lead to a maximum recursion error in
# Pylint and this flag can prevent that. It has one side effect, the resulting
# AST will be different than the one from reality. This option is deprecated
# and it will be removed in Pylint 2.0.
optimize-ast=no
[MESSAGES CONTROL]
@@ -83,12 +74,11 @@ enable=
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=
no-member, # re-enable once this no longer raises false positives. This will become redundant after the min required version is 3.11
cyclic-import, # re-enable once this no longer raises false positives
missing-docstring,
duplicate-code,
unspecified-encoding,
# re-enable once this no longer raises false positives
too-many-instance-attributes
too-many-instance-attributes # re-enable once this no longer raises false positives
[REPORTS]
@@ -97,12 +87,6 @@ disable=
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
# written in a file name "pylint_global.[txt|html]". This option is deprecated
# and it will be removed in Pylint 2.0.
files-output=no
# Tells whether to display a full report or only the messages
reports=yes
@@ -142,63 +126,33 @@ property-classes=
# Regular expression matching correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
variable-rgx=[a-z_][a-z0-9_]{1,30}$
# Naming hint for variable names
variable-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression matching correct constant names
const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
@@ -226,12 +180,6 @@ ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=1000
@@ -428,4 +376,4 @@ analyse-fallback-blocks=no
# Exceptions that will emit a warning when being caught. Defaults to
# "Exception"
overgeneral-exceptions=Exception
overgeneral-exceptions=builtins.Exception
+35 -72
View File
@@ -19,56 +19,19 @@ under the License.
## Change Log
- [3.0.2](#302-wed-nov-8-073838-2023--0500)
- [3.0.1](#301-tue-oct-13-103221-2023--0700)
- [3.0.0](#300-thu-aug-24-133627-2023--0600)
- [2.1.1](#211-sun-apr-23-154421-2023-0100)
- [2.1.0](#210-thu-mar-16-211305-2023--0700)
- [2.0.1](#201-fri-nov-4-103402-2022--0400)
- [2.0.0](#200-tue-jun-28-085302-2022--0400)
- [1.5.3](#153-thu-jan-5-150544-2023--0500)
- [1.5.3 (LTS)](#153-thu-jan-5-150544-2023--0500)
- [1.5.2](#152-wed-sep-14-171151-2022-0530)
- [1.5.1](#151-thu-may-26-144520-2022-0300)
- [1.5.0](#150-fri-apr-22-172330-2022--0400)
- [1.4.2](#142-sat-mar-19-000806-2022-0200)
- [1.4.1](#141)
### 3.0.2 (Wed Nov 8 07:38:38 2023 -0500)
**Fixes**
- [#25897](https://github.com/apache/superset/pull/25897) fix: trino cursor (@betodealmeida)
- [#25898](https://github.com/apache/superset/pull/25898) fix: database version field (@betodealmeida)
- [#25877](https://github.com/apache/superset/pull/25877) fix: Saving Mixed Chart with dashboard filter applied breaks adhoc_filter_b (@kgabryje)
- [#25842](https://github.com/apache/superset/pull/25842) fix(charts): Time grain is None when dataset uses Jinja (@Antonio-RiveroMartnez)
- [#25843](https://github.com/apache/superset/pull/25843) fix: remove `update_charts_owners` (@betodealmeida)
- [#25707](https://github.com/apache/superset/pull/25707) fix(table chart): Show Cell Bars correctly #25625 (@SA-Ark)
- [#25429](https://github.com/apache/superset/pull/25429) fix: the temporal x-axis results in a none time_range. (@mapledan)
- [#25853](https://github.com/apache/superset/pull/25853) fix: Fires onChange when clearing all values of single select (@michael-s-molina)
- [#25814](https://github.com/apache/superset/pull/25814) fix(sqllab): infinite fetching status after results are landed (@justinpark)
- [#25768](https://github.com/apache/superset/pull/25768) fix(SQL field in edit dataset modal): display full sql query (@rtexelm)
- [#25804](https://github.com/apache/superset/pull/25804) fix: Resolve issue #24195 (@john-bodley)
- [#25801](https://github.com/apache/superset/pull/25801) fix: Revert "fix: Apply normalization to all dttm columns (#25147)" (@john-bodley)
- [#25779](https://github.com/apache/superset/pull/25779) fix: DB-specific quoting in Jinja macro (@betodealmeida)
- [#25640](https://github.com/apache/superset/pull/25640) fix: allow for backward compatible errors (@eschutho)
- [#25741](https://github.com/apache/superset/pull/25741) fix(sqllab): slow pop datasource query (@justinpark)
- [#25756](https://github.com/apache/superset/pull/25756) fix: dataset update uniqueness (@betodealmeida)
- [#25753](https://github.com/apache/superset/pull/25753) fix: Revert "fix(Charts): Set max row limit + removed the option to use an empty row limit value" (@geido)
- [#25732](https://github.com/apache/superset/pull/25732) fix(horizontal filter label): show full tooltip with ellipsis (@rtexelm)
- [#25712](https://github.com/apache/superset/pull/25712) fix: bump to FAB 4.3.9 remove CSP exception (@dpgaspar)
- [#24709](https://github.com/apache/superset/pull/24709) fix(chore): dashboard requests to database equal the number of slices it has (@Always-prog)
- [#25679](https://github.com/apache/superset/pull/25679) fix: remove unnecessary redirect (@Khrol)
- [#25680](https://github.com/apache/superset/pull/25680) fix(sqllab): reinstate "Force trino client async execution" (@giftig)
- [#25657](https://github.com/apache/superset/pull/25657) fix(dremio): Fixes issue with Dremio SQL generation for Charts with Series Limit (@OskarNS)
- [#23638](https://github.com/apache/superset/pull/23638) fix: warning of nth-child (@justinpark)
- [#25658](https://github.com/apache/superset/pull/25658) fix: improve upload ZIP file validation (@dpgaspar)
- [#25495](https://github.com/apache/superset/pull/25495) fix(header navlinks): link navlinks to path prefix (@fisjac)
- [#25112](https://github.com/apache/superset/pull/25112) fix: permalink save/overwrites in explore (@hughhhh)
- [#25493](https://github.com/apache/superset/pull/25493) fix(import): Make sure query context is overwritten for overwriting imports (@jfrag1)
- [#25553](https://github.com/apache/superset/pull/25553) fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE (@Khrol)
- [#25626](https://github.com/apache/superset/pull/25626) fix(sqllab): template validation error within comments (@justinpark)
- [#25523](https://github.com/apache/superset/pull/25523) fix(sqllab): Mistitled for new tab after rename (@justinpark)
### 3.0.1 (Tue Oct 13 10:32:21 2023 -0700)
**Database Migrations**
@@ -146,7 +109,7 @@ under the License.
- [#24197](https://github.com/apache/superset/pull/24197) chore(pre-commit): Add pyupgrade and pycln hooks (@john-bodley)
- [#24127](https://github.com/apache/superset/pull/24127) chore: Embrace the walrus operator (@john-bodley)
- [#24020](https://github.com/apache/superset/pull/24020) feat: Cross filters scoping (@kgabryje)
- [#23942](https://github.com/apache/superset/pull/23942) fix: update migration chart_ds_constraint to have seperate batch op (@hughhhh)
- [#23942](https://github.com/apache/superset/pull/23942) fix: update migration chart_ds_constraint to have separate batch op (@hughhhh)
- [#23925](https://github.com/apache/superset/pull/23925) fix(migration): add log for values unseen in `Slice.datasource_type` (@hughhhh)
- [#23614](https://github.com/apache/superset/pull/23614) chore: add check constraint to restrict `Slice` models datasource_type != "table" (@hughhhh)
- [#23650](https://github.com/apache/superset/pull/23650) fix(migration): Only attempt to drop types if they exist (@jfrag1)
@@ -179,7 +142,7 @@ under the License.
- [#24345](https://github.com/apache/superset/pull/24345) feat: Convert ENABLE_BROAD_ACTIVITY_ACCESS and MENU_HIDE_USER_INFO into feature flags (@michael-s-molina)
- [#23943](https://github.com/apache/superset/pull/23943) feat: Removes the preset-chart-xy plugin (@michael-s-molina)
- [#23933](https://github.com/apache/superset/pull/23933) feat: Removes the Multiple Line Charts (@michael-s-molina)
- [#24237](https://github.com/apache/superset/pull/24237) feat: support complex types and use get_columns implementation of starrrocks python client (@miomiocat)
- [#24237](https://github.com/apache/superset/pull/24237) feat: support complex types and use get_columns implementation of starrocks python client (@miomiocat)
- [#24205](https://github.com/apache/superset/pull/24205) feat(sqllab): SQLEditor Extension (@Antonio-RiveroMartnez)
- [#24232](https://github.com/apache/superset/pull/24232) feat(flags): enabling and deprecating a few feature flags (@rusackas)
- [#24191](https://github.com/apache/superset/pull/24191) feat: extension hook for DB delete (@betodealmeida)
@@ -250,7 +213,7 @@ under the License.
- [#23138](https://github.com/apache/superset/pull/23138) feat: Cross Filters in FilterBar (@geido)
- [#23099](https://github.com/apache/superset/pull/23099) feat(ssh_tunnel): Import/Export Databases with SSHTunnel credentials (@Antonio-RiveroMartnez)
- [#23141](https://github.com/apache/superset/pull/23141) feat(dashboard): Add cross filter from context menu (@kgabryje)
- [#22886](https://github.com/apache/superset/pull/22886) feat: Enable cross fitlers in WorldMap and Graph charts (@kgabryje)
- [#22886](https://github.com/apache/superset/pull/22886) feat: Enable cross filters in WorldMap and Graph charts (@kgabryje)
- [#23143](https://github.com/apache/superset/pull/23143) feat: return UUID on database creation (@betodealmeida)
- [#20876](https://github.com/apache/superset/pull/20876) feat: Frontend tagging (@cccs-RyanK)
@@ -362,7 +325,7 @@ under the License.
- [#24567](https://github.com/apache/superset/pull/24567) fix: remove underscore from builtin_time_grains label (@cnabro)
- [#24608](https://github.com/apache/superset/pull/24608) fix: Incorrect dependency between filters related feature flags (@michael-s-molina)
- [#24612](https://github.com/apache/superset/pull/24612) fix(report): edit without custom width (@betodealmeida)
- [#24552](https://github.com/apache/superset/pull/24552) fix(ssh): Editting Database w/ SSH Tunneling (@hughhhh)
- [#24552](https://github.com/apache/superset/pull/24552) fix(ssh): Editing Database w/ SSH Tunneling (@hughhhh)
- [#24556](https://github.com/apache/superset/pull/24556) fix: set max version for pyocient (@jwilliams-ocient)
- [#24129](https://github.com/apache/superset/pull/24129) fix: Bump prophet, re-enable tests, and remedy column eligibility logic (@john-bodley)
- [#24593](https://github.com/apache/superset/pull/24593) fix: Clicking on a tag in the dashboard and charts lists does not work (@michael-s-molina)
@@ -416,7 +379,7 @@ under the License.
- [#24279](https://github.com/apache/superset/pull/24279) fix(migrations): Fixing cross filter migration (@craig-rueda)
- [#24256](https://github.com/apache/superset/pull/24256) fix: enable strong session protection by default (@dpgaspar)
- [#23562](https://github.com/apache/superset/pull/23562) fix(docs): Update databricks.mdx with correct pip package name (@amosdoublec)
- [#24217](https://github.com/apache/superset/pull/24217) fix: Typescript warnings when importing types (@michael-s-molina)
- [#24217](https://github.com/apache/superset/pull/24217) fix: TypeScript warnings when importing types (@michael-s-molina)
- [#24222](https://github.com/apache/superset/pull/24222) fix(helm): Use correct default hostnames for postgres and redis (@NickLarsenNZ)
- [#24242](https://github.com/apache/superset/pull/24242) fix(dataset-api): allow undefined schema in post (@villebro)
- [#24207](https://github.com/apache/superset/pull/24207) fix: removing problematic "formattable" tag (@rusackas)
@@ -450,7 +413,7 @@ under the License.
- [#23892](https://github.com/apache/superset/pull/23892) fix(sql-editor): Fix run stop button color to improve usability (@curious86)
- [#23909](https://github.com/apache/superset/pull/23909) fix: remove feature flag for tags on Dashboard API for `Tags` (@hughhhh)
- [#23881](https://github.com/apache/superset/pull/23881) fix(native-filters): Address spelling mistakes (@john-bodley)
- [#23778](https://github.com/apache/superset/pull/23778) fix(chart): scrollbar keep flusing on and off (@justinpark)
- [#23778](https://github.com/apache/superset/pull/23778) fix(chart): scrollbar keep flushing on and off (@justinpark)
- [#23868](https://github.com/apache/superset/pull/23868) fix: move dynamic schema out of base Postgres class (@hughhhh)
- [#23702](https://github.com/apache/superset/pull/23702) fix: npm run dev-server error resolved (@Abhishek-kumar-samsung)
- [#23872](https://github.com/apache/superset/pull/23872) fix(dremio): query with alias (@betodealmeida)
@@ -621,7 +584,7 @@ under the License.
- [#24504](https://github.com/apache/superset/pull/24504) build(docker): simplification of assembly to facilitate further support (@alekseyolg)
- [#24503](https://github.com/apache/superset/pull/24503) chore: update ansi-regex (@hughhhh)
- [#24489](https://github.com/apache/superset/pull/24489) chore(sqllab): add extra_json on tabstate (@justinpark)
- [#24497](https://github.com/apache/superset/pull/24497) build(docker): pin the underlying debain base image (@boenshao)
- [#24497](https://github.com/apache/superset/pull/24497) build(docker): pin the underlying debian base image (@boenshao)
- [#24371](https://github.com/apache/superset/pull/24371) chore(sqllab): Remove table metadata from state (@justinpark)
- [#24443](https://github.com/apache/superset/pull/24443) build(deps-dev): bump eslint from 8.42.0 to 8.43.0 in /superset-websocket (@dependabot[bot])
- [#24454](https://github.com/apache/superset/pull/24454) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.11 to 5.60.0 in /superset-websocket (@dependabot[bot])
@@ -922,7 +885,7 @@ under the License.
- [#23582](https://github.com/apache/superset/pull/23582) fix(dash import): Ensure old datasource ids are not referenced in imported charts (@jfrag1)
- [#23506](https://github.com/apache/superset/pull/23506) fix(generic-x-axis): skip initial time filter for legacy charts (@villebro)
- [#23507](https://github.com/apache/superset/pull/23507) fix(legacy-plugin-chart-heatmap): fix adhoc column tooltip (@villebro)
- [#23441](https://github.com/apache/superset/pull/23441) fix(chart): non existent time grain no longer breaks the application (@rdubois)
- [#23441](https://github.com/apache/superset/pull/23441) fix(chart): nonexistent time grain no longer breaks the application (@rdubois)
- [#23393](https://github.com/apache/superset/pull/23393) fix(Pivot Table v2): resolved full width issue (@AkashBoora)
- [#22851](https://github.com/apache/superset/pull/22851) fix: Validate jinja rendered query (@geido)
@@ -1038,7 +1001,7 @@ under the License.
- [#22031](https://github.com/apache/superset/pull/22031) feat: Adds more customization properties to DropdownContainer (@michael-s-molina)
- [#22004](https://github.com/apache/superset/pull/22004) feat(dashboard): Support changing filter bar location (@kgabryje)
- [#21974](https://github.com/apache/superset/pull/21974) feat: Adds the DropdownContainer component (@michael-s-molina)
- [#21767](https://github.com/apache/superset/pull/21767) feat: support mulitple temporal filters in AdhocFilter and move the Time Section away (@zhaoyongjie)
- [#21767](https://github.com/apache/superset/pull/21767) feat: support multiple temporal filters in AdhocFilter and move the Time Section away (@zhaoyongjie)
- [#21955](https://github.com/apache/superset/pull/21955) feat: Selectable dropdown triggered by icon component (@geido)
- [#21931](https://github.com/apache/superset/pull/21931) feat(reports): execute as other than selenium user (@villebro)
- [#21806](https://github.com/apache/superset/pull/21806) feat(helm): Support for flower and websocket containers (@Yann-J)
@@ -1115,7 +1078,7 @@ under the License.
- [#20891](https://github.com/apache/superset/pull/20891) feat: Adds drill to detail context menu for ECharts visualizations (@michael-s-molina)
- [#20567](https://github.com/apache/superset/pull/20567) feat(helm): add liveness and readiness for deployment webserver (@jplanckeel)
- [#20990](https://github.com/apache/superset/pull/20990) feat: per-db add metrics (@betodealmeida)
- [#21008](https://github.com/apache/superset/pull/21008) feat: supports mulitple filters in samples endpoint (@zhaoyongjie)
- [#21008](https://github.com/apache/superset/pull/21008) feat: supports multiple filters in samples endpoint (@zhaoyongjie)
- [#20945](https://github.com/apache/superset/pull/20945) feat: useReducer for dataset creation (@AAfghahi)
- [#20835](https://github.com/apache/superset/pull/20835) feat: add 'dashboard.nav.right' extension to registry (@samtfm)
- [#20416](https://github.com/apache/superset/pull/20416) feat(embedded-SDK): enable CSV download (@lilykuang)
@@ -1148,7 +1111,7 @@ under the License.
- [#20017](https://github.com/apache/superset/pull/20017) feat: hack db connection modal ctabtns (@pkdotson)
- [#20586](https://github.com/apache/superset/pull/20586) feat: drop missing columns control (@zhaoyongjie)
- [#19520](https://github.com/apache/superset/pull/19520) feat(deck.gl): add color range for deck.gl 3D chart (@stephenLYZ)
- [#20512](https://github.com/apache/superset/pull/20512) feat(sql lab): Save Dataset Modal Autocomplete should display list when overwritting (@Antonio-RiveroMartnez)
- [#20512](https://github.com/apache/superset/pull/20512) feat(sql lab): Save Dataset Modal Autocomplete should display list when overwriting (@Antonio-RiveroMartnez)
- [#20575](https://github.com/apache/superset/pull/20575) feat: add extension point to the top of welcome page (@lilykuang)
- [#20579](https://github.com/apache/superset/pull/20579) feat: apply standardized form data to deckgl (@zhaoyongjie)
- [#20514](https://github.com/apache/superset/pull/20514) feat: add extension point to the right side of the menu bar (@samtfm)
@@ -1241,7 +1204,7 @@ under the License.
- [#22671](https://github.com/apache/superset/pull/22671) fix: remove whitespace from http_path for databricks (@eschutho)
- [#22716](https://github.com/apache/superset/pull/22716) fix(helm): remove config overrides for CSRF (@reidab)
- [#22693](https://github.com/apache/superset/pull/22693) fix(explore): Restore missing dataset states (@codyml)
- [#22720](https://github.com/apache/superset/pull/22720) fix: bootstraping frontend (@cdreier)
- [#22720](https://github.com/apache/superset/pull/22720) fix: bootstrapping frontend (@cdreier)
- [#22709](https://github.com/apache/superset/pull/22709) fix: Spacing in alert modal (@lyndsiWilliams)
- [#22688](https://github.com/apache/superset/pull/22688) fix: alert modal bug fix (@AAfghahi)
- [#22462](https://github.com/apache/superset/pull/22462) fix(embed): fix server error due to breaking change on flask-login (@Usiel)
@@ -1517,7 +1480,7 @@ under the License.
- [#21025](https://github.com/apache/superset/pull/21025) fix: unable to show view as table modal (@zhaoyongjie)
- [#21030](https://github.com/apache/superset/pull/21030) fix: making crossFilter.chartsInScope optional (@rusackas)
- [#20970](https://github.com/apache/superset/pull/20970) fix: forwardRef warnings in selects (@michael-s-molina)
- [#21017](https://github.com/apache/superset/pull/21017) fix(plugin-echart-timeseries): legend trancated on show extra controls (@justinpark)
- [#21017](https://github.com/apache/superset/pull/21017) fix(plugin-echart-timeseries): legend truncated on show extra controls (@justinpark)
- [#21016](https://github.com/apache/superset/pull/21016) fix(sqllab): result set min-height (@ktmud)
- [#20999](https://github.com/apache/superset/pull/20999) fix: quick fix to rows returned in results (@AAfghahi)
- [#20965](https://github.com/apache/superset/pull/20965) fix: save dataset and repopulate state (@eschutho)
@@ -1850,7 +1813,7 @@ under the License.
- [#22068](https://github.com/apache/superset/pull/22068) test: Fix act errors in DndColumnSelectControl tests (@corbinrobb)
- [#22048](https://github.com/apache/superset/pull/22048) test: Fix act errors in DndMetricSelect test (@lyndsiWilliams)
- [#22041](https://github.com/apache/superset/pull/22041) chore: Adds RTL tests to DropdownContainer (@michael-s-molina)
- [#21954](https://github.com/apache/superset/pull/21954) build: Mutli-stage build and slim image for websocket container (@Yann-J)
- [#21954](https://github.com/apache/superset/pull/21954) build: Multi-stage build and slim image for websocket container (@Yann-J)
- [#22032](https://github.com/apache/superset/pull/22032) chore(dataset): enable reload for schema and table (@justinpark)
- [#22015](https://github.com/apache/superset/pull/22015) refactor: Feature flags getter (@zhaoyongjie)
- [#22002](https://github.com/apache/superset/pull/22002) refactor: clean up codes (@zhaoyongjie)
@@ -1919,7 +1882,7 @@ under the License.
- [#21566](https://github.com/apache/superset/pull/21566) docs: Turkey map already added (@rizacavus)
- [#21565](https://github.com/apache/superset/pull/21565) chore(deps): bump moment-timezone from 0.5.33 to 0.5.37 in /superset-frontend (@dependabot[bot])
- [#21553](https://github.com/apache/superset/pull/21553) chore: Remove chromatic job per PR as it has errors (@eric-briscoe)
- [#21496](https://github.com/apache/superset/pull/21496) refactor: Rewrites ColorSchemeControl with Typescript (@michael-s-molina)
- [#21496](https://github.com/apache/superset/pull/21496) refactor: Rewrites ColorSchemeControl with TypeScript (@michael-s-molina)
- [#21320](https://github.com/apache/superset/pull/21320) chore: refactor SqlEditor to functional component (@EugeneTorap)
- [#21510](https://github.com/apache/superset/pull/21510) refactor: refine timestamp expr function (@zhaoyongjie)
- [#21524](https://github.com/apache/superset/pull/21524) chore: should return if get a exception in Dashboard edit modal (@zhaoyongjie)
@@ -2039,7 +2002,7 @@ under the License.
- [#20612](https://github.com/apache/superset/pull/20612) chore(explore): update Explore icons and icon colors (@codyml)
- [#20915](https://github.com/apache/superset/pull/20915) chore(test): Unskip Cypress test (@codyml)
- [#20884](https://github.com/apache/superset/pull/20884) other(mypy): Enable warn_unused_ignores (@john-bodley)
- [#20690](https://github.com/apache/superset/pull/20690) chore: Remove unecessary code from async and sync select components (@cccs-RyanK)
- [#20690](https://github.com/apache/superset/pull/20690) chore: Remove unnecessary code from async and sync select components (@cccs-RyanK)
- [#20669](https://github.com/apache/superset/pull/20669) chore: adding Bazaar Technologies to Superset Users (@umair-abro)
- [#20786](https://github.com/apache/superset/pull/20786) chore(deps): bump terser from 5.9.0 to 5.14.2 in /docs (@dependabot[bot])
- [#20810](https://github.com/apache/superset/pull/20810) refactor: Improve performance regression introduced in #20473 (@john-bodley)
@@ -2215,7 +2178,7 @@ under the License.
- [#19898](https://github.com/apache/superset/pull/19898) feat: When editing the label/title in the Metrics popover, hitting Enter should save what you've typed (@diegomedina248)
- [#16493](https://github.com/apache/superset/pull/16493) feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (@stephenLYZ)
- [#19855](https://github.com/apache/superset/pull/19855) feat(explore): Frontend implementation of dataset creation from infobox (@lyndsiWilliams)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modfied col and timezone info to schedule col (@pkdotson)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modified col and timezone info to schedule col (@pkdotson)
- [#20144](https://github.com/apache/superset/pull/20144) feat: showing results pane in dashboard (@zhaoyongjie)
- [#20242](https://github.com/apache/superset/pull/20242) feat: derived metrics use different line style (@zhaoyongjie)
- [#20010](https://github.com/apache/superset/pull/20010) feat: standardized form_data (@zhaoyongjie)
@@ -2271,7 +2234,7 @@ under the License.
- [#19558](https://github.com/apache/superset/pull/19558) feat(explore): Redesign of Run/Save buttons (@kgabryje)
- [#19650](https://github.com/apache/superset/pull/19650) feat(embedded): API get embedded dashboard config by uuid (@lilykuang)
- [#19310](https://github.com/apache/superset/pull/19310) feat(CRUD): add new empty state (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donuct chart (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donut chart (@stephenLYZ)
- [#19314](https://github.com/apache/superset/pull/19314) feat: Move Database Import option into DB Connection modal (@lyndsiWilliams)
- [#19434](https://github.com/apache/superset/pull/19434) feat: deprecate old API and create new API for dashes created by me (@dpgaspar)
- [#19482](https://github.com/apache/superset/pull/19482) feat: add success toast to alerts and reports (@pkdotson)
@@ -2353,7 +2316,7 @@ under the License.
- [#20204](https://github.com/apache/superset/pull/20204) fix: Fixes issue where results panel height was incorrect [sc-49045] (@eric-briscoe)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20088](https://github.com/apache/superset/pull/20088) fix: datatype tracking issue on virtual dataset (@codemaster08240328)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashbaord unable to refresh (@zhaoyongjie)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashboard unable to refresh (@zhaoyongjie)
- [#20228](https://github.com/apache/superset/pull/20228) fix: failed samples should throw exception (@zhaoyongjie)
- [#20203](https://github.com/apache/superset/pull/20203) fix: move columns to datasource object for bootstrap data (@hughhhh)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
@@ -2363,7 +2326,7 @@ under the License.
- [#20206](https://github.com/apache/superset/pull/20206) fix(sql lab): SQL Lab Compile Query Delay (@diegomedina248)
- [#20201](https://github.com/apache/superset/pull/20201) fix: unable to set destroyOnClose on ModalTrigger (@zhaoyongjie)
- [#20186](https://github.com/apache/superset/pull/20186) fix(db): make to allow to show/hide the password when only creating (@prosdev0107)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrival of tables and views from schema for exasol backend (@Nicoretti)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrieval of tables and views from schema for exasol backend (@Nicoretti)
- [#19899](https://github.com/apache/superset/pull/19899) fix: always create parameter json field (@pkdotson)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#20086](https://github.com/apache/superset/pull/20086) fix(css): transparent linear gradient not working in safari (@stephenLYZ)
@@ -2470,7 +2433,7 @@ under the License.
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
- [#19397](https://github.com/apache/superset/pull/19397) fix: weight tooltip issue (@codemaster08240328)
- [#19313](https://github.com/apache/superset/pull/19313) fix(sql lab): increase the size of the action icons in the history tab (@diegomedina248)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hidding control (@stephenLYZ)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hiding control (@stephenLYZ)
- [#19444](https://github.com/apache/superset/pull/19444) fix: Error Message is cut off in alerts & reports log page (@codemaster08240328)
- [#19312](https://github.com/apache/superset/pull/19312) fix: adaptive formatting typo in explore dropdowns (@diegomedina248)
- [#19534](https://github.com/apache/superset/pull/19534) fix(explore): Chart header icon paddings (@kgabryje)
@@ -2639,7 +2602,7 @@ under the License.
- [#19486](https://github.com/apache/superset/pull/19486) refactor: Removes the CSS files from the Treemap plugin (@michael-s-molina)
- [#19488](https://github.com/apache/superset/pull/19488) refactor: Removes the CSS files from the Sunburst plugin (@michael-s-molina)
- [#19490](https://github.com/apache/superset/pull/19490) chore: Add theme color to ParallelCoordinates (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterbaleTableStyles.less (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterableTableStyles.less (@geido)
- [#19441](https://github.com/apache/superset/pull/19441) chore: Remove StyledQueryButton.less (@geido)
- [#19473](https://github.com/apache/superset/pull/19473) refactor: Removes the CSS files from the Rose plugin (@michael-s-molina)
- [#19466](https://github.com/apache/superset/pull/19466) chore: Removes hard-coded colors from legacy-plugin-chart-world-map (@michael-s-molina)
@@ -2910,7 +2873,7 @@ under the License.
- [#19716](https://github.com/apache/superset/pull/19716) fix: drop the first level of MultiIndex (@zhaoyongjie)
- [#19688](https://github.com/apache/superset/pull/19688) fix(dashboard): Fix BigNumber causing dashboard to crash when overflowing (@kgabryje)
- [#19664](https://github.com/apache/superset/pull/19664) fix(sql-lab): do not replace undefined schema with empty object (@villebro)
- [#19659](https://github.com/apache/superset/pull/19659) fix: time comparision (@zhaoyongjie)
- [#19659](https://github.com/apache/superset/pull/19659) fix: time comparison (@zhaoyongjie)
- [#19553](https://github.com/apache/superset/pull/19553) fix(dataset): handle missing python_type gracefully (@villebro)
- [#19612](https://github.com/apache/superset/pull/19612) fix(select): render when empty multiselect (@villebro)
- [#19565](https://github.com/apache/superset/pull/19565) fix(sqla): apply jinja to metrics (@villebro)
@@ -2939,7 +2902,7 @@ under the License.
- [#19341](https://github.com/apache/superset/pull/19341) fix: Null values on Explore filter (@michael-s-molina)
- [#19338](https://github.com/apache/superset/pull/19338) fix(docs): spelling (@ndbu)
- [#19339](https://github.com/apache/superset/pull/19339) fix(embedded): download chart as image (@lilykuang)
- [#19327](https://github.com/apache/superset/pull/19327) fix(dashboard): Chart stuck in loading state when when datasets request and chart request fail (@kgabryje)
- [#19327](https://github.com/apache/superset/pull/19327) fix(dashboard): Chart stuck in loading state when datasets request and chart request fail (@kgabryje)
- [#19316](https://github.com/apache/superset/pull/19316) fix(explore): make to convert null to N/A in view results (@prosdev0107)
- [#19326](https://github.com/apache/superset/pull/19326) fix: regression on Select component when handling null values (@diegomedina248)
- [#18741](https://github.com/apache/superset/pull/18741) fix(dashboard): fix default filter bar visibility + add docs (@villebro)
@@ -2970,7 +2933,7 @@ under the License.
- [#19080](https://github.com/apache/superset/pull/19080) fix(dashboard-edge-cutting): make to be not cut without Filter (@prosdev0107)
- [#19110](https://github.com/apache/superset/pull/19110) fix: cache key with guest token rls (@lilykuang)
- [#19095](https://github.com/apache/superset/pull/19095) fix(dashboard): Empty states overflowing small chart containers (@kgabryje)
- [#18947](https://github.com/apache/superset/pull/18947) fix(plugin-chart-echarts): make to allow the custome of x & y axis title margin i… (@prosdev0107)
- [#18947](https://github.com/apache/superset/pull/18947) fix(plugin-chart-echarts): make to allow the customization of x & y axis title margin i… (@prosdev0107)
- [#19088](https://github.com/apache/superset/pull/19088) fix(dashboard): import handle missing excluded charts (@villebro)
- [#19072](https://github.com/apache/superset/pull/19072) fix: Show Totals error with sort and group by together (@codemaster08240328)
- [#19037](https://github.com/apache/superset/pull/19037) fix: Database import error with a new field (@codemaster08240328)
@@ -2987,7 +2950,7 @@ under the License.
- [#19052](https://github.com/apache/superset/pull/19052) fix: add previous line hotkey to SQL Lab for macOS (@diegomedina248)
- [#18690](https://github.com/apache/superset/pull/18690) fix: Update time grain expressions for Spark >= 3.x (@thomasdesr)
- [#19048](https://github.com/apache/superset/pull/19048) fix: remove unnecessary divider (@pkdotson)
- [#19059](https://github.com/apache/superset/pull/19059) fix(deck.gl): make Deck.gl Javascript tooltip generator works correctly (@chanyou0311)
- [#19059](https://github.com/apache/superset/pull/19059) fix(deck.gl): make Deck.gl JavaScript tooltip generator works correctly (@chanyou0311)
- [#19044](https://github.com/apache/superset/pull/19044) fix: improve cypress flakiness (@etr2460)
- [#19043](https://github.com/apache/superset/pull/19043) fix(big-number): Big Number with Trendline Chart is not working if Time Grain is set to Month (@stephenLYZ)
- [#19040](https://github.com/apache/superset/pull/19040) fix(docs): update impala.mdx with correct product name (@DLT1412)
@@ -2995,7 +2958,7 @@ under the License.
- [#18877](https://github.com/apache/superset/pull/18877) fix(nested-tab-available): make the another tabs into one tabs available (@prosdev0107)
- [#18960](https://github.com/apache/superset/pull/18960) fix(chart): deprecate persisting url_params (@villebro)
- [#18973](https://github.com/apache/superset/pull/18973) fix(packages): Fixing users packages (@craig-rueda)
- [#18892](https://github.com/apache/superset/pull/18892) fix(tooltip-not-dissapeared): make the tooltip disappear when mouse away (@prosdev0107)
- [#18892](https://github.com/apache/superset/pull/18892) fix(tooltip-not-disappeared): make the tooltip disappear when mouse away (@prosdev0107)
- [#18982](https://github.com/apache/superset/pull/18982) fix(external-link): change the external link in creating chart dashboard (@prosdev0107)
- [#18963](https://github.com/apache/superset/pull/18963) fix(native-filters): Default value not shown in native filters (@kgabryje)
- [#18958](https://github.com/apache/superset/pull/18958) fix(plugin-chart-echarts): fix customize margin (@stephenLYZ)
@@ -3047,7 +3010,7 @@ under the License.
- [#18628](https://github.com/apache/superset/pull/18628) fix: check embedded feature flag in request loader (@lilykuang)
- [#18562](https://github.com/apache/superset/pull/18562) fix: user UUIDs on export for Native Filter Configuration (@hughhhh)
- [#18619](https://github.com/apache/superset/pull/18619) fix(helm): Fix support for ingress.ingressClassName (@ad-m)
- [#18609](https://github.com/apache/superset/pull/18609) fix: change database database selector (@pkdotson)
- [#18609](https://github.com/apache/superset/pull/18609) fix: change database selector (@pkdotson)
- [#18601](https://github.com/apache/superset/pull/18601) fix(jest): add superset-frontend to testRegex (@villebro)
- [#18564](https://github.com/apache/superset/pull/18564) fix: sqllab schema select error msg (@pkdotson)
- [#18579](https://github.com/apache/superset/pull/18579) fix(sqla): avoid unnecessary groupby in samples request (@villebro)
@@ -3064,7 +3027,7 @@ under the License.
- [#18217](https://github.com/apache/superset/pull/18217) fix(plugin-chart-echarts): use verbose x-axis name when defined (@villebro)
- [#18216](https://github.com/apache/superset/pull/18216) fix(explore): Pie chart label formatting when series is temporal (@kgabryje)
- [#17881](https://github.com/apache/superset/pull/17881) fix(sql): unable to filter text with quotes (@stephenLYZ)
- [#18205](https://github.com/apache/superset/pull/18205) fix(tests): Remove walrus operator for Python 3.7 compatiblity (@ad-m)
- [#18205](https://github.com/apache/superset/pull/18205) fix(tests): Remove walrus operator for Python 3.7 compatibility (@ad-m)
- [#18145](https://github.com/apache/superset/pull/18145) fix(native-filters): values is not sorted when setting sort option (@stephenLYZ)
- [#18174](https://github.com/apache/superset/pull/18174) fix(helm): allows extra top-level properties (@ad-m)
- [#18180](https://github.com/apache/superset/pull/18180) fix: Default values getting cleared in native filters form (@geido)
@@ -3299,7 +3262,7 @@ under the License.
- [#18955](https://github.com/apache/superset/pull/18955) docs: fix sql templating typos (@garyng)
- [#18931](https://github.com/apache/superset/pull/18931) chore: Moves components out of the commons folder (@michael-s-molina)
- [#18915](https://github.com/apache/superset/pull/18915) test(Native Filter): User can create parent filters using "Filter is hierarchical (@jinghua-qa)
- [#18811](https://github.com/apache/superset/pull/18811) chore: add intersect method from backend to fontend for upload extensions (@pkdotson)
- [#18811](https://github.com/apache/superset/pull/18811) chore: add intersect method from backend to frontend for upload extensions (@pkdotson)
- [#18935](https://github.com/apache/superset/pull/18935) chore: update `UPDATING.md` re: SIP-68 (@betodealmeida)
- [#18866](https://github.com/apache/superset/pull/18866) refactor(ImportModelsCommand): clean code, extract logic into methods (@michael-hoffman-26)
- [#18850](https://github.com/apache/superset/pull/18850) test(native filter): add new native filter test for time column filter (@jinghua-qa)
@@ -3371,7 +3334,7 @@ under the License.
- [#18254](https://github.com/apache/superset/pull/18254) docs(i18n): make translation guide more explicit (@villebro)
- [#18231](https://github.com/apache/superset/pull/18231) chore: add ci for docs-v2 (@ad-m)
- [#18559](https://github.com/apache/superset/pull/18559) chore: Update Docusaurus dependencies (@geido)
- [#18229](https://github.com/apache/superset/pull/18229) chore: Reference Github code in Docusaurus (@geido)
- [#18229](https://github.com/apache/superset/pull/18229) chore: Reference GitHub code in Docusaurus (@geido)
- [#18251](https://github.com/apache/superset/pull/18251) chore(tests): migrate mssql tests to pytest (@villebro)
- [#18188](https://github.com/apache/superset/pull/18188) refactor: upgrade ControlHeader to TSX & FC and add storybook (@ad-m)
- [#18230](https://github.com/apache/superset/pull/18230) chore: Docusaurus throw on broken links (@geido)
@@ -3423,7 +3386,7 @@ under the License.
- [#17962](https://github.com/apache/superset/pull/17962) chore(deps): bump urijs from 1.19.6 to 1.19.7 in /superset-frontend (@dependabot[bot])
- [#17942](https://github.com/apache/superset/pull/17942) chore: Fix 'button' misspelling in list_with_checkboxes (@acrks)
- [#17860](https://github.com/apache/superset/pull/17860) chore: remove unused eslintrc (@zhaoyongjie)
- [#17909](https://github.com/apache/superset/pull/17909) refactor(storybok): upgrade to webpack5 in storybook of plugins (@zhaoyongjie)
- [#17909](https://github.com/apache/superset/pull/17909) refactor(storybook): upgrade to webpack5 in storybook of plugins (@zhaoyongjie)
- [#17924](https://github.com/apache/superset/pull/17924) chore: fix misspelling of button (@DavidWoolner)
- [#17782](https://github.com/apache/superset/pull/17782) ci: make presto hive tests to cover only chartData and sqljson (@amitmiran137)
- [#17717](https://github.com/apache/superset/pull/17717) chore: Fix UPDATING.md (@john-bodley)
@@ -3434,7 +3397,7 @@ under the License.
- [#17811](https://github.com/apache/superset/pull/17811) other: Add Helm chart option for configOverrides through file (@dd-willgan)
- [#17828](https://github.com/apache/superset/pull/17828) chore: add lerna version (@zhaoyongjie)
- [#17827](https://github.com/apache/superset/pull/17827) refactor(monorepo): migrate plugins release workflow (@zhaoyongjie)
- [#17754](https://github.com/apache/superset/pull/17754) docs: update contribuing docs (@zhaoyongjie)
- [#17754](https://github.com/apache/superset/pull/17754) docs: update contributing docs (@zhaoyongjie)
- [#17650](https://github.com/apache/superset/pull/17650) chore: updated screenshots in README.md and added recent events (@srinify)
- [#17797](https://github.com/apache/superset/pull/17797) chore(plugin-chart-table): move adhoc filters control closer to the metrics (@kgabryje)
- [#17798](https://github.com/apache/superset/pull/17798) chore(plugin-chart-pivot-table): change order of Columns and Rows controls (@kgabryje)
@@ -3567,7 +3530,7 @@ under the License.
- [#17045](https://github.com/apache/superset/pull/17045) docs: add vscode linter instructions to CONTRIBUTING.md (@suddjian)
- [#16993](https://github.com/apache/superset/pull/16993) style: Update text for SLL Tooltip (@gabester78)
- [#16959](https://github.com/apache/superset/pull/16959) chore(Dashboard): Implement dedicated message for missing dataset (@geido)
- [#17016](https://github.com/apache/superset/pull/17016) docs(pylint): Add context about disablement of Pylint messages (@john-bodley)
- [#17016](https://github.com/apache/superset/pull/17016) docs(pylint): Add context about disabling of Pylint messages (@john-bodley)
- [#17009](https://github.com/apache/superset/pull/17009) chore: bump superset-ui 0.18.10 (@zhaoyongjie)
- [#16974](https://github.com/apache/superset/pull/16974) refactor(filterset): improve response body (@ofekisr)
- [#16999](https://github.com/apache/superset/pull/16999) chore: no direct use of supersetTheme (or bad LESS vars) in SqlEditor (@rusackas)
+20 -20
View File
@@ -66,7 +66,7 @@ little bit helps, and credit will always be given.
- [Build assets](#build-assets)
- [Webpack dev server](#webpack-dev-server)
- [Other npm commands](#other-npm-commands)
- [Docker (docker-compose)](#docker-docker-compose)
- [Docker (docker compose)](#docker-docker-compose)
- [Updating NPM packages](#updating-npm-packages)
- [Feature flags](#feature-flags)
- [Git Hooks](#git-hooks)
@@ -138,7 +138,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -170,7 +170,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -329,16 +329,16 @@ Triaging goals
First, add **Category labels (a.k.a. hash labels)**. Every issue/PR must have one hash label (except spam entry). Labels that begin with `#` defines issue/PR type:
| Label | for Issue | for PR |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. | Implementation of improvement that does not provide new features and is also not a bug fix nor refactor, such as adjust padding, refine UI style. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
| Label | for Issue | for PR |
| --------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `#bug` | Bug report | Bug fix |
| `#code-quality` | Describe problem with code, architecture or productivity | Refactor, tests, tooling |
| `#feature` | New feature request | New feature implementation |
| `#refine` | Propose improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. | Implementation of improvement such as adjusting padding or refining UI style, excluding new features, bug fixes, and refactoring. |
| `#doc` | Documentation | Documentation |
| `#question` | Troubleshooting: Installation, Running locally, Ask how to do something. Can be changed to `#bug` later. | N/A |
| `#SIP` | Superset Improvement Proposal | N/A |
| `#ASF` | Tasks related to Apache Software Foundation policy | Tasks related to Apache Software Foundation policy |
Then add other types of labels as appropriate.
@@ -652,7 +652,7 @@ Alternatively, there are other NPM commands you may find useful:
1. `npm run build-dev`: build assets in development mode.
2. `npm run dev`: built dev assets in watch mode, will automatically rebuild when a file changes
#### Docker (docker-compose)
#### Docker (docker compose)
See docs [here](docker/README.md)
@@ -720,7 +720,7 @@ We use [Pylint](https://pylint.org/) for linting which can be invoked via:
tox -e pylint
```
In terms of best practices please avoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
In terms of best practices please avoid blanket disabling of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disabling should occur inline as it prevents masking issues and provides context as to why said message is disabled.
Additionally, the Python code is auto-formatted using [Black](https://github.com/python/black) which
is configured as a pre-commit hook. There are also numerous [editor integrations](https://black.readthedocs.io/en/stable/integrations/editors.html)
@@ -899,17 +899,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -976,7 +976,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
@@ -1211,7 +1211,7 @@ To contribute a plugin to Superset, your plugin must meet the following criteria
- The plugin should contain sufficient unit/e2e tests
- The plugin should use appropriate namespacing, e.g. a folder name of `plugin-chart-whatever` and a package name of `@superset-ui/plugin-chart-whatever`
- The plugin should use them variables via Emotion, as passed in by the ThemeProvider
- The plugin should provide adequate error handling (no data returned, malformatted data, invalid controls, etc.)
- The plugin should provide adequate error handling (no data returned, malformed data, invalid controls, etc.)
- The plugin should contain documentation in the form of a populated `README.md` file
- The plugin should have a meaningful and unique icon
- Above all else, the plugin should come with a _commitment to maintenance_ from the original author(s)
+39 -41
View File
@@ -22,33 +22,28 @@ ARG PY_VER=3.9-slim-bookworm
# if BUILDPLATFORM is null, set it to 'amd64' (or leave as is otherwise).
ARG BUILDPLATFORM=${BUILDPLATFORM:-amd64}
FROM --platform=${BUILDPLATFORM} node:16-slim AS superset-node
FROM --platform=${BUILDPLATFORM} node:16-bookworm-slim AS superset-node
ARG NPM_BUILD_CMD="build"
RUN apt-get update -q \
&& apt-get install -yq --no-install-recommends \
python3 \
make \
gcc \
g++
RUN apt-get update -qq \
&& apt-get install -yqq --no-install-recommends \
build-essential \
python3
ENV BUILD_CMD=${NPM_BUILD_CMD} \
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
# NPM ci first, as to NOT invalidate previous steps except for when package.json changes
WORKDIR /app/superset-frontend
COPY ./docker/frontend-mem-nag.sh /
RUN --mount=type=bind,target=/frontend-mem-nag.sh,src=./docker/frontend-mem-nag.sh \
/frontend-mem-nag.sh
RUN /frontend-mem-nag.sh
COPY superset-frontend/package*.json ./
RUN npm ci
RUN --mount=type=bind,target=./package.json,src=./superset-frontend/package.json \
--mount=type=bind,target=./package-lock.json,src=./superset-frontend/package-lock.json \
npm ci
COPY ./superset-frontend ./
# This seems to be the most expensive step
RUN npm run ${BUILD_CMD}
@@ -66,10 +61,11 @@ ENV LANG=C.UTF-8 \
SUPERSET_HOME="/app/superset_home" \
SUPERSET_PORT=8088
RUN mkdir -p ${PYTHONPATH} \
RUN --mount=target=/var/lib/apt/lists,type=cache \
--mount=target=/var/cache/apt,type=cache \
mkdir -p ${PYTHONPATH} superset/static superset-frontend apache_superset.egg-info requirements \
&& useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset \
&& apt-get update -q \
&& apt-get install -yq --no-install-recommends \
&& apt-get update -qq && apt-get install -yqq --no-install-recommends \
build-essential \
curl \
default-libmysqlclient-dev \
@@ -78,29 +74,30 @@ RUN mkdir -p ${PYTHONPATH} \
libpq-dev \
libecpg-dev \
libldap2-dev \
&& rm -rf /var/lib/apt/lists/*
&& touch superset/static/version_info.json \
&& chown -R superset:superset ./*
COPY --chown=superset:superset ./requirements/*.txt requirements/
COPY --chown=superset:superset setup.py MANIFEST.in README.md ./
# setup.py uses the version information in package.json
COPY --chown=superset:superset superset-frontend/package.json superset-frontend/
RUN mkdir -p superset/static \
&& touch superset/static/version_info.json \
&& pip install --no-cache-dir -r requirements/local.txt
RUN --mount=type=bind,target=./requirements/local.txt,src=./requirements/local.txt \
--mount=type=bind,target=./requirements/development.txt,src=./requirements/development.txt \
--mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/local.txt
COPY --chown=superset:superset --from=superset-node /app/superset/static/assets superset/static/assets
## Lastly, let's install superset itself
COPY --chown=superset:superset superset superset
RUN chown -R superset:superset ./* \
&& pip install --no-cache-dir -e . \
&& flask fab babel-compile --target superset/translations
RUN --mount=type=cache,target=/root/.cache/pip \
pip install -e . \
&& flask fab babel-compile --target superset/translations \
&& chown -R superset:superset superset/translations
COPY --chmod=755 ./docker/run-server.sh /usr/bin/
USER superset
HEALTHCHECK CMD curl -f "http://localhost:$SUPERSET_PORT/health"
HEALTHCHECK CMD curl -f "http://localhost:${SUPERSET_PORT}/health"
EXPOSE ${SUPERSET_PORT}
@@ -110,13 +107,14 @@ CMD ["/usr/bin/run-server.sh"]
# Dev image...
######################################################################
FROM lean AS dev
ARG GECKODRIVER_VERSION=v0.32.0
ARG FIREFOX_VERSION=106.0.3
ARG GECKODRIVER_VERSION=v0.33.0 \
FIREFOX_VERSION=117.0.1
USER root
RUN apt-get update -q \
&& apt-get install -yq --no-install-recommends \
RUN --mount=target=/var/lib/apt/lists,type=cache \
--mount=target=/var/cache/apt,type=cache \
apt-get install -yqq --no-install-recommends \
libnss3 \
libdbus-glib-1-2 \
libgtk-3-0 \
@@ -125,16 +123,16 @@ RUN apt-get update -q \
libxtst6 \
wget \
# Install GeckoDriver WebDriver
&& wget https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
&& wget -q https://github.com/mozilla/geckodriver/releases/download/${GECKODRIVER_VERSION}/geckodriver-${GECKODRIVER_VERSION}-linux64.tar.gz -O - | tar xfz - -C /usr/local/bin \
# Install Firefox
&& wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& wget -q https://download-installer.cdn.mozilla.net/pub/firefox/releases/${FIREFOX_VERSION}/linux-x86_64/en-US/firefox-${FIREFOX_VERSION}.tar.bz2 -O - | tar xfj - -C /opt \
&& ln -s /opt/firefox/firefox /usr/local/bin/firefox \
&& apt-get autoremove -yqq --purge wget && rm -rf /var/lib/apt/lists/* && apt-get clean
COPY ./requirements/*.txt ./docker/requirements-*.txt/ /app/requirements/
&& apt-get autoremove -yqq --purge wget && rm -rf /var/[log,tmp]/* /tmp/*
# Cache everything for dev purposes...
RUN pip install --no-cache-dir -r /app/requirements/docker.txt \
&& pip install --no-cache-dir -r /app/requirements/requirements-local.txt || true
RUN --mount=type=bind,target=./requirements/base.txt,src=./requirements/base.txt \
--mount=type=bind,target=./requirements/docker.txt,src=./requirements/docker.txt \
--mount=type=cache,target=/root/.cache/pip \
pip install -r requirements/docker.txt
USER superset
######################################################################
@@ -142,6 +140,6 @@ USER superset
######################################################################
FROM lean AS ci
COPY --chown=superset --chmod=755 ./docker/*.sh /app/docker/
COPY --chown=superset:superset --chmod=755 ./docker/*.sh /app/docker/
CMD ["/app/docker/docker-ci.sh"]
+24 -5
View File
@@ -28,11 +28,19 @@ under the License.
[![Get on Slack](https://img.shields.io/badge/slack-join-orange.svg)](http://bit.ly/join-superset-slack)
[![Documentation](https://img.shields.io/badge/docs-apache.org-blue.svg)](https://superset.apache.org)
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset"
<picture
width="500"
/>
>
<source
media="(prefers-color-scheme: dark)"
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache-dark.png"
alt="Superset logo (dark)"
/>
<img
src="https://github.com/apache/superset/raw/master/superset-frontend/src/assets/branding/superset-logo-horiz-apache.png"
alt="Superset logo (light)"
/>
</picture>
A modern, enterprise-ready business intelligence web application.
@@ -138,7 +146,9 @@ Want to add support for your datastore or data engine? Read more [here](https://
- Ask and answer questions on [StackOverflow](https://stackoverflow.com/questions/tagged/apache-superset) using the **apache-superset** tag
- [Join our community's Slack](http://bit.ly/join-superset-slack)
and please read our [Slack Community Guidelines](https://github.com/apache/superset/blob/master/CODE_OF_CONDUCT.md#slack-community-guidelines)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Join our dev@superset.apache.org Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org). To join, simply send an email to [dev-subscribe@superset.apache.org](mailto:dev-subscribe@superset.apache.org)
- If you want to help troubleshoot GitHub Issues involving the numerous database drivers that Superset supports, please consider adding your name and the databases you have access to on the [Superset Database Familiarity Rolodex](https://docs.google.com/spreadsheets/d/1U1qxiLvOX0kBTUGME1AHHi6Ywel6ECF8xk_Qy-V9R8c/edit#gid=0)
- Join Superset's Town Hall and [Operational Model](https://preset.io/blog/the-superset-operational-model-wants-you/) recurring meetings. Meeting info is available on the [Superset Community Calendar](https://superset.apache.org/community)
## Contributor Guide
@@ -149,6 +159,12 @@ how to set up a development environment.
## Resources
- [Superset "In the Wild"](RESOURCES/INTHEWILD.md) - open a PR to add your org to the list!
- [Feature Flags](RESOURCES/FEATURE_FLAGS.md) - the status of Superset's Feature Flags.
- [Standard Roles](RESOURCES/STANDARD_ROLES.md) - How RBAC permissions map to roles.
- [Superset Wiki](https://github.com/apache/superset/wiki) - Tons of additional community resources: best practices, community content and other information.
- [Superset SIPs](https://github.com/orgs/apache/projects/170) - The status of Superset's SIPs (Superset Improvement Proposals) for both consensus and implementation status.
Superset 2.0!
- [Superset 2.0 Meetup](https://preset.io/events/superset-2-0-meetup/)
- [Superset 2.0 Release Notes](https://github.com/apache/superset/tree/master/RELEASING/release-notes-2-0)
@@ -184,3 +200,6 @@ Understanding the Superset Points of View
- [Why Apache Superset is Betting on Apache ECharts](https://preset.io/blog/2021-4-1-why-echarts/)
- [Superset API](https://superset.apache.org/docs/rest-api)
<!-- telemetry/analytics pixel: -->
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=bc1c90cd-bc04-4e11-8c7b-289fb2839492" />
+2 -2
View File
@@ -238,7 +238,7 @@ Similar to `cherrytree`, the change log script requires a github token, either a
#### Initial release (e.g. 1.5.0)
When generating the changelog for an initial minor relese, you should compare with
When generating the changelog for an initial minor release, you should compare with
the previous release (in the example, the previous release branch is `1.4`, so remember to
update it accordingly):
@@ -343,7 +343,7 @@ To build and run the recently created tarball **from SVN**:
# login using admin/admin
```
## Create a release on Github
## Create a release on GitHub
After submitting the tag and testing the release candidate, follow the steps [here](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) to create the release on GitHub. Use the vote email text as the content for the release description. Make sure to check the "This is a pre-release" checkbox for release candidates. You can check previous releases if you need an example.
+2 -2
View File
@@ -28,11 +28,11 @@ Superset 2.0 is a big step forward. This release cleans up many legacy code path
## Developer Experience
- Addition of a statsd guage metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Addition of a statsd gauge metric for Slack and email notifications for increased visibility into errors around alerts / reports ([#20158](https://github.com/apache/superset/pull/20158))
- Helm chart now supports resource limits and requests for each component ([#20052](https://github.com/apache/superset/pull/20052))
- New Github workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- New GitHub workflow to test Storybook Netlify instance nightly ([#19852](https://github.com/apache/superset/pull/19852))
- Minimum requirement for Superset is now Python 3.8 ([#19017](https://github.com/apache/superset/pull/19017)
+6 -6
View File
@@ -59,7 +59,7 @@ under the License.
- [#19898](https://github.com/apache/superset/pull/19898) feat: When editing the label/title in the Metrics popover, hitting Enter should save what you've typed (@diegomedina248)
- [#16493](https://github.com/apache/superset/pull/16493) feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (@stephenLYZ)
- [#19855](https://github.com/apache/superset/pull/19855) feat(explore): Frontend implementation of dataset creation from infobox (@lyndsiWilliams)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modfied col and timezone info to schedule col (@pkdotson)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modified col and timezone info to schedule col (@pkdotson)
- [#20144](https://github.com/apache/superset/pull/20144) feat: showing results pane in dashboard (@zhaoyongjie)
- [#20242](https://github.com/apache/superset/pull/20242) feat: derived metrics use different line style (@zhaoyongjie)
- [#20010](https://github.com/apache/superset/pull/20010) feat: standardized form_data (@zhaoyongjie)
@@ -115,7 +115,7 @@ under the License.
- [#19558](https://github.com/apache/superset/pull/19558) feat(explore): Redesign of Run/Save buttons (@kgabryje)
- [#19650](https://github.com/apache/superset/pull/19650) feat(embedded): API get embedded dashboard config by uuid (@lilykuang)
- [#19310](https://github.com/apache/superset/pull/19310) feat(CRUD): add new empty state (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donuct chart (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donut chart (@stephenLYZ)
- [#19314](https://github.com/apache/superset/pull/19314) feat: Move Database Import option into DB Connection modal (@lyndsiWilliams)
- [#19434](https://github.com/apache/superset/pull/19434) feat: deprecate old API and create new API for dashes created by me (@dpgaspar)
- [#19482](https://github.com/apache/superset/pull/19482) feat: add success toast to alerts and reports (@pkdotson)
@@ -181,7 +181,7 @@ under the License.
- [#20204](https://github.com/apache/superset/pull/20204) fix: Fixes issue where results panel height was incorrect [sc-49045] (@eric-briscoe)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20088](https://github.com/apache/superset/pull/20088) fix: datatype tracking issue on virtual dataset (@codemaster08240328)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashbaord unable to refresh (@zhaoyongjie)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashboard unable to refresh (@zhaoyongjie)
- [#20228](https://github.com/apache/superset/pull/20228) fix: failed samples should throw exception (@zhaoyongjie)
- [#20203](https://github.com/apache/superset/pull/20203) fix: move columns to datasource object for bootstrap data (@hughhhh)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
@@ -191,7 +191,7 @@ under the License.
- [#20206](https://github.com/apache/superset/pull/20206) fix(sql lab): SQL Lab Compile Query Delay (@diegomedina248)
- [#20201](https://github.com/apache/superset/pull/20201) fix: unable to set destroyOnClose on ModalTrigger (@zhaoyongjie)
- [#20186](https://github.com/apache/superset/pull/20186) fix(db): make to allow to show/hide the password when only creating (@prosdev0107)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrival of tables and views from schema for exasol backend (@Nicoretti)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrieval of tables and views from schema for exasol backend (@Nicoretti)
- [#19899](https://github.com/apache/superset/pull/19899) fix: always create parameter json field (@pkdotson)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#20086](https://github.com/apache/superset/pull/20086) fix(css): transparent linear gradient not working in safari (@stephenLYZ)
@@ -298,7 +298,7 @@ under the License.
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
- [#19397](https://github.com/apache/superset/pull/19397) fix: weight tooltip issue (@codemaster08240328)
- [#19313](https://github.com/apache/superset/pull/19313) fix(sql lab): increase the size of the action icons in the history tab (@diegomedina248)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hidding control (@stephenLYZ)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hiding control (@stephenLYZ)
- [#19444](https://github.com/apache/superset/pull/19444) fix: Error Message is cut off in alerts & reports log page (@codemaster08240328)
- [#19312](https://github.com/apache/superset/pull/19312) fix: adaptive formatting typo in explore dropdowns (@diegomedina248)
- [#19534](https://github.com/apache/superset/pull/19534) fix(explore): Chart header icon paddings (@kgabryje)
@@ -463,7 +463,7 @@ under the License.
- [#19486](https://github.com/apache/superset/pull/19486) refactor: Removes the CSS files from the Treemap plugin (@michael-s-molina)
- [#19488](https://github.com/apache/superset/pull/19488) refactor: Removes the CSS files from the Sunburst plugin (@michael-s-molina)
- [#19490](https://github.com/apache/superset/pull/19490) chore: Add theme color to ParallelCoordinates (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterbaleTableStyles.less (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterableTableStyles.less (@geido)
- [#19441](https://github.com/apache/superset/pull/19441) chore: Remove StyledQueryButton.less (@geido)
- [#19473](https://github.com/apache/superset/pull/19473) refactor: Removes the CSS files from the Rose plugin (@michael-s-molina)
- [#19466](https://github.com/apache/superset/pull/19466) chore: Removes hard-coded colors from legacy-plugin-chart-world-map (@michael-s-molina)
+1
View File
@@ -52,6 +52,7 @@ These features are **finished** but currently being tested. They are usable, but
- GENERIC_CHART_AXES
- GLOBAL_ASYNC_QUERIES [(docs)](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries)
- HORIZONTAL_FILTER_BAR
- PLAYWRIGHT_REPORTS_AND_THUMBNAILS
- RLS_IN_SQLLAB
- SSH_TUNNELING [(docs)](https://superset.apache.org/docs/installation/setup-ssh-tunneling)
- USE_ANALAGOUS_COLORS
+3
View File
@@ -101,6 +101,7 @@ Join our growing community!
- [Preset, Inc.](https://preset.io)
- [Pronto Tools](http://www.prontotools.io) [@zkan]
- [PubNub](https://pubnub.com) [@jzucker2]
- [ReadyTech](https://www.readytech.io)
- [Reward Gateway](https://www.rewardgateway.com)
- [ScopeAI](https://www.getscopeai.com) [@iloveluce]
- [Showmax](https://tech.showmax.com) [@bobek]
@@ -144,6 +145,7 @@ Join our growing community!
- [DouroECI](https://www.douroeci.com/) [@nunohelibeires]
- [Safaricom](https://www.safaricom.co.ke/) [@mmutiso]
- [Scoot](https://scoot.co/) [@haaspt]
- [Wattbewerb](https://wattbewerb.de/) [@wattbewerb]
### Healthcare
- [Amino](https://amino.com) [@shkr]
@@ -168,6 +170,7 @@ Join our growing community!
### Others
- [AI inside](https://inside.ai/en/)
- [Automattic](https://automattic.com/) [@Khrol, @Usiel]
- [Dropbox](https://www.dropbox.com/) [@bkyryliuk]
- [Grassroot](https://www.grassrootinstitute.org/)
- [komoot](https://www.komoot.com/) [@christophlingg]
+10 -9
View File
@@ -24,12 +24,16 @@ assists people when migrating to a new version.
## Next
- [24657](https://github.com/apache/superset/pull/24657): Bumps the cryptography package to augment the OpenSSL security vulnerability.
### Breaking Changes
### Potential Downtime
### Other
- [24982](https://github.com/apache/superset/pull/24982): By default, physical datasets on Oracle-like dialects like Snowflake will now use denormalized column names. However, existing datasets won't be affected. To change this behavior, the "Advanced" section on the dataset modal has a "Normalize column names" flag which can be changed to change this behavior.
## 3.0.0
- [25053](https://github.com/apache/superset/pull/25053): Extends the `ab_user.email` column from 64 to 320 characters which has an associated unique key constraint. This will be problematic for MySQL metadata databases which use the InnoDB storage engine with the `innodb_large_prefix` parameter disabled as the key prefix limit is 767 bytes. Enabling said parameter and ensuring that the table uses either the `DYNAMIC` or `COMPRESSED` row format should remedy the problem. See [here](https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html) for more details.
@@ -38,7 +42,6 @@ assists people when migrating to a new version.
- [24938](https://github.com/apache/superset/pull/24938): Augments the foreign key constraints for the `dashboard_slices` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dashboard or slice is deleted. Scheduled downtime may be advised.
- [24628]https://github.com/apache/superset/pull/24628): Augments the foreign key constraints for the `dashboard_owner`, `report_schedule_owner`, and `slice_owner` tables to include an explicit CASCADE ON DELETE to ensure the relevant ownership records are deleted when a dataset is deleted. Scheduled downtime may be advised.
- [24488](https://github.com/apache/superset/pull/24488): Augments the foreign key constraints for the `sql_metrics`, `sqlatable_user`, and `table_columns` tables which reference the `tables` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dataset is deleted. Scheduled downtime may be advised.
- [24335](https://github.com/apache/superset/pull/24335): Removed deprecated API `/superset/filter/<datasource_type>/<int:datasource_id>/<column>/`
- [24232](https://github.com/apache/superset/pull/24232): Enables ENABLE_TEMPLATE_REMOVE_FILTERS, DRILL_TO_DETAIL, DASHBOARD_CROSS_FILTERS by default, marks VERSIONED_EXPORT and ENABLE_TEMPLATE_REMOVE_FILTERS as deprecated.
- [23652](https://github.com/apache/superset/pull/23652): Enables GENERIC_CHART_AXES feature flag by default.
- [23226](https://github.com/apache/superset/pull/23226): Migrated endpoint `/estimate_query_cost/<int:database_id>` to `/api/v1/sqllab/estimate/`. Corresponding permissions are can estimate query cost on SQLLab. Make sure you add/replace the necessary permissions on any custom roles you may have.
@@ -46,7 +49,7 @@ assists people when migrating to a new version.
- [24404](https://github.com/apache/superset/pull/24404): FLASK_ENV is getting
deprecated, we recommend using SUPERSET_ENV and reviewing your
config for ENVIRONMENT_TAG_CONFIG, which enables adding a tag in the navbar to
make it more clear which envrionment your are in.
make it more clear which environment your are in.
`SUPERSET_ENV=production` and `SUPERSET_ENV=development` are the two
supported switches based on the default config.
- [19242](https://github.com/apache/superset/pull/19242): Adhoc subqueries are now disabled by default for security reasons. To enable them, set the feature flag `ALLOW_ADHOC_SUBQUERY` to `True`.
@@ -87,11 +90,9 @@ assists people when migrating to a new version.
## 2.1.1
- [24185](https://github.com/apache/superset/pull/24185): `/api/v1/database/test_connection` and `api/v1/database/validate_parameters` permissions changed from `can_read` to `can_write`. Only Admin user's have access.
- [24256](https://github.com/apache/superset/pull/24256): `Flask-Login` session validation is now set to `strong` by default. Previous setting was `basic`.
### Other
- [24982](https://github.com/apache/superset/pull/24982): By default, physical datasets on Oracle-like dialects like Snowflake will now use denormalized column names. However, existing datasets won't be affected. To change this behavior, the "Advanced" section on the dataset modal has a "Normalize column names" flag which can be changed to change this behavior.
- [23888](https://github.com/apache/superset/pull/23888): Database Migration for json serialization instead of pickle should upgrade/downgrade correctly when bumping to/from this patch version
## 2.1.0
@@ -128,7 +129,7 @@ assists people when migrating to a new version.
## 2.0.1
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## Breaking Changes
@@ -149,8 +150,8 @@ assists people when migrating to a new version.
- [19770](https://github.com/apache/superset/pull/19770): Per [SIP-11](https://github.com/apache/superset/issues/6032) and [SIP-68](https://github.com/apache/superset/issues/14909), the native NoSQL Druid connector is deprecated and has been removed. Druid is still supported through SQLAlchemy via pydruid. The config keys `DRUID_IS_ACTIVE` and `DRUID_METADATA_LINKS_ENABLED` have also been removed.
- [19274](https://github.com/apache/superset/pull/19274): The `PUBLIC_ROLE_LIKE_GAMMA` config key has been removed, set `PUBLIC_ROLE_LIKE = "Gamma"` to have the same functionality.
- [19273](https://github.com/apache/superset/pull/19273): The `SUPERSET_CELERY_WORKERS` and `SUPERSET_WORKERS` config keys has been removed. Configure Celery directly using `CELERY_CONFIG` on Superset.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (premantly enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permantly enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19231](https://github.com/apache/superset/pull/19231): The `ENABLE_REACT_CRUD_VIEWS` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the React views support their use case.
- [19230](https://github.com/apache/superset/pull/19230): The `ROW_LEVEL_SECURITY` feature flag has been removed (permanently enabled). Any deployments which had set this flag to false will need to verify that the presence of the Row Level Security feature does not interfere with their use case.
- [19168](https://github.com/apache/superset/pull/19168): Celery upgrade to 5.X resulted in breaking changes to its command line invocation. Please follow [these](https://docs.celeryq.dev/en/stable/whatsnew-5.2.html#step-1-adjust-your-command-line-invocation) instructions for adjustments. Also consider migrating you Celery config per [here](https://docs.celeryq.dev/en/stable/userguide/configuration.html#conf-old-settings-map).
- [19142](https://github.com/apache/superset/pull/19142): The `VERSIONED_EXPORT` config key is now `True` by default.
- [19113](https://github.com/apache/superset/pull/19113): The `ENABLE_JAVASCRIPT_CONTROLS` config key has moved from an app config to a feature flag. Any deployments who overrode this setting will now need to override the feature flag from here onward.
@@ -165,7 +166,7 @@ assists people when migrating to a new version.
### Other
- [22022](https://github.com/apache/superset/pull/22022): HTTP API endpoints `/superset/approve` and `/superset/request_access` have been deprecated and their HTTP methods were changed from GET to POST
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by Github. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
- [21895](https://github.com/apache/superset/pull/21895): Markdown components had their security increased by adhering to the same sanitization process enforced by GitHub. This means that some HTML elements found in markdowns are not allowed anymore due to the security risks they impose. If you're deploying Superset in a trusted environment and wish to use some of the blocked elements, then you can use the HTML_SANITIZATION_SCHEMA_EXTENSIONS configuration to extend the default sanitization schema. There's also the option to disable HTML sanitization using the HTML_SANITIZATION configuration but we do not recommend this approach because of the security risks. Given the provided configurations, we don't view the improved sanitization as a breaking change but as a security patch.
## 1.5.2
@@ -257,7 +258,7 @@ assists people when migrating to a new version.
### Other
- [13772](https://github.com/apache/superset/pull/13772): Row level security (RLS) is now enabled by default. To activate the feature, please run `superset init` to expose the RLS menus to Admin users.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the confg.py file for more detail.
- [13980](https://github.com/apache/superset/pull/13980): Data health checks no longer use the metadata database as an interim cache. Though non-breaking, deployments which implement complex logic should likely memoize the callback function. Refer to documentation in the config.py file for more detail.
- [14255](https://github.com/apache/superset/pull/14255): The default `CSV_TO_HIVE_UPLOAD_DIRECTORY_FUNC` callable logic has been updated to leverage the specified database and schema to ensure the upload S3 key prefix is unique. Previously tables generated via upload from CSV with the same name but differ schema and/or cluster would use the same S3 key prefix. Note this change does not impact previously imported tables.
## 1.1.0
+1 -1
View File
@@ -34,7 +34,7 @@ services:
db:
env_file: docker/.env-non-dev
image: postgres:14
image: postgres:15
container_name: superset_db
restart: unless-stopped
volumes:
+12 -2
View File
@@ -29,6 +29,16 @@ x-superset-volumes: &superset-volumes
version: "3.7"
services:
nginx:
image: nginx:latest
container_name: superset_nginx
restart: unless-stopped
ports:
- "80:80"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
redis:
image: redis:7
container_name: superset_cache
@@ -40,7 +50,7 @@ services:
db:
env_file: docker/.env
image: postgres:14
image: postgres:15
container_name: superset_db
restart: unless-stopped
ports:
@@ -76,7 +86,7 @@ services:
# This is necessary because host and container need to have
# their own, separate versions of these files. .dockerignore
# does not seem to work when starting the service through
# docker-compose.
# docker compose.
#
# For example, node_modules may contain libs with native bindings.
# Those bindings need to be compiled for each OS and the container
+4 -4
View File
@@ -46,9 +46,9 @@ Steps:
1. Create `./docker/requirements-local.txt`
2. Add your new packages
3. Rebuild docker-compose
1. `docker-compose down -v`
2. `docker-compose up`
3. Rebuild docker compose
1. `docker compose down -v`
2. `docker compose up`
## Initializing Database
@@ -56,7 +56,7 @@ The database will initialize itself upon startup via the init container ([`super
## Normal Operation
To run the container, simply run: `docker-compose up`
To run the container, simply run: `docker compose up`
After waiting several minutes for Superset initialization to finish, you can open a browser and view [`http://localhost:8088`](http://localhost:8088)
to start your journey.
+8
View File
@@ -35,6 +35,14 @@ else
echo "Skipping local overrides"
fi
#
# playwright is an optional package - run only if it is installed
#
if command -v playwright > /dev/null 2>&1; then
playwright install-deps
playwright install chromium
fi
case "${1}" in
worker)
echo "Starting Celery worker..."
@@ -1,5 +1,5 @@
# ------------------------------------------------------------------------
# Creates the examples database and repective user. This database location
# Creates the examples database and respective user. This database location
# and access credentials are defined on the environment variables
# ------------------------------------------------------------------------
set -e
+127
View File
@@ -0,0 +1,127 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent [$connection_requests] "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 30;
keepalive_requests 2;
###### Compression Stuff
# Enable Gzip compressed.
gzip on;
# Compression level (1-9).
# 5 is a perfect compromise between size and cpu usage, offering about
# 75% reduction for most ascii files (almost identical to level 9).
gzip_comp_level 5;
# Don't compress anything that's already small and unlikely to shrink much
# if at all (the default is 20 bytes, which is bad as that usually leads to
# larger files after gzipping).
gzip_min_length 256;
# Compress data even for clients that are connecting to us via proxies,
# identified by the "Via" header (required for CloudFront).
gzip_proxied any;
# Tell proxies to cache both the gzipped and regular version of a resource
# whenever the client's Accept-Encoding capabilities header varies;
# Avoids the issue where a non-gzip capable client (which is extremely rare
# today) would display gibberish if their proxy gave them the gzipped version.
gzip_vary on;
# Compress all output labeled with one of the following MIME-types.
gzip_types
application/atom+xml
application/javascript
application/json
application/rss+xml
application/vnd.ms-fontobject
application/x-font-ttf
application/x-web-app-manifest+json
application/xhtml+xml
application/xml
font/opentype
image/svg+xml
image/x-icon
text/css
text/plain
text/x-component;
# text/html is always compressed by HttpGzipModule
output_buffers 20 10m;
client_max_body_size 10m;
upstream superset_app {
server host.docker.internal:8088;
keepalive 100;
}
upstream superset_websocket {
server host.docker.internal:8080;
keepalive 100;
}
server {
listen 80 default_server;
server_name _;
location /ws {
proxy_pass http://superset_websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
location / {
proxy_pass http://superset_app;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
port_in_redirect off;
proxy_connect_timeout 300;
}
}
}
+5 -4
View File
@@ -4,10 +4,11 @@ ARG DOCKERIZE_VERSION=v0.7.0
RUN apk update --no-cache \
&& apk add --no-cache wget openssl \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz | tar xzf - -C /usr/local/bin \
&& case "$(apk --print-arch)" in \
x86_64) ARCH=amd64 ;; \
aarch64) ARCH=arm64 ;; \
esac \
&& wget -O - https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-${ARCH}-${DOCKERIZE_VERSION}.tar.gz | tar xzf - -C /usr/local/bin \
&& apk del wget
USER 10001
ENTRYPOINT ["dockerize"]
CMD ["--help"]
+1 -1
View File
@@ -15,7 +15,7 @@ import { Alert } from 'antd';
Superset's public **REST API** follows the
[OpenAPI specification](https://swagger.io/specification/), and is
documented here. The docs bellow are generated using
documented here. The docs below are generated using
[Swagger React UI](https://www.npmjs.com/package/swagger-ui-react).
<Alert
+5 -1
View File
@@ -13,8 +13,12 @@ which can be joined by anyone):
- [Mailing list](https://lists.apache.org/list.html?dev@superset.apache.org)
- [Apache Superset Slack community](http://bit.ly/join-superset-slack)
- [GitHub issues and PR's](https://github.com/apache/superset/issues)
- [GitHub issues](https://github.com/apache/superset/issues)
- [GitHub pull requests](https://github.com/apache/superset/pulls)
- [GitHub discussions](https://github.com/apache/superset/discussions)
- [Superset Community Calendar](https://superset.apache.org/community)
More references:
- [Comprehensive Tutorial for Contributing Code to Apache Superset](https://preset.io/blog/tutorial-contributing-code-to-apache-superset/)
- [CONTRIBUTING Guide on GitHub](https://github.com/apache/superset/blob/master/CONTRIBUTING.md)
- [Superset Wiki (code guidelines and additional resources)](https://github.com/apache/superset/wiki)
+1 -1
View File
@@ -39,7 +39,7 @@ We use [Pylint](https://pylint.org/) for linting which can be invoked via:
tox -e pylint
```
In terms of best practices please avoid blanket disablement of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disablement should occur inline as it prevents masking issues and provides context as to why said message is disabled.
In terms of best practices please avoid blanket disabling of Pylint messages globally (via `.pylintrc`) or top-level within the file header, albeit there being a few exceptions. Disabling should occur inline as it prevents masking issues and provides context as to why said message is disabled.
Additionally, the Python code is auto-formatted using [Black](https://github.com/python/black) which
is configured as a pre-commit hook. There are also numerous [editor integrations](https://black.readthedocs.io/en/stable/integrations/editors.html)
+4 -4
View File
@@ -126,17 +126,17 @@ CYPRESS_BASE_URL=<your url> npm run cypress open
See [`superset-frontend/cypress_build.sh`](https://github.com/apache/superset/blob/master/superset-frontend/cypress_build.sh).
As an alternative you can use docker-compose environment for testing:
As an alternative you can use docker compose environment for testing:
Make sure you have added below line to your /etc/hosts file:
`127.0.0.1 db`
If you already have launched Docker environment please use the following command to assure a fresh database instance:
`docker-compose down -v`
`docker compose down -v`
Launch environment:
`CYPRESS_CONFIG=true docker-compose up`
`CYPRESS_CONFIG=true docker compose up`
It will serve backend and frontend on port 8088.
@@ -176,7 +176,7 @@ superset:
Start Superset as usual
```bash
docker-compose up
docker compose up
```
Install the required libraries and packages to the docker container
+1 -1
View File
@@ -58,7 +58,7 @@ for your target language already exists in the `superset/translations` directory
ls superset/translations | grep -E "^[a-z]{2}\/"
```
If your language already has a pre-existing translation, skip to the next section
If your language already has a preexisting translation, skip to the next section
The following languages are already supported by Flask AppBuilder, and will make it
easier to translate the application to your target language:
@@ -19,7 +19,7 @@ The best way to report a bug is to file an issue on GitHub. Please include:
When posting Python stack traces, please quote them using
[Markdown blocks](https://help.github.com/articles/creating-and-highlighting-code-blocks/).
_Please note that feature requests opened as Github Issues will be moved to Discussions._
_Please note that feature requests opened as GitHub Issues will be moved to Discussions._
### Submit Ideas or Feature Requests
@@ -51,7 +51,7 @@ articles. See [Documentation](#documentation) for more details.
### Add Translations
If you are proficient in a non-English language, you can help translate
text strings from Superset's UI. You can jump in to the existing
text strings from Superset's UI. You can jump into the existing
language dictionaries at
`superset/translations/<language_code>/LC_MESSAGES/messages.po`, or
even create a dictionary for a new language altogether.
@@ -40,7 +40,7 @@ Then select your database type in the resulting modal:
<img src={useBaseUrl("/img/tutorial/tutorial_02_select_database.png" )} width="600" />{" "} <br/><br/>
Once you've selected a database, you can configure a number of advanced options in this window,
or for the purposes of this this walkthrough, you can click the link below all these fields:
or for the purposes of this walkthrough, you can click the link below all these fields:
<img src={useBaseUrl("/img/tutorial/tutorial_03a_database_connection_string_link.png" )} width="600" />{" "} <br/><br/>
+3 -6
View File
@@ -26,17 +26,14 @@ s3://... -> s3%3A//...
### PyAthena
You can also use [PyAthena library](https://pypi.org/project/PyAthena/) (no Java required) with the
You can also use the [PyAthena library](https://pypi.org/project/PyAthena/) (no Java required) with the
following connection string:
```
awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...
```
The PyAthena library also allows to assume a specific IAM role, by [importing the datasource from YAML](https://superset.apache.org/docs/miscellaneous/importing-exporting-datasources/#importing-datasources-from-yaml) and passing extra parameters:
The PyAthena library also allows to assume a specific IAM role which you can define by adding following parameters in Superset's Athena database connection UI under ADVANCED --> Other --> ENGINE PARAMETERS.
```
databases:
- database_name: awsathena
sqlalchemy_uri: awsathena+rest://athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}&...
extra: "{\"engine_params\": {\"connect_args\": {\"role_arn\": \"{{ ROLE_ARN }}\" }}}"
{"connect_args":{"role_arn":"<role arn>"}}
```
+4 -1
View File
@@ -13,7 +13,7 @@ The recommended connector library for BigQuery is
### Install BigQuery Driver
Follow the steps [here](/docs/databases/docker-add-drivers) about how to
install new database drivers when setting up Superset locally via docker-compose.
install new database drivers when setting up Superset locally via docker compose.
```
echo "sqlalchemy-bigquery" >> ./docker/requirements-local.txt
@@ -87,3 +87,6 @@ You should then be able to connect to your BigQuery datasets.
To be able to upload CSV or Excel files to BigQuery in Superset, you'll need to also add the
[pandas_gbq](https://github.com/pydata/pandas-gbq) library.
Currently, Google BigQuery python sdk is not compatible with `gevent`, due to some dynamic monkeypatching on python core library by `gevent`.
So, when you deploy Superset with `gunicorn` server, you have to use worker type except `gevent`.
+1 -1
View File
@@ -28,7 +28,7 @@ We added a new configuration option where the admin can define their preferred d
# displayed prominently in the "Add Database" dialog. You should
# use the "engine_name" attribute of the corresponding DB engine spec
# in `superset/db_engine_specs/`.
PREFERRED_DATABASES: List[str] = [
PREFERRED_DATABASES: list[str] = [
"PostgreSQL",
"Presto",
"MySQL",
+5 -5
View File
@@ -8,7 +8,7 @@ version: 1
## Adding New Database Drivers in Docker
Superset requires a Python database driver to be installed for each additional type of database you
want to connect to. When setting up Superset locally via `docker-compose`, the drivers and packages
want to connect to. When setting up Superset locally via `docker compose`, the drivers and packages
contained in
[requirements.txt](https://github.com/apache/superset/blob/master/requirements.txt) and
[requirements-dev.txt](https://github.com/apache/superset/blob/master/requirements-dev.txt)
@@ -50,20 +50,20 @@ echo "mysqlclient" >> ./docker/requirements-local.txt
Rebuild your local image with the new driver baked in:
```
docker-compose build --force-rm
docker compose build --force-rm
```
After the rebuild of the Docker images is complete (which may take a few minutes) you can relaunch using the following command:
```
docker-compose up
docker compose up
```
The other option is to start Superset via Docker Compose is using the recipe in `docker-compose-non-dev.yml`, which will use pre-built frontend assets and skip the building of front-end assets:
```
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
### 3. Connect to MySQL
+5 -5
View File
@@ -10,7 +10,7 @@ import useBaseUrl from "@docusaurus/useBaseUrl";
## Apache Druid
A native connector to Druid ships with Superset (behind the `DRUID_IS_ACTIVE` flag) but this is
slowly getting deprecated in favor of SQLAlchemy / DBAPI connector made available in the
slowly getting deprecated in favor of the SQLAlchemy / DBAPI connector made available in the
[pydruid library](https://pythonhosted.org/pydruid/).
The connection string looks like:
@@ -20,10 +20,10 @@ druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql
```
Here's a breakdown of the key components of this connection string:
User: username portion of the credentials needed to connect to your database
Password: password portion of the credentials needed to connect to your database
Host: IP address (or URL) of the host machine that's running your database
Port: specific port that's exposed on your host machine where your database is running
- `User`: username portion of the credentials needed to connect to your database
- `Password`: password portion of the credentials needed to connect to your database
- `Host`: IP address (or URL) of the host machine that's running your database
- `Port`: specific port that's exposed on your host machine where your database is running
### Customizing Druid Connection
+3 -3
View File
@@ -45,9 +45,9 @@ A common pattern is to use environment variables to make secrets available.
```python
def example_password_as_env_var(url):
# assuming the uri looks like
# mysql://localhost?superset_user:{SUPERSET_PASSWORD}
return url.password.format(os.environ)
# assuming the uri looks like
# mysql://localhost?superset_user:{SUPERSET_PASSWORD}
return url.password.format(**os.environ)
SQLALCHEMY_CUSTOM_PASSWORD_STORE = example_password_as_env_var
```
@@ -22,47 +22,47 @@ as well as the packages needed to connect to the databases you want to access th
Some of the recommended packages are shown below. Please refer to [setup.py](https://github.com/apache/superset/blob/master/setup.py) for the versions that are compatible with Superset.
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{ ` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://path/to/file.db?check_same_thread=false` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| Database | PyPI package | Connection String |
| --------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Amazon Athena](/docs/databases/athena) | `pip install pyathena[pandas]` , `pip install PyAthenaJDBC` | `awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{ ` |
| [Amazon DynamoDB](/docs/databases/dynamodb) | `pip install pydynamodb` | `dynamodb://{access_key_id}:{secret_access_key}@dynamodb.{region_name}.amazonaws.com?connector=superset` |
| [Amazon Redshift](/docs/databases/redshift) | `pip install sqlalchemy-redshift` | ` redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>` |
| [Apache Drill](/docs/databases/drill) | `pip install sqlalchemy-drill` | `drill+sadrill:// For JDBC drill+jdbc://` |
| [Apache Druid](/docs/databases/druid) | `pip install pydruid` | `druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql` |
| [Apache Hive](/docs/databases/hive) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Apache Impala](/docs/databases/impala) | `pip install impyla` | `impala://{hostname}:{port}/{database}` |
| [Apache Kylin](/docs/databases/kylin) | `pip install kylinpy` | `kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>` |
| [Apache Pinot](/docs/databases/pinot) | `pip install pinotdb` | `pinot://BROKER:5436/query?server=http://CONTROLLER:5983/` |
| [Apache Solr](/docs/databases/solr) | `pip install sqlalchemy-solr` | `solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}` |
| [Apache Spark SQL](/docs/databases/spark-sql) | `pip install pyhive` | `hive://hive@{hostname}:{port}/{database}` |
| [Ascend.io](/docs/databases/ascend) | `pip install impyla` | `ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true` |
| [Azure MS SQL](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema` |
| [Big Query](/docs/databases/bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` |
| [ClickHouse](/docs/databases/clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` |
| [CockroachDB](/docs/databases/cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` |
| [Dremio](/docs/databases/dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` |
| [Elasticsearch](/docs/databases/elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` |
| [Exasol](/docs/databases/exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` |
| [Google Sheets](/docs/databases/google-sheets) | `pip install shillelagh[gsheetsapi]` | `gsheets://` |
| [Firebolt](/docs/databases/firebolt) | `pip install firebolt-sqlalchemy` | `firebolt://{username}:{password}@{database} or firebolt://{username}:{password}@{database}/{engine_name}` |
| [Hologres](/docs/databases/hologres) | `pip install psycopg2` | `postgresql+psycopg2://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [IBM Db2](/docs/databases/ibm-db2) | `pip install ibm_db_sa` | `db2+ibm_db://` |
| [IBM Netezza Performance Server](/docs/databases/netezza) | `pip install nzalchemy` | `netezza+nzpy://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](/docs/databases/mysql) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Oracle](/docs/databases/oracle) | `pip install cx_Oracle` | `oracle://` |
| [PostgreSQL](/docs/databases/postgres) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [Presto](/docs/databases/presto) | `pip install pyhive` | `presto://` |
| [Rockset](/docs/databases/rockset) | `pip install rockset-sqlalchemy` | `rockset://<api_key>:@<api_server>` |
| [SAP Hana](/docs/databases/hana) | `pip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]` | `hana://{username}:{password}@{host}:{port}` |
| [StarRocks](/docs/databases/starrocks) | `pip install starrocks` | `starrocks://<User>:<Password>@<Host>:<Port>/<Catalog>.<Database>` |
| [Snowflake](/docs/databases/snowflake) | `pip install snowflake-sqlalchemy` | `snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}` |
| SQLite | No additional library needed | `sqlite://path/to/file.db?check_same_thread=false` |
| [SQL Server](/docs/databases/sql-server) | `pip install pymssql` | `mssql+pymssql://` |
| [Teradata](/docs/databases/teradata) | `pip install teradatasqlalchemy` | `teradatasql://{user}:{password}@{host}` |
| [TimescaleDB](/docs/databases/timescaledb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>:<Port>/<Database Name>` |
| [Trino](/docs/databases/trino) | `pip install trino` | `trino://{username}:{password}@{hostname}:{port}/{catalog}` |
| [Vertica](/docs/databases/vertica) | `pip install sqlalchemy-vertica-python` | `vertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [YugabyteDB](/docs/databases/yugabytedb) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
---
Note that many other databases are supported, the main criteria being the existence of a functional
+48
View File
@@ -0,0 +1,48 @@
---
title: Querying across databases
hide_title: true
sidebar_position: 42
version: 1
---
## Querying across databases
Superset offers an experimental feature for querying across different databases. This is done via a special database called "Superset meta database" that uses the "superset://" SQLAlchemy URI. When using the database it's possible to query any table in any of the configured databases using the following syntax:
```sql
SELECT * FROM "database name.[[catalog.].schema].table name";
```
For example:
```sql
SELECT * FROM "examples.birth_names";
```
Spaces are allowed, but periods in the names must be replaced by `%2E`. Eg:
```sql
SELECT * FROM "Superset meta database.examples%2Ebirth_names";
```
The query above returns the same rows as `SELECT * FROM "examples.birth_names"`, and also shows that the meta database can query tables from any table — even itself!
## Considerations
Before enabling this feature, there are a few considerations that you should have in mind. First, the meta database enforces permissions on the queried tables, so users should only have access via the database to tables that they originally have access to. Nevertheless, the meta database is a new surface for potential attacks, and bugs could allow users to see data they should not.
Second, there are performance considerations. The meta database will push any filtering, sorting, and limiting to the underlying databases, but any aggregations and joins will happen in memory in the process running the query. Because of this, it's recommended to run the database in async mode, so queries are executed in Celery workers, instead of the web workers. Additionally, it's possible to specify a hard limit on how many rows are returned from the underlying databases.
## Enabling the meta database
To enable the Superset meta database, first you need to set the `ENABLE_SUPERSET_META_DB` feature flag to true. Then, add a new database of type "Superset meta database" with the SQLAlchemy URI "superset://".
If you enable DML in the meta database users will be able to run DML queries on underlying databases **as long as DML is also enabled in them**. This allows users to run queries that move data across databases.
Second, you might want to change the value of `SUPERSET_META_DB_LIMIT`. The default value is 1000, and defines how many are read from each database before any aggregations and joins are executed. You can also set this value `None` if you only have small tables.
Additionally, you might want to restrict the databases to with the meta database has access to. This can be done in the database configuration, under "Advanced" -> "Other" -> "ENGINE PARAMETERS" and adding:
```json
{"allowed_dbs":["Google Sheets","examples"]}
```
+2 -1
View File
@@ -17,7 +17,8 @@ mysql://{username}:{password}@{host}/{database}
Host:
- For Localhost or Docker running Linux: `localhost` or `127.0.0.1`
- For Localhost: `localhost` or `127.0.0.1`
- Docker running on Linux: `172.18.0.1`
- For On Prem: IP address or Host name
- For Docker running in OSX: `docker.for.mac.host.internal`
Port: `3306` by default
+1 -1
View File
@@ -7,7 +7,7 @@ version: 1
## Postgres
Note that, if you're using docker-compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
Note that, if you're using docker compose, the Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
comes out of the box with Superset.
Postgres sample connection parameters:
+43 -2
View File
@@ -10,7 +10,9 @@ version: 1
The [sqlalchemy-redshift](https://pypi.org/project/sqlalchemy-redshift/) library is the recommended
way to connect to Redshift through SQLAlchemy.
You'll need to the following setting values to form the connection string:
This dialect requires either [redshift_connector](https://pypi.org/project/redshift-connector/) or [psycopg2](https://pypi.org/project/psycopg2/) to work properly.
You'll need to set the following values to form the connection string:
- **User Name**: userName
- **Password**: DBPassword
@@ -18,8 +20,47 @@ You'll need to the following setting values to form the connection string:
- **Database Name**: Database Name
- **Port**: default 5439
Here's what the connection string looks like:
### psycopg2
Here's what the SQLALCHEMY URI looks like:
```
redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>
```
### redshift_connector
Here's what the SQLALCHEMY URI looks like:
```
redshift+redshift_connector://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>
```
#### Using IAM-based credentials with Redshift cluster:
[Amazon redshift cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) also supports generating temporary IAM-based database user credentials.
Your superset app's [IAM role should have permissions](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-role-permissions.html) to call the `redshift:GetClusterCredentials` operation.
You have to define the following arguments in Superset's redshift database connection UI under ADVANCED --> Others --> ENGINE PARAMETERS.
```
{"connect_args":{"iam":true,"database":"<database>","cluster_identifier":"<cluster_identifier>","db_user":"<db_user>"}}
```
and SQLALCHEMY URI should be set to `redshift+redshift_connector://`
#### Using IAM-based credentials with Redshift serverless:
[Redshift serverless](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-whatis.html) supports connection using IAM roles.
Your superset app's IAM role should have `redshift-serverless:GetCredentials` and `redshift-serverless:GetWorkgroup` permissions on Redshift serverless workgroup.
You have to define the following arguments in Superset's redshift database connection UI under ADVANCED --> Others --> ENGINE PARAMETERS.
```
{"connect_args":{"iam":true,"is_serverless":true,"serverless_acct_id":"<aws account number>","serverless_work_group":"<redshift work group>","database":"<database>","user":"IAMR:<superset iam role name>"}}
```
+10 -1
View File
@@ -10,7 +10,16 @@ version: 1
The connection string for Rockset is:
```
rockset://apikey:{your-apikey}@api.rs2.usw2.rockset.com/
rockset://{api key}:@{api server}
```
Get your API key from the [Rockset console](https://console.rockset.com/apikeys).
Find your API server from the [API reference](https://rockset.com/docs/rest-api/#introduction). Omit the `https://` portion of the URL.
To target to a specific virtual instance, use this URI format:
```
rockset://{api key}:@{api server}/{VI ID}
```
For more complete instructions, we recommend the [Rockset documentation](https://docs.rockset.com/apache-superset/).
+10 -1
View File
@@ -7,6 +7,15 @@ version: 1
## Snowflake
### Install Snowflake Driver
Follow the steps [here](/docs/databases/docker-add-drivers) about how to
install new database drivers when setting up Superset locally via docker compose.
```
echo "snowflake-sqlalchemy" >> ./docker/requirements-local.txt
```
The recommended connector library for Snowflake is
[snowflake-sqlalchemy](https://pypi.org/project/snowflake-sqlalchemy/).
@@ -31,7 +40,7 @@ button in the Create or Edit Database dialog, user/role credentials are validate
is not authorized to access the database, an error is recorded in the Superset logs.
And if you want connect Snowflake with [Key Pair Authentication](https://docs.snowflake.com/en/user-guide/key-pair-auth.html#step-6-configure-the-snowflake-client-to-use-key-pair-authentication).
Plase make sure you have the key pair and the public key is registered in Snowflake.
Please make sure you have the key pair and the public key is registered in Snowflake.
To connect Snowflake with Key Pair Authentication, you need to add the following parameters to "SECURE EXTRA" field.
***Please note that you need to merge multi-line private key content to one line and insert `\n` between each line***
+1 -1
View File
@@ -19,5 +19,5 @@ It is also possible to connect using [pyodbc](https://pypi.org/project/pyodbc) w
The connection string for SQL Server looks like this:
```
mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3Cmy_server%3E%2C1433%3BDatabase%3Dmy_datasbase%3BUid%3Dmy_user_name%3BPwd%3Dmy_password%3BEncrypt%3Dyes%3BConnection+Timeout%3D30
mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3Cmy_server%3E%2C1433%3BDatabase%3Dmy_database%3BUid%3Dmy_user_name%3BPwd%3Dmy_password%3BEncrypt%3Dyes%3BConnection+Timeout%3D30
```
+1 -1
View File
@@ -9,7 +9,7 @@ version: 1
[TimescaleDB](https://www.timescale.com) is the open-source relational database for time-series and analytics to build powerful data-intensive applications.
TimescaleDB is a PostgreSQL extension, and you can use the standard PostgreSQL connector library, [psycopg2](https://www.psycopg.org/docs/), to connect to the database.
If you're using docker-compose, psycopg2 comes out of the box with Superset.
If you're using docker compose, psycopg2 comes out of the box with Superset.
TimescaleDB sample connection parameters:
+1 -1
View File
@@ -9,7 +9,7 @@ version: 1
[YugabyteDB](https://www.yugabyte.com/) is a distributed SQL database built on top of PostgreSQL.
Note that, if you're using docker-compose, the
Note that, if you're using docker compose, the
Postgres connector library [psycopg2](https://www.psycopg.org/docs/)
comes out of the box with Superset.
+49 -59
View File
@@ -6,35 +6,52 @@ sidebar_position: 7
## Frequently Asked Questions
### How big of a dataset can Superset handle?
Superset can work with even gigantic databases! Superset acts as a thin layer above your underlying
databases or data engines, which do all the processing. Superset simply visualizes the results of
the query.
The key to achieving acceptable performance in Superset is whether your database can execute queries
and return results at a speed that is acceptable to your users. If you experience slow performance with
Superset, benchmark and tune your data warehouse.
### What are the computing specifications required to run Superset?
The specs of your Superset installation depend on how many users you have and what their activity is, not
on the size of your data. Superset admins in the community have reported 8GB RAM, 2vCPUs as adequate to
run a moderately-sized instance. To develop Superset, e.g., compile code or build images, you may
need more power.
Monitor your resource usage and increase or decrease as needed. Note that Superset usage has a tendency
to occur in spikes, e.g., if everyone in a meeting loads the same dashboard at once.
Superset's application metadata does not require a very large database to store it, though
the log file grows over time.
### Can I join / query multiple tables at one time?
Not in the Explore or Visualization UI. A Superset SQLAlchemy datasource can only be a single table
or a view.
When working with tables, the solution would be to materialize a table that contains all the fields
When working with tables, the solution would be to create a table that contains all the fields
needed for your analysis, most likely through some scheduled batch process.
A view is a simple logical layer that abstract an arbitrary SQL queries as a virtual table. This can
allow you to join and union multiple tables, and to apply some transformation using arbitrary SQL
expressions. The limitation there is your database performance as Superset effectively will run a
A view is a simple logical layer that abstracts an arbitrary SQL queries as a virtual table. This can
allow you to join and union multiple tables and to apply some transformation using arbitrary SQL
expressions. The limitation there is your database performance, as Superset effectively will run a
query on top of your query (view). A good practice may be to limit yourself to joining your main
large table to one or many small tables only, and avoid using _GROUP BY_ where possible as Superset
will do its own _GROUP BY_ and doing the work twice might slow down performance.
Whether you use a table or a view, the important factor is whether your database is fast enough to
serve it in an interactive fashion to provide a good user experience in Superset.
Whether you use a table or a view, performance depends on how fast your database can deliver
the result to users interacting with Superset.
However, if you are using SQL Lab, there is no such limitation. You can write SQL queries to join
multiple tables as long as your database account has access to the tables.
### How BIG can my datasource be?
It can be gigantic! Superset acts as a thin layer above your underlying databases or data engines.
As mentioned above, the main criteria is whether your database can execute queries and return
results in a time frame that is acceptable to your users. Many distributed databases out there can
execute queries that scan through terabytes in an interactive fashion.
### How do I create my own visualization?
We recommend reading the instructions in
@@ -78,49 +95,6 @@ to **.env** and **.env-non-dev** at the key MAPBOX_API_KEY:
MAPBOX_API_KEY = "longstringofalphanumer1c"
```
### How to add dynamic filters to a dashboard?
Use the **Filter Box** widget, build a slice, and add it to your dashboard.
The **Filter Box** widget allows you to define a query to populate dropdowns that can be used for
filtering. To build the list of distinct values, we run a query, and sort the result by the metric
you provide, sorting descending.
The widget also has a checkbox **Date Filter**, which enables time filtering capabilities to your
dashboard. After checking the box and refreshing, youll see a from and a to dropdown show up.
By default, the filtering will be applied to all the slices that are built on top of a datasource
that shares the column name that the filter is based on. Its also a requirement for that column to
be checked as “filterable” in the column tab of the table editor.
But what about if you dont want certain widgets to get filtered on your dashboard? You can do that
by editing your dashboard, and in the form, edit the JSON Metadata field, more specifically the
`filter_immune_slices` key, that receives an array of sliceIds that should never be affected by any
dashboard level filtering.
```
{
"filter_immune_slices": [324, 65, 92],
"expanded_slices": {},
"filter_immune_slice_fields": {
"177": ["country_name", "__time_range"],
"32": ["__time_range"]
},
"timed_refresh_immune_slices": [324]
}
```
In the json blob above, slices 324, 65 and 92 wont be affected by any dashboard level filtering.
Now note the `filter_immune_slice_fields` key. This one allows you to be more specific and define
for a specific slice_id, which filter fields should be disregarded.
Note the use of the `__time_range` keyword, which is reserved for dealing with the time boundary
filtering mentioned above.
But what happens with filtering when dealing with slices coming from different tables or databases?
If the column name is shared, the filter will be applied, its as simple as that.
### How to limit the timed refresh on a dashboard?
By default, the dashboard timed refresh feature allows you to automatically re-query every slice on
@@ -192,8 +166,9 @@ only a few database engines are supported for use as the OLTP backend / metadata
Superset is tested using MySQL, PostgreSQL, and SQLite backends. Its recommended you install
Superset on one of these database servers for production. Installation on other OLTP databases
may work but isnt tested. Column-store, non-OLTP databases are not designed for this type of workload.
may work but isnt tested. It has been reported that [Microsoft SQL Server does *not*
work as a Superset backend](https://github.com/apache/superset/issues/18961). Column-store,
non-OLTP databases are not designed for this type of workload.
### How can I configure OAuth authentication and authorization?
@@ -277,6 +252,13 @@ guarantees and are not recommended but may fit your use case temporarily:
- using the internal FAB ModelView API (to be deprecated in Superset)
- altering the source code in your fork
### How can I see usage statistics (e.g., monthly active users)?
This functionality is not included with Superset, but you can extract and analyze Superset's application
metadata to see what actions have occurred. By default, user activities are logged in the `logs` table
in Superset's metadata database. One company has published a write-up of [how they analyzed Superset
usage, including example queries](https://engineering.hometogo.com/monitor-superset-usage-via-superset-c7f9fba79525).
### What Does Hours Offset in the Edit Dataset view do?
In the Edit Dataset view, you can specify a time offset. This field lets you configure the
@@ -288,3 +270,11 @@ This can be used, for example, to convert UTC time to local time.
Superset uses [Scarf](https://about.scarf.sh/) by default to collect basic telemetry data upon installing and/or running Superset. This data helps the maintainers of Superset better understand which versions of Superset are being used, in order to prioritize patch/minor releases and security fixes.
We use the [Scarf Gateway](https://docs.scarf.sh/gateway/) to sit in front of container registries, and the [scarf-js](https://about.scarf.sh/package-sdks) package to track `npm` installations.
Scarf purges PII and provides aggregated statistics. Superset users can easily opt out of analytics in various ways documented [here](https://docs.scarf.sh/gateway/#do-not-track) and [here](https://docs.scarf.sh/package-analytics/#as-a-user-of-a-package-using-scarf-js-how-can-i-opt-out-of-analytics). Additional opt-out instructions for Docker users are available on the [Docker Installation](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose) page.
### Does Superset have an archive panel or trash bin from which a user can recover deleted assets?
No. Currently, there is no way to recover a deleted Superset dashboard/chart/dataset/database from the UI. However, there is an [ongoing discussion](https://github.com/apache/superset/discussions/18386) about implementing such a feature.
Hence, it is recommended to take periodic backups of the metadata database. For recovery, you can launch a recovery instance of a Superset server with the backed-up copy of the DB attached and use the Export Dashboard button in the Superset UI (or the `superset export-dashboards` CLI command). Then, take the .zip file and import it into the current Superset instance.
Alternatively, you can programmatically take regular exports of the assets as a backup.
+2 -2
View File
@@ -41,7 +41,7 @@ Note: All the components required (Firefox headless browser, Redis, Postgres db,
All you need to do is add the required config variables described in this guide (See `Detailed Config`).
If you are running a non-dev docker image, e.g., a stable release like `apache/superset:2.0.1`, that image does not include a headless browser. Only the `superset_worker` container needs this headless browser to browse to the target chart or dashboard.
You can either install and configure the headless browser - see "Custom Dockerfile" section below - or when deploying via `docker-compose`, modify your `docker-compose.yml` file to use a dev image for the worker container and a stable release image for the `superset_app` container.
You can either install and configure the headless browser - see "Custom Dockerfile" section below - or when deploying via `docker compose`, modify your `docker-compose.yml` file to use a dev image for the worker container and a stable release image for the `superset_app` container.
*Note*: In this context, a "dev image" is the same application software as its corresponding non-dev image, just bundled with additional tools. So an image like `2.0.1-dev` is identical to `2.0.1` when it comes to stability, functionality, and running in production. The actual "in-development" versions of Superset - cutting-edge and unstable - are not tagged with version numbers on Docker Hub and will display version `0.0.0-dev` within the Superset UI.
@@ -68,7 +68,7 @@ Note: when you configure an alert or a report, the Slack channel list takes chan
- You must have a `celery beat` pod running. If you're using the chart included in the GitHub repository under [helm/superset](https://github.com/apache/superset/tree/master/helm/superset), you need to put `supersetCeleryBeat.enabled = true` in your values override.
- You can see the dedicated docs about [Kubernetes installation](/docs/installation/running-on-kubernetes) for more generic details.
#### Docker-compose specific
#### Docker Compose specific
##### You must have in your `docker-compose.yml`
+76 -15
View File
@@ -9,11 +9,24 @@ version: 1
### Configuration
To configure your application, you need to create a file `superset_config.py` and add it to your
`PYTHONPATH`. If your application was installed using docker-compose an alternative configuration is required. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
To configure your application, you need to create a file `superset_config.py`. Add this file to your
`PYTHONPATH` or create an environment variable `SUPERSET_CONFIG_PATH` specifying the full path of the `superset_config.py`.
For example, if deploying on Superset directly on a Linux-based system where your `superset_config.py` is under `/app` directory, you can run:
```bash
export SUPERSET_CONFIG_PATH=/app/superset_config.py
```
If you are using your own custom Dockerfile with official Superset image as base image, then you can add your overrides as shown below:
```bash
COPY --chown=superset superset_config.py /app/
ENV SUPERSET_CONFIG_PATH /app/superset_config.py
```
Docker compose deployments handle application configuration differently. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details.
The following is an example of just a few of the parameters you can set in your `superset_config.py` file:
```
# Superset specific config
ROW_LIMIT = 5000
@@ -75,7 +88,7 @@ WTF_CSRF_EXEMPT_LIST = [‘’]
#### Adding an initial SECRET_KEY
Superset requires a user-specified SECRET_KEY to start up. This requirement was [added in version 2.1.0 to force secure configurations](https://preset.io/blog/superset-security-update-default-secret_key-vulnerability/). Add a strong SECRET_KEY to your `superset_config.py` file like:
Superset requires a user-specified SECRET_KEY to start up. This requirement was [added in version 2.1.0 to force secure configurations](https://preset.io/blog/superset-security-update-default-secret_key-vulnerability/). Add a strong SECRET_KEY to your `superset_config.py` file like:
```python
SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
@@ -86,7 +99,7 @@ You can generate a strong secure key with `openssl rand -base64 42`.
#### Rotating to a newer SECRET_KEY
If you wish to change your existing SECRET_KEY, add the existing SECRET_KEY to your `superset_config.py` file as
`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these
`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these
commands - if running Superset with Docker, execute from within the Superset application container:
```python
@@ -106,21 +119,23 @@ database engine on a separate host or container.
Superset supports the following database engines/versions:
| Database Engine | Supported Versions |
| ----------------------------------------- | ---------------------------------- |
| [PostgreSQL](https://www.postgresql.org/) | 10.X, 11.X, 12.X, 13.X, 14.X, 15.X |
| [MySQL](https://www.mysql.com/) | 5.7, 8.X |
| Database Engine | Supported Versions |
| --------------------------------------------------------- | ---------------------------------- |
| [PostgreSQL](https://www.postgresql.org/) | 10.X, 11.X, 12.X, 13.X, 14.X, 15.X |
| [MySQL](https://www.mysql.com/) | 5.7, 8.X |
Use the following database drivers and connection strings:
| Database | PyPI package | Connection String |
| ----------------------------------------- | ------------------------- | ---------------------------------------------------------------------- |
| [PostgreSQL](https://www.postgresql.org/) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](https://www.mysql.com/) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| Database | PyPI package | Connection String |
| ----------------------------------------- | --------------------------------- | ------------------------------------------------------------------------ |
| [PostgreSQL](https://www.postgresql.org/) | `pip install psycopg2` | `postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
| [MySQL](https://www.mysql.com/) | `pip install mysqlclient` | `mysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>` |
To configure Superset metastore set `SQLALCHEMY_DATABASE_URI` config key on `superset_config`
to the appropriate connection string.
### Running on a WSGI HTTP Server
While you can run Superset on NGINX or Apache, we recommend using Gunicorn in async mode. This
@@ -147,6 +162,14 @@ for production use._
If you're not using Gunicorn, you may want to disable the use of `flask-compress` by setting
`COMPRESS_REGISTER = False` in your `superset_config.py`.
Currently, Google BigQuery python sdk is not compatible with `gevent`, due to some dynamic monkeypatching on python core library by `gevent`.
So, when you use `BigQuery` datasource on Superset, you have to use `gunicorn` worker type except `gevent`.
### HTTPS Configuration
You can configure HTTPS upstream via a load balancer or a reverse proxy (such as nginx) and do SSL/TLS Offloading before traffic reaches the Superset application. In this setup, local traffic from a Celery worker taking a snapshot of a chart for Alerts & Reports can access Superset at a `http://` URL, from behind the ingress point.
You can also configure [SSL in Gunicorn](https://docs.gunicorn.org/en/stable/settings.html#ssl) (the Python webserver) if you are using an official Superset Docker image.
### Configuration Behind a Load Balancer
If you are running superset behind a load balancer or reverse proxy (e.g. NGINX or ELB on AWS), you
@@ -167,8 +190,9 @@ RequestHeader set X-Forwarded-Proto "https"
### Custom OAuth2 Configuration
Beyond FAB supported providers (GitHub, Twitter, LinkedIn, Google, Azure, etc), its easy to connect
Superset with other OAuth2 Authorization Server implementations that support “code” authorization.
Superset is built on Flask-AppBuilder (FAB), which supports many providers out of the box
(GitHub, Twitter, LinkedIn, Google, Azure, etc). Beyond those, Superset can be configured to connect
with other OAuth2 Authorization Server implementations that support “code” authorization.
Make sure the pip package [`Authlib`](https://authlib.org/) is installed on the webserver.
@@ -194,6 +218,7 @@ OAUTH_PROVIDERS = [
'access_token_params':{ # Additional parameters for calls to access_token_url
'client_id':'myClientId'
},
'jwks_uri':'https://myAuthorizationServe/adfs/discovery/keys', # may be required to generate token
'access_token_headers':{ # Additional headers for calls to access_token_url
'Authorization': 'Basic Base64EncodedClientIdAndSecret'
},
@@ -262,6 +287,42 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
]
```
### LDAP Authentication
FAB supports authenticating user credentials against an LDAP server.
To use LDAP you must install the [python-ldap](https://www.python-ldap.org/en/latest/installing.html) package.
See [FAB's LDAP documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html#authentication-ldap)
for details.
### Mapping LDAP or OAUTH groups to Superset roles
AUTH_ROLES_MAPPING in Flask-AppBuilder is a dictionary that maps from LDAP/OAUTH group names to FAB roles.
It is used to assign roles to users who authenticate using LDAP or OAuth.
#### Mapping OAUTH groups to Superset roles
The following AUTH_ROLES_MAPPING dictionary would map the OAUTH group "superset_users" to the Superset roles "Gamma" as well as "Alpha", and the OAUTH group "superset_admins" to the Superset role "Admin".
AUTH_ROLES_MAPPING = {
"superset_users": ["Gamma","Alpha"],
"superset_admins": ["Admin"],
}
#### Mapping LDAP groups to Superset roles
The following AUTH_ROLES_MAPPING dictionary would map the LDAP DN "cn=superset_users,ou=groups,dc=example,dc=com" to the Superset roles "Gamma" as well as "Alpha", and the LDAP DN "cn=superset_admins,ou=groups,dc=example,dc=com" to the Superset role "Admin".
AUTH_ROLES_MAPPING = {
"cn=superset_users,ou=groups,dc=example,dc=com": ["Gamma","Alpha"],
"cn=superset_admins,ou=groups,dc=example,dc=com": ["Admin"],
}
Note: This requires AUTH_LDAP_SEARCH to be set. For more details, Please refer (FAB Security documentation)[https://flask-appbuilder.readthedocs.io/en/latest/security.html].
#### Syncing roles at login
You can also use the AUTH_ROLES_SYNC_AT_LOGIN configuration variable to control how often Flask-AppBuilder syncs the user's roles with the LDAP/OAUTH groups. If AUTH_ROLES_SYNC_AT_LOGIN is set to True, Flask-AppBuilder will sync the user's roles each time they log in. If AUTH_ROLES_SYNC_AT_LOGIN is set to False, Flask-AppBuilder will only sync the user's roles when they first register.
### Flask app Configuration Hook
`FLASK_APP_MUTATOR` is a configuration function that can be provided in your environment, receives
@@ -64,7 +64,11 @@ We don't recommend using the system installed Python. Instead, first install the
brew install readline pkg-config libffi openssl mysql postgresql@14
```
You should install a recent version of Python (the official docker image uses 3.8.16). We'd recommend using a Python version manager like [pyenv](https://github.com/pyenv/pyenv) (and also [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)).
You should install a recent version of Python. Refer to the (setup.py file)[https://github.com/apache/superset/blob/master/setup.py] for a list of Python versions officially supported by Superset. We'd recommend using a Python version manager like [pyenv](https://github.com/pyenv/pyenv) (and also [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv)).
:::tip
To identify the Python version used by the official docker image, see the [Dockerfile](https://github.com/apache/superset/blob/master/Dockerfile). Additional docker images published for newer versions of Python can be found in [this file](https://github.com/apache/superset/blob/master/.github/workflows/docker_build_push.sh).
:::
Let's also make sure we have the latest version of `pip` and `setuptools`:
@@ -125,7 +129,9 @@ Then, you need to initialize the database:
superset db upgrade
```
:::tip Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of SECRET_KEY. Please see Configuring Superset. :::
:::tip
Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of SECRET_KEY. Please see [Configuring Superset](https://superset.apache.org/docs/installation/configuring-superset).
:::
Finish installing by running through the following commands:
@@ -16,7 +16,7 @@ below.
**Mac OSX**
[Install Docker for Mac](https://docs.docker.com/docker-for-mac/install/), which includes the Docker
engine and a recent version of `docker-compose` out of the box.
engine and a recent version of `docker compose` out of the box.
Once you have Docker for Mac installed, open up the preferences pane for Docker, go to the
"Resources" section and increase the allocated memory to 6GB. With only the 2GB of RAM allocated by
@@ -25,9 +25,9 @@ default, Superset will fail to start.
**Linux**
[Install Docker on Linux](https://docs.docker.com/engine/install/) by following Dockers
instructions for whichever flavor of Linux suits you. Because `docker-compose` is not installed as
instructions for whichever flavor of Linux suits you. Because `docker compose` is not installed as
part of the base Docker installation on Linux, once you have a working engine, follow the
[docker-compose installation instructions](https://docs.docker.com/compose/install/) for Linux.
[docker compose installation instructions](https://docs.docker.com/compose/install/) for Linux.
**Windows**
@@ -58,33 +58,53 @@ Navigate to the folder you created in step 1:
cd superset
```
When working on master branch, run the following commands:
When working on master branch, run the following commands to run `development` mode using `docker compose`:
```bash
docker compose up
```
:::tip
When running in development mode the `superset-node` container needs to finish building assets in order for the UI to render properly. If you would just like to try out Superset without making any code changes follow the steps documented for `production` or a specific version below.
:::
When working on master branch, run the following commands to run `production` mode using `docker compose`:
```bash
docker-compose -f docker-compose-non-dev.yml pull
docker-compose -f docker-compose-non-dev.yml up
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
Alternatively, you can also run a specific version of Superset by first checking out
the branch/tag, and then starting `docker-compose` with the `TAG` variable.
For example, to run the 1.4.0 version, run the following commands:
the branch/tag, and then starting `docker compose` with the `TAG` variable.
For example, to run the 3.0.0 version, run the following commands on Linux-based systems:
```bash
git checkout 1.4.0
TAG=1.4.0 docker-compose -f docker-compose-non-dev.yml pull
TAG=1.4.0 docker-compose -f docker-compose-non-dev.yml up
git checkout 3.0.0
TAG=3.0.0 docker compose -f docker-compose-non-dev.yml pull
TAG=3.0.0 docker compose -f docker-compose-non-dev.yml up
```
If you are using Docker Desktop for Windows then run the following commands:
```bash
git checkout 3.0.0
set TAG=3.0.0
docker compose -f docker-compose-non-dev.yml pull
docker compose -f docker-compose-non-dev.yml up
```
:::tip
Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of `SECRET_KEY`. Please see [Configuring Superset](https://superset.apache.org/docs/installation/configuring-superset/).
Note that some configuration is mandatory for production instances of Superset. In particular, Superset will not start without a user-specified value of `SECRET_KEY` in a Superset config file or `SUPERSET_SECRET_KEY` as an [environment variable](https://github.com/apache/superset/blob/master/docker/.env-non-dev). Please see [Configuring Superset](https://superset.apache.org/docs/installation/configuring-superset/) for more details.
:::
:::caution
All of the content belonging to a Superset instance - charts, dashboards, users, etc. - is stored in its metadata database. In production, this database should be backed up.
The default installation with docker compose will store that data in a PostgreSQL database contained in a Docker [volume](https://docs.docker.com/storage/volumes/),
which is not backed up. To avoid risking data loss, either use a managed database for your metadata (recommended) or perform your own regular backups by extracting
and storing the contents of the default PostgreSQL database from its volume (here's an
[example of how to dump and restore](https://stackoverflow.com/questions/24718706/backup-restore-a-dockerized-postgresql-database)).
:::
You should see a wall of logging output from the containers being launched on your machine. Once
this output slows, you should have a running instance of Superset on your local machine!
**Note:** This will bring up superset in a non-dev mode, changes to the codebase will not be reflected.
If you would like to run superset in dev mode to test local changes, simply replace the previous command with: `docker-compose up`,
and wait for the `superset_node` container to finish building the assets.
this output slows, you should have a running instance of Superset on your local machine! To
avoid the wall of text on future runs, add the `-d` option to the end of the `docker compose up` command.
#### Configuring Docker Compose
@@ -92,9 +112,9 @@ The following is for users who want to configure how Superset runs in Docker Com
You can install additional python packages and apply config overrides by following the steps mentioned in [docker/README.md](https://github.com/apache/superset/tree/master/docker#configuration)
You can configure the Docker Compose environment varirables for dev and non-dev mode with `docker/.env` and `docker/.env-non-dev` respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.
You can configure the Docker Compose environment variables for dev and non-dev mode with `docker/.env` and `docker/.env-non-dev` respectively. These environment files set the environment for most containers in the Docker Compose setup, and some variables affect multiple containers and others only single ones.
One important variable is `SUPERSET_LOAD_EXAMPLES` which determines whether the `superset_init` container will load example data and visualizations into the database and Superset. These examples are quite helpful for most people, but probably unnecessary for experienced users. The loading process can sometimes take a few minutes and a good amount of CPU, so you may want to disable it on a resource-constrained device.
One important variable is `SUPERSET_LOAD_EXAMPLES` which determines whether the `superset_init` container will populate example data and visualizations into the metadata database. These examples are helpful for learning and testing out Superset but unnecessary for experienced users and production deployments. The loading process can sometimes take a few minutes and a good amount of CPU, so you may want to disable it on a resource-constrained device.
:::note
@@ -102,7 +122,9 @@ Users often want to connect to other databases from Superset. Currently, the eas
:::
:::note
Superset uses [Scarf Gateway](https://about.scarf.sh/scarf-gateway) to collect telmetry data to better understand and support the need for patch versions of Sueprset. Scarf purges PII and provides aggregated statistics. Superset users can easily opt out of analytics in various ways documented [here](https://docs.scarf.sh/gateway/#do-not-track). However, if you wish to opt-out of this in your Docker-based installation, you can simply edit your `docker-compose.yml` or `docker-compose-non-dev.yml` file and remove `apachesuperset.docker.scarf.sh/` from the `x-superset-image` setting, so that it's simply pulling `apache/superset:${TAG:-latest-dev}`
Superset uses [Scarf Gateway](https://about.scarf.sh/scarf-gateway) to collect telemetry data. Knowing the installation counts for different Superset versions informs the project's decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics.
To opt-out of this data collection in your docker compose based installation, edit the `x-superset-image:` line in your `docker-compose.yml` and `docker-compose-non-dev.yml` files, replacing `apachesuperset.docker.scarf.sh/apache/superset` with `apache/superset` to pull the image directly from Docker Hub.
:::
### 4. Log in to Superset
@@ -124,9 +146,9 @@ password: admin
### 5. Connecting Superset to your local database instance
When running Superset using `docker` or `docker-compose` it runs in its own docker container, as if the Superset was running in a separate machine entirely. Therefore attempts to connect to your local database with hostname `localhost` won't work as `localhost` refers to the docker container Superset is running in, and not your actual host machine. Fortunately, docker provides an easy way to access network resources in the host machine from inside a container, and we will leverage this capability to connect to our local database instance.
When running Superset using `docker` or `docker compose` it runs in its own docker container, as if the Superset was running in a separate machine entirely. Therefore attempts to connect to your local database with the hostname `localhost` won't work as `localhost` refers to the docker container Superset is running in, and not your actual host machine. Fortunately, docker provides an easy way to access network resources in the host machine from inside a container, and we will leverage this capability to connect to our local database instance.
Here the instructions are for connecting to postgresql (which is running on your host machine) from Superset (which is running in its docker container). Other databases may have slightly different configurations but gist would be same and boils down to 2 steps -
1. **(Mac users may skip this step)** Configuring the local postgresql/database instance to accept public incoming connections. By default postgresql only allows incoming connections from `localhost` only, but re-iterating once again, `localhosts` are different for host machine and docker container. For postgresql this involves make one-line changes to the files `postgresql.conf` and `pg_hba.conf`, you can find helpful links tailored to your OS / PG version on the web easily for this task. For docker it suffices to only whitelist IPs `172.0.0.0/8` instead of `*`, but in any case you are _warned_ that doing this in a production database _may_ have disastrous consequences as you are opening your database to the public internet.
2. Instead of `localhost`, try using `host.docker.internal` (Mac users, Ubuntu) or `172.18.0.1` (Linux users) as the host name when attempting to connect to the database. This is docker internal detail, what is happening is that in Mac systems docker creates a dns entry for the host name `host.docker.internal` which resolves to the correct address for the host machine, whereas in linux this is not the case (at least by default). If neither of these 2 hostnames work then you may want to find the exact host name you want to use, for that you can do `ifconfig` or `ip addr show` and look at the IP address of `docker0` interface that must have been created by docker for you. Alternately if you don't even see the `docker0` interface try (if needed with sudo) `docker network inspect bridge` and see if there is an entry for `"Gateway"` and note the IP address.
1. **(Mac users may skip this step)** Configuring the local postgresql/database instance to accept public incoming connections. By default, postgresql only allows incoming connections from `localhost` and under Docker, unless you use `--network=host`, `localhost` will refer to different endpoints on the host machine and in a docker container respectively. Allowing postgresql to accept connections from the Docker involves making one-line changes to the files `postgresql.conf` and `pg_hba.conf`; you can find helpful links tailored to your OS / PG version on the web easily for this task. For Docker it suffices to only whitelist IPs `172.0.0.0/8` instead of `*`, but in any case you are _warned_ that doing this in a production database _may_ have disastrous consequences as you are opening your database to the public internet.
2. Instead of `localhost`, try using `host.docker.internal` (Mac users, Ubuntu) or `172.18.0.1` (Linux users) as the hostname when attempting to connect to the database. This is a Docker internal detail -- what is happening is that, in Mac systems, Docker Desktop creates a dns entry for the hostname `host.docker.internal` which resolves to the correct address for the host machine, whereas in Linux this is not the case (at least by default). If neither of these 2 hostnames work then you may want to find the exact hostname you want to use, for that you can do `ifconfig` or `ip addr show` and look at the IP address of `docker0` interface that must have been created by Docker for you. Alternately if you don't even see the `docker0` interface try (if needed with sudo) `docker network inspect bridge` and see if there is an entry for `"Gateway"` and note the IP address.
@@ -33,6 +33,15 @@ Add the following setting in your `superset_config.py` file:
- `SUPERSET_WEBSERVER_DOMAINS`: list of allowed hostnames for domain sharding feature.
Please create your domain shards as subdomains of your main domain for authorization to
work properly on new domains. For Example:
- `SUPERSET_WEBSERVER_DOMAINS=['superset-1.mydomain.com','superset-2.mydomain.com','superset-3.mydomain.com','superset-4.mydomain.com']`
or add the following setting in your `superset_config.py` file if domain shards are not subdomains of main domain.
- `SESSION_COOKIE_DOMAIN = '.mydomain.com'`
### Middleware
Superset allows you to add your own middleware. To add your own middleware, update the
@@ -122,7 +122,9 @@ init:
```
:::note
Superset uses [Scarf Gateway](https://about.scarf.sh/scarf-gateway) to collect telmetry data to better understand and support the need for patch versions of Sueprset. Scarf purges PII and provides aggregated statistics. Superset users can easily opt out of analytics in various ways documented [here](https://docs.scarf.sh/gateway/#do-not-track). However, if you wish to opt-out of this in your Helm-based installation, you can simply edit your `helm/superset/values.yaml` file and remove `apachesuperset.docker.scarf.sh/` from the `repository` field, so that it's simply pulling `apache/superset`
Superset uses [Scarf Gateway](https://about.scarf.sh/scarf-gateway) to collect telemetry data. Knowing the installation counts for different Superset versions informs the project's decisions about patching and long-term support. Scarf purges personally identifiable information (PII) and provides only aggregated statistics.
To opt-out of this data collection in your Helm-based installation, edit the `repository:` line in your `helm/superset/values.yaml` file, replacing `apachesuperset.docker.scarf.sh/apache/superset` with `apache/superset` to pull the image directly from Docker Hub.
:::
#### Dependencies
@@ -135,7 +137,7 @@ For production clusters it's recommended to build own image with this step done
Superset requires a Python DB-API database driver and a SQLAlchemy
dialect to be installed for each datastore you want to connect to.
See [Install Database Drivers](/docs/databases/installing-database-drivers) for more information
See [Install Database Drivers](/docs/databases/installing-database-drivers) for more information.
:::
@@ -418,3 +420,10 @@ configOverrides:
"--disable-extensions",
]
```
#### Load the Examples data and dashboards
If you are trying Superset out and want some data and dashboards to explore, you can load some examples by creating a `my_values.yaml` and deploying it as described above in the **Configure your setting overrides** step of the **Running** section.
To load the examples, add the following to the `my_values.yaml` file:
```yaml
init:
loadExamples: true
```
@@ -15,7 +15,7 @@ version: 1
2. Create database w/ ssh tunnel enabled
- With the feature flag enabled you should now see ssh tunnel toggle.
- Click the toggle to enables ssh tunneling and add your credentials accordingly.
- Superset allows for 2 different type authenticaion (Basic + Private Key). These credentials should come from your service provider.
- Superset allows for 2 different type authentication (Basic + Private Key). These credentials should come from your service provider.
3. Verify data is flowing
- Once SSH tunneling has been enabled, go to SQL Lab and write a query to verify data is properly flowing.
@@ -12,7 +12,7 @@ version: 1
First make sure to wind down the running containers in Docker Compose:
```bash
docker-compose down
docker compose down
```
Then, update the folder that mirrors the `superset` repo through git:
@@ -25,7 +25,7 @@ git pull origin master
Then, restart the containers and any changed Docker images will be automatically pulled down:
```bash
docker-compose up
docker compose up
```
### Updating Superset Manually
+8 -8
View File
@@ -15,14 +15,14 @@ Note not all fields are correctly categorized. The fields vary based on visualiz
### Datasource & Chart Type
| Field | Type | Notes |
| ----------------- | -------- | ----------------------------------- |
| `database_name` | _string_ | _Deprecated?_ |
| `datasource` | _string_ | `<datasouce_id>__<datasource_type>` |
| `datasource_id` | _string_ | _Deprecated?_ See `datasource` |
| `datasource_name` | _string_ | _Deprecated?_ |
| `datasource_type` | _string_ | _Deprecated?_ See `datasource` |
| `viz_type` | _string_ | The **Visualization Type** widget |
| Field | Type | Notes |
| ----------------- | -------- | ------------------------------------ |
| `database_name` | _string_ | _Deprecated?_ |
| `datasource` | _string_ | `<datasource_id>__<datasource_type>` |
| `datasource_id` | _string_ | _Deprecated?_ See `datasource` |
| `datasource_name` | _string_ | _Deprecated?_ |
| `datasource_type` | _string_ | _Deprecated?_ See `datasource` |
| `viz_type` | _string_ | The **Visualization Type** widget |
### Time
+1 -1
View File
@@ -264,7 +264,7 @@ The database might be under heavy load, running too many queries. Please try aga
## Issue 1028
```
One or more parameters specified in the query are malformatted.
One or more parameters specified in the query are malformed.
```
The query contains one or more malformed template parameters. Please check your query and confirm that all template parameters are surround by double braces, for example, "{{ ds }}". Then, try running your query again.
@@ -87,15 +87,6 @@ Specifically, the command performs the following:
† Note the markdown elements will still remain however the link to the referenced filter-box
chart will no longer be valid.
Finally, the
```
superset native-filters cleanup --all
```
command will additionally delete all filter-box charts, irrespective of whether they
were ever associated with a dashboard.
#### Quality Control
Dashboard owners should:
+50
View File
@@ -0,0 +1,50 @@
---
title: Timezones
hide_title: true
sidebar_position: 1
version: 1
---
## Timezones
There are four distinct timezone components which relate to Apache Superset,
1. The timezone that the underlying data is encoded in.
2. The timezone of the database engine.
3. The timezone of the Apache Superset backend.
4. The timezone of the Apache Superset client.
where if a temporal field (`DATETIME`, `TIME`, `TIMESTAMP`, etc.) does not explicitly define a timezone it defaults to the underlying timezone of the component.
To help make the problem somewhat tractable—given that Apache Superset has no control on either how the data is ingested (1) or the timezone of the client (4)—from a consistency standpoint it is highly recommended that both (2) and (3) are configured to use the same timezone with a strong preference given to [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time) to ensure temporal fields without an explicit timestamp are not incorrectly coerced into the wrong timezone. Actually Apache Superset currently has implicit assumptions that timestamps are in UTC and thus configuring (3) to a non-UTC timezone could be problematic.
To strive for data consistency (regardless of the timezone of the client) the Apache Superset backend tries to ensure that any timestamp sent to the client has an explicit (or semi-explicit as in the case with [Epoch time](https://en.wikipedia.org/wiki/Unix_time) which is always in reference to UTC) timezone encoded within.
The challenge however lies with the slew of [database engines](/docs/databases/installing-database-drivers#install-database-drivers) which Apache Superset supports and various inconsistencies between their [Python Database API (DB-API)](https://www.python.org/dev/peps/pep-0249/) implementations combined with the fact that we use [Pandas](https://pandas.pydata.org/) to read SQL into a DataFrame prior to serializing to JSON. Regrettably Pandas ignores the DB-API [type_code](https://www.python.org/dev/peps/pep-0249/#type-objects) relying by default on the underlying Python type returned by the DB-API. Currently only a subset of the supported database engines work correctly with Pandas, i.e., ensuring timestamps without an explicit timestamp are serializd to JSON with the server timezone, thus guaranteeing the client will display timestamps in a consistent manner irrespective of the client's timezone.
For example the following is a comparison of MySQL and Presto,
```
import pandas as pd
from sqlalchemy import create_engine
pd.read_sql_query(
sql="SELECT TIMESTAMP('2022-01-01 00:00:00') AS ts",
con=create_engine("mysql://root@localhost:3360"),
).to_json()
pd.read_sql_query(
sql="SELECT TIMESTAMP '2022-01-01 00:00:00' AS ts",
con=create_engine("presto://localhost:8080"),
).to_json()
```
which outputs `{"ts":{"0":1640995200000}}` (which infers the UTC timezone per the Epoch time definition) and `{"ts":{"0":"2022-01-01 00:00:00.000"}}` (without an explicit timezone) respectively and thus are treated differently in JavaScript:
```
new Date(1640995200000)
> Sat Jan 01 2022 13:00:00 GMT+1300 (New Zealand Daylight Time)
new Date("2022-01-01 00:00:00.000")
> Sat Jan 01 2022 00:00:00 GMT+1300 (New Zealand Daylight Time)
```
+22 -8
View File
@@ -4,20 +4,34 @@ hide_title: true
sidebar_position: 2
---
#### Version 2.1.1
| CVE | Title | Affected |
|:---------------|:------------------------------------------------------------------------|---------:|
| CVE-2023-36387 | Improper API permission for low privilege users | < 2.1.1 |
| CVE-2023-36388 | Improper API permission for low privilege users allows for SSRF | < 2.1.1 |
| CVE-2023-27523 | Improper data permission validation on Jinja templated queries | < 2.1.1 |
| CVE-2023-27526 | Improper Authorization check on import charts | < 2.1.1 |
| CVE-2023-39264 | Stack traces enabled by default | < 2.1.1 |
| CVE-2023-39265 | Possible Unauthorized Registration of SQLite Database Connections | < 2.1.1 |
| CVE-2023-37941 | Metadata db write access can lead to remote code execution | < 2.1.1 |
| CVE-2023-32672 | SQL parser edge case bypasses data access authorization | < 2.1.1 |
#### Version 2.1.0
| CVE | Title | Affected |
| :------------- | :---------------------------------------------------------------------- | -----------------:|
| CVE-2023-25504 | Possible SSRF on import datasets | <= 2.1.0 |
| CVE-2023-27524 | Session validation vulnerability when using provided default SECRET_KEY | <= 2.1.0 |
| CVE-2023-27525 | Incorrect default permissions for Gamma role | <= 2.1.0 |
| CVE-2023-30776 | Database connection password leak | <= 2.1.0 |
| CVE | Title | Affected |
|:---------------|:------------------------------------------------------------------------|---------:|
| CVE-2023-25504 | Possible SSRF on import datasets | < 2.1.0 |
| CVE-2023-27524 | Session validation vulnerability when using provided default SECRET_KEY | < 2.1.0 |
| CVE-2023-27525 | Incorrect default permissions for Gamma role | < 2.1.0 |
| CVE-2023-30776 | Database connection password leak | < 2.1.0 |
#### Version 2.0.1
| CVE | Title | Affected |
| :------------- | :---------------------------------------------------------- | -----------------:|
| CVE | Title | Affected |
|:---------------|:------------------------------------------------------------|------------------:|
| CVE-2022-41703 | SQL injection vulnerability in adhoc clauses | < 2.0.1 or <1.5.2 |
| CVE-2022-43717 | Cross-Site Scripting on dashboards | < 2.0.1 or <1.5.2 |
| CVE-2022-43718 | Cross-Site Scripting vulnerability on upload forms | < 2.0.1 or <1.5.2 |
+14 -5
View File
@@ -1,11 +1,9 @@
---
title: Role based Access
title: Security
hide_title: true
sidebar_position: 1
---
### Roles
Security in Superset is handled by Flask AppBuilder (FAB), an application development framework
built on top of Flask. FAB provides authentication, user management, permissions and roles.
Please read its [Security documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html).
@@ -67,10 +65,20 @@ tables in the **Permissions** dropdown. To select the data sources you want to a
You can then confirm with users assigned to the **Gamma** role that they see the
objects (dashboards and slices) associated with the tables you just extended them.
### REST API for user & role management
Flask-AppBuilder supports a REST API for user CRUD, but this feature is in beta and is not enabled by default in Superset. To enable this feature, set the following in your Superset configuration:
```python
FAB_ADD_SECURITY_API = True
```
Once configured, the documentation for additional "Security" endpoints will be visible in Swagger for you to explore.
### Customizing Permissions
The permissions exposed by FAB are very granular and allow for a great level of
customization. FAB creates many permissions automagically for each model that is
customization. FAB creates many permissions automatically for each model that is
created (can_add, can_delete, can_show, can_edit, …) as well as for each view.
On top of that, Superset can expose more granular permissions like **all_datasource_access**.
@@ -256,4 +264,5 @@ analysing the findings.
PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on
public domain. The ASF Security Team maintains a page with the description of how vulnerabilities
and potential threats are handled, check their web page for more details.
and potential threats are handled, check [their web page](https://apache.org/security/committers.html)
for more details.
+5 -2
View File
@@ -246,13 +246,16 @@ const config = {
<img class="footer__divider" src="/img/community/line.png" alt="Divider" />
<p>
<small>
<a href="https://www.apache.org/security/" target="_blank" rel="noreferrer">Security</a>&nbsp;|&nbsp;
<a href="https://superset.apache.org/docs/security/" target="_blank" rel="noreferrer">Security</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noreferrer">Donate</a>&nbsp;|&nbsp;
<a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noreferrer">Thanks</a>&nbsp;|&nbsp;
<a href="https://apache.org/events/current-event" target="_blank" rel="noreferrer">Events</a>&nbsp;|&nbsp;
<a href="https://apache.org/licenses/" target="_blank" rel="noreferrer">License</a>
</small>
</p>`,
</p>
<!-- telemetry/analytics pixel: -->
<img referrerPolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=39ae6855-95fc-4566-86e5-360d542b0a68" />
`,
},
prism: {
theme: lightCodeTheme,
+1 -1
View File
@@ -52,7 +52,7 @@ const communityLinks = [
'Participate in conversations with committers and contributors on Superset mailing list',
},
{
url: 'https://stackoverflow.com/questions/tagged/superset+apache-superset',
url: 'https://stackoverflow.com/questions/tagged/apache-superset',
title: 'Stack Overflow',
description: 'Our growing knowledge base.',
image: 'stackoverflow-symbol.jpg',
+20 -55
View File
@@ -7666,15 +7666,10 @@ multicast-dns@^7.2.5:
dns-packet "^5.2.2"
thunky "^1.0.2"
nanoid@^3.1.30, nanoid@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35"
integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==
nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
needle@^3.1.0:
version "3.2.0"
@@ -8418,30 +8413,12 @@ postcss-zindex@^5.1.0:
resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff"
integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==
postcss@^8.3.11:
version "8.3.11"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz"
integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==
postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7:
version "8.4.31"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
dependencies:
nanoid "^3.1.30"
picocolors "^1.0.0"
source-map-js "^0.6.2"
postcss@^8.4.14, postcss@^8.4.17:
version "8.4.21"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.7:
version "8.4.12"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905"
integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==
dependencies:
nanoid "^3.3.1"
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"
@@ -9719,30 +9696,23 @@ semver-diff@^3.1.1:
semver@7.0.0:
version "7.0.0"
resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
semver@^5.4.1, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
version "7.3.5"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.7, semver@^7.3.8:
version "7.3.8"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
@@ -9946,11 +9916,6 @@ sort-css-media-queries@2.0.4:
resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.0.4.tgz"
integrity sha512-PAIsEK/XupCQwitjv7XxoMvYhT7EAfyzI3hsy/MyDgTvc+Ft55ctdkctJLOy6cQejaIC+zjpUL4djFVm2ivOOw==
source-map-js@^0.6.2:
version "0.6.2"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz"
integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+2 -2
View File
@@ -15,7 +15,7 @@
# limitations under the License.
#
apiVersion: v2
appVersion: "3.0.2"
appVersion: "3.0.1"
description: Apache Superset is a modern, enterprise-ready business intelligence web application
name: superset
icon: https://artifacthub.io/image/68c1d717-0e97-491f-b046-754e46f46922@2x
@@ -29,7 +29,7 @@ maintainers:
- name: craig-rueda
email: craig@craigrueda.com
url: https://github.com/craig-rueda
version: 0.10.10
version: 0.10.11
dependencies:
- name: postgresql
version: 12.1.6
+11 -3
View File
@@ -23,7 +23,7 @@ NOTE: This file is generated by helm-docs: https://github.com/norwoodj/helm-docs
# superset
![Version: 0.10.10](https://img.shields.io/badge/Version-0.10.10-informational?style=flat-square)
![Version: 0.10.11](https://img.shields.io/badge/Version-0.10.11-informational?style=flat-square)
Apache Superset is a modern, enterprise-ready business intelligence web application
@@ -92,7 +92,7 @@ helm install my-superset superset/superset
| init.createAdmin | bool | `true` | |
| init.enabled | bool | `true` | |
| init.initContainers | list | a container waiting for postgres | List of initContainers |
| init.initscript | string | a script to create admin user and initailize roles | A Superset init script |
| init.initscript | string | a script to create admin user and initialize roles | A Superset init script |
| init.jobAnnotations."helm.sh/hook" | string | `"post-install,post-upgrade"` | |
| init.jobAnnotations."helm.sh/hook-delete-policy" | string | `"before-hook-creation"` | |
| init.loadExamples | bool | `false` | |
@@ -106,7 +106,7 @@ helm install my-superset superset/superset
| initImage.tag | string | `"dockerize"` | |
| nameOverride | string | `nil` | Provide a name to override the name of the chart |
| nodeSelector | object | `{}` | |
| postgresql | object | see `values.yaml` | Configuration values for the postgresql dependency. ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md |
| postgresql | object | see `values.yaml` | Configuration values for the postgresql dependency. ref: https://github.com/bitnami/charts/tree/main/bitnami/postgresql |
| redis | object | see `values.yaml` | Configuration values for the Redis dependency. ref: https://github.com/bitnami/charts/blob/master/bitnami/redis More documentation can be found here: https://artifacthub.io/packages/helm/bitnami/redis |
| resources | object | `{}` | |
| runAsUser | int | `0` | User ID directive. This user must have enough permissions to run the bootstrap script Running containers as root is not recommended in production. Change this to another UID - e.g. 1000 to be more secure |
@@ -169,6 +169,10 @@ helm install my-superset superset/superset
| supersetCeleryFlower.startupProbe.timeoutSeconds | int | `1` | |
| supersetCeleryFlower.topologySpreadConstraints | list | `[]` | TopologySpreadConstrains to be added to supersetCeleryFlower deployments |
| supersetNode.affinity | object | `{}` | Affinity to be added to supersetNode deployment |
| supersetNode.autoscaling.enabled | bool | `false` | |
| supersetNode.autoscaling.maxReplicas | int | `100` | |
| supersetNode.autoscaling.minReplicas | int | `1` | |
| supersetNode.autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| supersetNode.command | list | See `values.yaml` | Startup command |
| supersetNode.connections.db_host | string | `"{{ .Release.Name }}-postgresql"` | |
| supersetNode.connections.db_name | string | `"superset"` | |
@@ -257,6 +261,10 @@ helm install my-superset superset/superset
| supersetWebsockets.strategy | object | `{}` | |
| supersetWebsockets.topologySpreadConstraints | list | `[]` | TopologySpreadConstrains to be added to supersetWebsockets deployments |
| supersetWorker.affinity | object | `{}` | Affinity to be added to supersetWorker deployment |
| supersetWorker.autoscaling.enabled | bool | `false` | |
| supersetWorker.autoscaling.maxReplicas | int | `100` | |
| supersetWorker.autoscaling.minReplicas | int | `1` | |
| supersetWorker.autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| supersetWorker.command | list | a `celery worker` command | Worker startup command |
| supersetWorker.containerSecurityContext | object | `{}` | |
| supersetWorker.deploymentAnnotations | object | `{}` | Annotations to be added to supersetWorker deployment |
@@ -34,7 +34,9 @@ metadata:
annotations: {{- toYaml .Values.supersetWorker.deploymentAnnotations | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.supersetWorker.autoscaling.enabled }}
replicas: {{ .Values.supersetWorker.replicaCount }}
{{- end }}
selector:
matchLabels:
app: {{ template "superset.name" . }}-worker
+2
View File
@@ -34,7 +34,9 @@ metadata:
annotations: {{- toYaml .Values.supersetNode.deploymentAnnotations | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.supersetNode.autoscaling.enabled }}
replicas: {{ .Values.supersetNode.replicaCount }}
{{- end }}
{{- if .Values.supersetNode.strategy }}
strategy: {{- toYaml .Values.supersetNode.strategy | nindent 4 }}
{{- end }}
+54
View File
@@ -0,0 +1,54 @@
{{/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
{{- if .Values.supersetNode.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "superset.fullname" . }}-hpa
labels:
app: {{ template "superset.name" . }}
chart: {{ template "superset.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "superset.fullname" . }}
minReplicas: {{ .Values.supersetNode.autoscaling.minReplicas }}
maxReplicas: {{ .Values.supersetNode.autoscaling.maxReplicas }}
metrics:
{{- if .Values.supersetNode.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.supersetNode.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.supersetNode.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.supersetNode.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}
+54
View File
@@ -0,0 +1,54 @@
{{/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
{{- if .Values.supersetWorker.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "superset.fullname" . }}-hpa-worker
labels:
app: {{ template "superset.name" . }}
chart: {{ template "superset.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "superset.fullname" . }}-worker
minReplicas: {{ .Values.supersetWorker.autoscaling.minReplicas }}
maxReplicas: {{ .Values.supersetWorker.autoscaling.maxReplicas }}
metrics:
{{- if .Values.supersetWorker.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.supersetWorker.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.supersetWorker.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.supersetWorker.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}
+16 -2
View File
@@ -240,6 +240,13 @@ hostAliases: []
# Superset node configuration
supersetNode:
replicaCount: 1
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
# -- Startup command
# @default -- See `values.yaml`
command:
@@ -334,6 +341,13 @@ supersetNode:
# Superset Celery worker configuration
supersetWorker:
replicaCount: 1
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
# -- Worker startup command
# @default -- a `celery worker` command
command:
@@ -657,7 +671,7 @@ init:
- -c
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
# -- A Superset init script
# @default -- a script to create admin user and initailize roles
# @default -- a script to create admin user and initialize roles
initscript: |-
#!/bin/sh
set -eu
@@ -695,7 +709,7 @@ init:
topologySpreadConstraints: []
# -- Configuration values for the postgresql dependency.
# ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
# ref: https://github.com/bitnami/charts/tree/main/bitnami/postgresql
# @default -- see `values.yaml`
postgresql:
##
+41 -7
View File
@@ -13,6 +13,8 @@ amqp==5.1.0
# via kombu
apispec[yaml]==6.3.0
# via flask-appbuilder
apsw==3.42.0.1
# via shillelagh
async-timeout==4.0.2
# via redis
attrs==23.1.0
@@ -25,16 +27,22 @@ bcrypt==4.0.1
# via paramiko
billiard==3.6.4.0
# via celery
bottleneck==1.3.7
# via pandas
brotli==1.0.9
# via flask-compress
cachelib==0.6.0
# via flask-caching
celery==5.2.2
# via apache-superset
certifi==2023.7.22
# via requests
cffi==1.15.1
# via
# cryptography
# pynacl
charset-normalizer==3.2.0
# via requests
click==8.1.3
# via
# apache-superset
@@ -63,7 +71,7 @@ cron-descriptor==1.2.24
# via apache-superset
croniter==1.0.15
# via apache-superset
cryptography==39.0.1
cryptography==41.0.2
# via
# apache-superset
# paramiko
@@ -88,7 +96,7 @@ flask==2.2.5
# flask-migrate
# flask-sqlalchemy
# flask-wtf
flask-appbuilder==4.3.9
flask-appbuilder==4.3.7
# via apache-superset
flask-babel==1.0.0
# via flask-appbuilder
@@ -122,7 +130,9 @@ geographiclib==1.52
# via geopy
geopy==2.2.0
# via apache-superset
gunicorn==20.1.0
greenlet==2.0.2
# via shillelagh
gunicorn==21.2.0
# via apache-superset
hashids==1.3.1
# via apache-superset
@@ -133,7 +143,9 @@ holidays==0.23
humanize==3.11.0
# via apache-superset
idna==3.2
# via email-validator
# via
# email-validator
# requests
importlib-metadata==6.6.0
# via apache-superset
importlib-resources==5.12.0
@@ -156,6 +168,8 @@ korean-lunar-calendar==0.3.1
# via holidays
limits==3.4.0
# via flask-limiter
llvmlite==0.40.1
# via numba
mako==1.2.4
# via
# alembic
@@ -182,9 +196,16 @@ msgpack==1.0.2
# via apache-superset
nh3==0.2.11
# via apache-superset
numba==0.57.1
# via pandas
numexpr==2.8.4
# via pandas
numpy==1.23.5
# via
# apache-superset
# bottleneck
# numba
# numexpr
# pandas
# pyarrow
ordered-set==4.1.0
@@ -194,9 +215,11 @@ packaging==23.1
# apache-superset
# apispec
# deprecation
# gunicorn
# limits
# marshmallow
pandas==1.5.3
# shillelagh
pandas[performance]==2.0.3
# via apache-superset
paramiko==2.11.0
# via sshtunnel
@@ -237,6 +260,7 @@ python-dateutil==2.8.2
# flask-appbuilder
# holidays
# pandas
# shillelagh
python-dotenv==0.19.0
# via apache-superset
python-editor==1.0.4
@@ -255,10 +279,14 @@ pyyaml==6.0.1
# apispec
redis==4.5.4
# via apache-superset
requests==2.31.0
# via shillelagh
rich==13.3.4
# via flask-limiter
selenium==3.141.0
# via apache-superset
shillelagh==1.2.6
# via apache-superset
shortid==0.1.2
# via apache-superset
simplejson==3.17.3
@@ -280,6 +308,7 @@ sqlalchemy==1.4.36
# flask-appbuilder
# flask-sqlalchemy
# marshmallow-sqlalchemy
# shillelagh
# sqlalchemy-utils
sqlalchemy-utils==0.38.3
# via
@@ -296,8 +325,13 @@ typing-extensions==4.4.0
# apache-superset
# flask-limiter
# limits
# shillelagh
tzdata==2023.3
# via pandas
urllib3==1.26.6
# via selenium
# via
# requests
# selenium
vine==5.0.0
# via
# amqp
@@ -311,7 +345,7 @@ werkzeug==2.3.3
# flask
# flask-jwt-extended
# flask-login
wrapt==1.12.1
wrapt==1.15.0
# via deprecated
wtforms==2.3.3
# via
+1 -1
View File
@@ -21,7 +21,7 @@
ipython
progress>=1.5,<2
pyinstrument>=4.0.2,<5
pylint==2.9.6
pylint
python-ldap>=3.4.3
setuptools>=65.5.1
sqloxide
+15 -18
View File
@@ -1,4 +1,4 @@
# SHA1:4c0ce3a84b01a5a3fe6c72cbf2fc96e5eada2dbe
# SHA1:e35d6e709dc86002ca35ad59f7119aa6cc1e7179
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -12,7 +12,7 @@
# -r requirements/development.in
appnope==0.1.3
# via ipython
astroid==2.6.6
astroid==2.15.8
# via pylint
asttokens==2.2.1
# via stack-data
@@ -26,14 +26,12 @@ botocore==1.29.130
# s3transfer
cached-property==1.5.2
# via tableschema
certifi==2023.5.7
# via requests
chardet==5.1.0
# via tabulator
charset-normalizer==3.1.0
# via requests
decorator==5.1.1
# via ipython
dill==0.3.6
# via pylint
et-xmlfile==1.1.0
# via openpyxl
executing==1.2.0
@@ -62,7 +60,7 @@ linear-tsv==1.1.0
# via tabulator
matplotlib-inline==0.1.6
# via ipython
mccabe==0.6.1
mccabe==0.7.0
# via pylint
mysqlclient==2.1.0
# via apache-superset
@@ -76,6 +74,8 @@ pickleshare==0.7.5
# via ipython
pillow==9.5.0
# via apache-superset
platformdirs==3.8.1
# via pylint
progress==1.6
# via -r requirements/development.in
psycopg2-binary==2.9.6
@@ -85,7 +85,9 @@ ptyprocess==0.7.0
pure-eval==0.2.2
# via stack-data
pure-sasl==0.6.2
# via thrift-sasl
# via
# pyhive
# thrift-sasl
pyasn1==0.5.0
# via
# pyasn1-modules
@@ -94,25 +96,18 @@ pyasn1-modules==0.3.0
# via python-ldap
pydruid==0.6.5
# via apache-superset
pyhive[hive]==0.6.5
pyhive[hive_pure_sasl]==0.7.0
# via apache-superset
pyinstrument==4.4.0
# via -r requirements/development.in
pylint==2.9.6
pylint==2.17.7
# via -r requirements/development.in
python-ldap==3.4.3
# via -r requirements/development.in
requests==2.30.0
# via
# pydruid
# tableschema
# tabulator
rfc3986==2.0.0
# via tableschema
s3transfer==0.6.1
# via boto3
sasl==0.3.1
# via pyhive
sqloxide==0.1.33
# via -r requirements/development.in
stack-data==0.6.2
@@ -128,7 +123,9 @@ thrift==0.16.0
# thrift-sasl
thrift-sasl==0.4.3
# via pyhive
toml==0.10.2
tomli==2.0.1
# via pylint
tomlkit==0.11.8
# via pylint
traitlets==5.9.0
# via
-4
View File
@@ -12,10 +12,6 @@
# -r requirements/docker.in
gevent==22.10.2
# via -r requirements/docker.in
greenlet==2.0.2
# via
# -r requirements/docker.in
# gevent
psycopg2-binary==2.9.6
# via apache-superset
zope-event==4.5.0
+9 -3
View File
@@ -35,8 +35,8 @@ packaging==23.1
# pyproject-api
# tox
pip-compile-multi==2.6.3
# via -r integration.in
pip-tools==6.13.0
# via -r requirements/integration.in
pip-tools==7.3.0
# via pip-compile-multi
platformdirs==3.8.1
# via
@@ -45,13 +45,19 @@ platformdirs==3.8.1
pluggy==1.2.0
# via tox
pre-commit==3.3.3
# via -r integration.in
# via -r requirements/integration.in
pyproject-api==1.5.2
# via tox
pyproject-hooks==1.0.0
# via build
pyyaml==6.0.1
# via pre-commit
tomli==2.0.1
# via
# build
# pip-tools
# pyproject-api
# tox
toposort==1.10
# via pip-compile-multi
tox==4.6.4
+1 -1
View File
@@ -16,7 +16,7 @@
#
-r development.in
-r integration.in
-e file:.[bigquery,hive,presto,prophet,trino]
-e file:.[bigquery,hive,presto,prophet,trino,gsheets,playwright]
docker
flask-testing
freezegun
+7 -4
View File
@@ -1,4 +1,4 @@
# SHA1:78fe89f88adf34ac75513d363d7d9d0b5cc8cd1c
# SHA1:95300275481abb1413eb98a5c79fb7cf96814cdd
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -48,6 +48,7 @@ google-auth==2.17.3
# google-cloud-core
# pandas-gbq
# pydata-google-auth
# shillelagh
# sqlalchemy-bigquery
google-auth-oauthlib==1.0.0
# via
@@ -101,6 +102,8 @@ parameterized==0.9.0
# via -r requirements/testing.in
pathable==0.4.3
# via jsonschema-spec
playwright==1.37.0
# via apache-superset
prophet==1.1.1
# via apache-superset
proto-plus==1.22.2
@@ -119,7 +122,7 @@ pydata-google-auth==1.7.0
# via pandas-gbq
pyfakefs==5.2.2
# via -r requirements/testing.in
pyhive[presto]==0.6.5
pyhive[presto]==0.7.0
# via apache-superset
pytest==7.3.1
# via
@@ -140,6 +143,8 @@ rsa==4.9
# via google-auth
setuptools-git==1.2
# via prophet
shillelagh[gsheetsapi]==1.2.6
# via apache-superset
sqlalchemy-bigquery==1.6.1
# via apache-superset
statsd==4.0.1
@@ -150,8 +155,6 @@ tqdm==4.65.0
# prophet
trino==0.324.0
# via apache-superset
tzdata==2023.3
# via pytz-deprecation-shim
tzlocal==4.3
# via trino
websocket-client==1.5.1
@@ -17,6 +17,8 @@
#
set -eo pipefail
GITHUB_RELEASE_TAG_NAME="$1"
SHA=$(git rev-parse HEAD)
REPO_NAME="apache/superset"
@@ -32,10 +34,27 @@ else
LATEST_TAG="${REFSPEC}"
fi
if [[ "${REFSPEC}" == "master" ]]; then
LATEST_TAG="latest"
LATEST_TAG="master"
fi
# get the latest release tag
if [ -n "${GITHUB_RELEASE_TAG_NAME}" ]; then
output=$(source ./scripts/tag_latest_release.sh "${GITHUB_RELEASE_TAG_NAME}" --dry-run) || true
SKIP_TAG=$(echo "${output}" | grep "SKIP_TAG" | cut -d'=' -f2)
if [[ "${SKIP_TAG}" == "SKIP_TAG::false" ]]; then
LATEST_TAG="latest"
fi
fi
if [[ "${TEST_ENV}" == "true" ]]; then
# don't run the build in test environment
echo "LATEST_TAG is ${LATEST_TAG}"
exit 0
fi
cat<<EOF
Rolling with tags:
- ${REPO_NAME}:${SHA}
@@ -43,13 +62,58 @@ cat<<EOF
- ${REPO_NAME}:${LATEST_TAG}
EOF
if [ -z "${DOCKERHUB_TOKEN}" ]; then
# Skip if secrets aren't populated -- they're only visible for actions running in the repo (not on forks)
echo "Skipping Docker push"
# By default load it back
DOCKER_ARGS="--load"
ARCHITECTURE_FOR_BUILD="linux/amd64 linux/arm64"
else
# Login and push
docker logout
docker login --username "${DOCKERHUB_USER}" --password "${DOCKERHUB_TOKEN}"
DOCKER_ARGS="--push"
ARCHITECTURE_FOR_BUILD="linux/amd64,linux/arm64"
fi
set -x
# for the dev image, it's ok to tag master as latest-dev
# for production, we only want to tag the latest official release as latest
if [ "${LATEST_TAG}" = "master" ]; then
DEV_TAG="${REPO_NAME}:latest-dev"
else
DEV_TAG="${REPO_NAME}:${LATEST_TAG}-dev"
fi
#
# Build the dev image
#
docker buildx build --target dev \
$DOCKER_ARGS \
--cache-from=type=registry,ref=apache/superset:master-dev \
--cache-from=type=local,src=/tmp/superset \
--cache-to=type=local,ignore-error=true,dest=/tmp/superset \
-t "${REPO_NAME}:${SHA}-dev" \
-t "${REPO_NAME}:${REFSPEC}-dev" \
-t "${DEV_TAG}" \
--platform linux/amd64 \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=dev" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the "lean" image
#
DOCKER_BUILDKIT=1 docker build --target lean \
docker buildx build --target lean \
$DOCKER_ARGS \
--cache-from=type=local,src=/tmp/superset \
--cache-to=type=local,ignore-error=true,dest=/tmp/superset \
-t "${REPO_NAME}:${SHA}" \
-t "${REPO_NAME}:${REFSPEC}" \
-t "${REPO_NAME}:${LATEST_TAG}" \
--platform linux/amd64 \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=lean" \
@@ -59,10 +123,14 @@ DOCKER_BUILDKIT=1 docker build --target lean \
#
# Build the "lean310" image
#
DOCKER_BUILDKIT=1 docker build --target lean \
docker buildx build --target lean \
$DOCKER_ARGS \
--cache-from=type=local,src=/tmp/superset \
--cache-to=type=local,ignore-error=true,dest=/tmp/superset \
-t "${REPO_NAME}:${SHA}-py310" \
-t "${REPO_NAME}:${REFSPEC}-py310" \
-t "${REPO_NAME}:${LATEST_TAG}-py310" \
--platform linux/amd64 \
--build-arg PY_VER="3.10-slim-bookworm"\
--label "sha=${SHA}" \
--label "built_at=$(date)" \
@@ -70,49 +138,53 @@ DOCKER_BUILDKIT=1 docker build --target lean \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the "lean39" image
#
docker buildx build --target lean \
$DOCKER_ARGS \
--cache-from=type=local,src=/tmp/superset \
--cache-to=type=local,ignore-error=true,dest=/tmp/superset \
-t "${REPO_NAME}:${SHA}-py39" \
-t "${REPO_NAME}:${REFSPEC}-py39" \
-t "${REPO_NAME}:${LATEST_TAG}-py39" \
--platform linux/amd64 \
--build-arg PY_VER="3.9-slim-bullseye"\
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=lean39" \
--label "build_actor=${GITHUB_ACTOR}" \
.
for BUILD_PLATFORM in $ARCHITECTURE_FOR_BUILD; do
#
# Build the "websocket" image
#
DOCKER_BUILDKIT=1 docker build \
docker buildx build \
$DOCKER_ARGS \
--cache-from=type=registry,ref=apache/superset:master-websocket \
-t "${REPO_NAME}:${SHA}-websocket" \
-t "${REPO_NAME}:${REFSPEC}-websocket" \
-t "${REPO_NAME}:${LATEST_TAG}-websocket" \
--platform ${BUILD_PLATFORM} \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=websocket" \
--label "build_actor=${GITHUB_ACTOR}" \
superset-websocket
#
# Build the dev image
#
DOCKER_BUILDKIT=1 docker build --target dev \
-t "${REPO_NAME}:${SHA}-dev" \
-t "${REPO_NAME}:${REFSPEC}-dev" \
-t "${REPO_NAME}:${LATEST_TAG}-dev" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=dev" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the dockerize image
#
DOCKER_BUILDKIT=1 docker build \
docker buildx build \
$DOCKER_ARGS \
--cache-from=type=registry,ref=apache/superset:dockerize \
-t "${REPO_NAME}:dockerize" \
--platform ${BUILD_PLATFORM} \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "build_actor=${GITHUB_ACTOR}" \
-f dockerize.Dockerfile \
.
if [ -z "${DOCKERHUB_TOKEN}" ]; then
# Skip if secrets aren't populated -- they're only visible for actions running in the repo (not on forks)
echo "Skipping Docker push"
else
# Login and push
docker logout
docker login --username "${DOCKERHUB_USER}" --password "${DOCKERHUB_TOKEN}"
docker push --all-tags "${REPO_NAME}"
fi
done
+2 -2
View File
@@ -46,7 +46,7 @@ while (directories.length) {
// Check for existence of js, jsx, ts, and tsx files. Show a filled box if only ts and tsx,
// show an empty box if any js or jsx, and don't print the line if neither exist in the
// directory.
const hasTypescriptFiles =
const hasTypeScriptFiles =
getFilesByExtensions("./", [".ts", ".tsx"]).length > 0;
const hasJavaScriptFiles =
getFilesByExtensions("./", [".js", ".jsx"]).length > 0;
@@ -57,7 +57,7 @@ while (directories.length) {
curDirectory.split("/").length - 1
)}- [ ] \`${curDirectory}\``
);
} else if (hasTypescriptFiles) {
} else if (hasTypeScriptFiles) {
console.log(
`${" ".repeat(
curDirectory.split("/").length - 1
+1 -2
View File
@@ -32,10 +32,9 @@ fi
NAME="${1}"
if [ -z "${2}" ]; then
gpg --armor --output "${NAME}".asc --detach-sig "${NAME}"
gpg --print-md SHA512 "${NAME}" > "${NAME}".sha512
else
# The GPG key name to use
GPG_LOCAL_USER="${2}"
gpg --local-user "${GPG_LOCAL_USER}" --armor --output "${NAME}".asc --detach-sig "${NAME}"
gpg --local-user "${GPG_LOCAL_USER}" --print-md SHA512 "${NAME}" > "${NAME}".sha512
fi
shasum -a 512 "${NAME}" > "${NAME}.sha512"
+100 -38
View File
@@ -17,7 +17,7 @@
#
run_git_tag () {
if [ "$DRY_RUN" = "false" ] && [ "$SKIP_TAG" = "false" ]
if [[ "$DRY_RUN" == "false" ]] && [[ "$SKIP_TAG" == "false" ]]
then
git tag -a -f latest "${GITHUB_TAG_NAME}" -m "latest tag"
echo "${GITHUB_TAG_NAME} has been tagged 'latest'"
@@ -25,7 +25,55 @@ run_git_tag () {
exit 0
}
echo "::set-output name=SKIP_TAG::false"
###
# separating out git commands into functions so they can be mocked in unit tests
###
git_show_ref () {
if [[ "$TEST_ENV" == "true" ]]
then
if [[ "$GITHUB_TAG_NAME" == "does_not_exist" ]]
# mock return for testing only
then
echo ""
else
echo "2817aebd69dc7d199ec45d973a2079f35e5658b6 refs/tags/${GITHUB_TAG_NAME}"
fi
fi
result=$(git show-ref "${GITHUB_TAG_NAME}")
echo "${result}"
}
get_latest_tag_list () {
if [[ "$TEST_ENV" == "true" ]]
then
echo "(tag: 2.1.0, apache/2.1test)"
else
result=$(git show-ref --tags --dereference latest | awk '{print $2}' | xargs git show --pretty=tformat:%d -s | grep tag:)
echo "${result}"
fi
}
###
split_string () {
local version="$1"
local delimiter="$2"
local components=()
local tmp=""
for (( i=0; i<${#version}; i++ )); do
local char="${version:$i:1}"
if [[ "$char" != "$delimiter" ]]; then
tmp="$tmp$char"
elif [[ -n "$tmp" ]]; then
components+=("$tmp")
tmp=""
fi
done
if [[ -n "$tmp" ]]; then
components+=("$tmp")
fi
echo "${components[@]}"
}
DRY_RUN=false
# get params passed in with script when it was run
@@ -50,12 +98,14 @@ done
if [ -z "${GITHUB_TAG_NAME}" ]; then
echo "Missing tag parameter, usage: ./scripts/tag_latest_release.sh <GITHUB_TAG_NAME>"
echo "::set-output name=SKIP_TAG::true"
exit 1
fi
if [ -z "$(git show-ref ${GITHUB_TAG_NAME})" ]; then
if [ -z "$(git_show_ref)" ]; then
echo "The tag ${GITHUB_TAG_NAME} does not exist. Please use a different tag."
exit 1
echo "::set-output name=SKIP_TAG::true"
exit 0
fi
# check that this tag only contains a proper semantic version
@@ -63,36 +113,41 @@ if ! [[ ${GITHUB_TAG_NAME} =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
then
echo "This tag ${GITHUB_TAG_NAME} is not a valid release version. Not tagging."
echo "::set-output name=SKIP_TAG::true"
exit 0
exit 1
fi
## split the current GITHUB_TAG_NAME into an array at the dot
IFS=$'.'
THIS_TAG_NAME=(${GITHUB_TAG_NAME}) || echo 'not found'
THIS_TAG_NAME=$(split_string "${GITHUB_TAG_NAME}" ".")
# look up the 'latest' tag on git
LATEST_TAG_LIST=$(git show-ref latest && git show --pretty=tformat:%d -s latest | grep tag:) || echo 'not found'
LATEST_TAG_LIST=$(get_latest_tag_list) || echo 'not found'
# if 'latest' tag doesn't exist, then set this commit to latest
if [[ -z "$LATEST_TAG_LIST" ]]
then
# move on to next task
echo "there are no latest tags yet, so I'm going to start by tagging this sha as the latest"
run_git_tag
exit 0
fi
## get all tags that use the same sha as the latest tag. split at comma.
IFS=$','
LATEST_TAGS=($LATEST_TAG_LIST)
# remove parenthesis and tag: from the list of tags
LATEST_TAGS_STRINGS=$(echo "$LATEST_TAG_LIST" | sed 's/tag: \([^,]*\)/\1/g' | tr -d '()')
## loop over those tags and only take action on the one that isn't tagged 'latest'
## that one will have the version number tag
for (( i=0; i<${#LATEST_TAGS[@]}; i++ ))
LATEST_TAGS=$(split_string "$LATEST_TAGS_STRINGS" ",")
TAGS=($(split_string "$LATEST_TAGS" " "))
# Initialize a flag for comparison result
compare_result=""
# Iterate through the tags of the latest release
for tag in $TAGS
do
if [[ ${LATEST_TAGS[$i]} != *"latest"* ]]
then
if [[ $tag == "latest" ]]; then
continue
else
## extract just the version from this tag
LATEST_RELEASE_TAG=$(echo "${LATEST_TAGS[$i]}" | sed -E -e 's/tag:|\(|\)|[[:space:]]*//g')
LATEST_RELEASE_TAG="$tag"
echo "LATEST_RELEASE_TAG: ${LATEST_RELEASE_TAG}"
# check that this only contains a proper semantic version
if ! [[ ${LATEST_RELEASE_TAG} =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]
@@ -101,28 +156,35 @@ do
continue
fi
echo "The current release with the latest tag is version ${LATEST_RELEASE_TAG}"
# Split the version strings into arrays
THIS_TAG_NAME_ARRAY=($(split_string "$THIS_TAG_NAME" "."))
LATEST_RELEASE_TAG_ARRAY=($(split_string "$LATEST_RELEASE_TAG" "."))
## remove the sha from the latest tag and split into an array- split at the dot
IFS=$'.'
LATEST_RELEASE_TAG_SPLIT=(${LATEST_RELEASE_TAG})
for (( j=0; j<${#THIS_TAG_NAME[@]}; j++ ))
do
## if this value is greater than the latest release, then tag it, if it's lower, then stop, if it's
## the same then move on to the next index
if [[ ${THIS_TAG_NAME[$j]} -gt ${LATEST_RELEASE_TAG_SPLIT[$j]} ]]
then
echo "This release tag ${GITHUB_TAG_NAME} is the latest. Tagging it"
run_git_tag
elif [[ ${THIS_TAG_NAME[$j]} -lt ${LATEST_RELEASE_TAG_SPLIT[$j]} ]]
then
continue
fi
# Iterate through the components of the version strings
for (( j=0; j<${#THIS_TAG_NAME_ARRAY[@]}; j++ )); do
echo "Comparing ${THIS_TAG_NAME_ARRAY[$j]} to ${LATEST_RELEASE_TAG_ARRAY[$j]}"
if [[ $((THIS_TAG_NAME_ARRAY[$j])) > $((LATEST_RELEASE_TAG_ARRAY[$j])) ]]; then
compare_result="greater"
break
elif [[ $((THIS_TAG_NAME_ARRAY[$j])) < $((LATEST_RELEASE_TAG_ARRAY[$j])) ]]; then
compare_result="lesser"
break
fi
done
fi
done
echo "This release tag ${GITHUB_TAG_NAME} is not the latest. Not tagging."
# if you've gotten this far, then we don't want to run any tags in the next step
echo "::set-output name=SKIP_TAG::true"
# Determine the result based on the comparison
if [[ -z "$compare_result" ]]; then
echo "Versions are equal"
echo "::set-output name=SKIP_TAG::true"
elif [[ "$compare_result" == "greater" ]]; then
echo "This release tag ${GITHUB_TAG_NAME} is newer than the latest."
echo "::set-output name=SKIP_TAG::false"
# Add other actions you want to perform for a newer version
elif [[ "$compare_result" == "lesser" ]]; then
echo "This release tag ${GITHUB_TAG_NAME} is older than the latest."
echo "This release tag ${GITHUB_TAG_NAME} is not the latest. Not tagging."
# if you've gotten this far, then we don't want to run any tags in the next step
echo "::set-output name=SKIP_TAG::true"
fi
+2 -2
View File
@@ -26,7 +26,7 @@ function reset_db() {
echo --------------------
echo Resetting test DB
echo --------------------
docker-compose stop superset-tests-worker superset || true
docker compose stop superset-tests-worker superset || true
RESET_DB_CMD="psql \"postgresql://${DB_USER}:${DB_PASSWORD}@127.0.0.1:5432\" <<-EOF
DROP DATABASE IF EXISTS ${DB_NAME};
CREATE DATABASE ${DB_NAME};
@@ -38,7 +38,7 @@ function reset_db() {
EOF
"
docker exec -i superset_db bash -c "${RESET_DB_CMD}"
docker-compose start superset-tests-worker superset
docker compose start superset-tests-worker superset
}
#
+1 -1
View File
@@ -30,7 +30,7 @@ combine_as_imports = true
include_trailing_comma = true
line_length = 88
known_first_party = superset
known_third_party =alembic,apispec,backoff,celery,click,colorama,cron_descriptor,croniter,cryptography,dateutil,deprecation,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_jwt_extended,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,freezegun,geohash,geopy,holidays,humanize,isodate,jinja2,jwt,markdown,markupsafe,marshmallow,msgpack,nh3,numpy,pandas,parameterized,parsedatetime,pgsanity,pkg_resources,polyline,prison,progress,pyarrow,sqlalchemy_bigquery,pyhive,pyparsing,pytest,pytest_mock,pytz,redis,requests,selenium,setuptools,simplejson,slack,sqlalchemy,sqlalchemy_utils,sqlparse,typing_extensions,urllib3,werkzeug,wtforms,wtforms_json,yaml
known_third_party =alembic,apispec,backoff,celery,click,colorama,cron_descriptor,croniter,cryptography,dateutil,deprecation,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_jwt_extended,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,freezegun,geohash,geopy,holidays,humanize,isodate,jinja2,jwt,markdown,markupsafe,marshmallow,msgpack,nh3,numpy,pandas,parameterized,parsedatetime,pgsanity,pkg_resources,polyline,prison,progress,pyarrow,sqlalchemy_bigquery,pyhive,pyparsing,pytest,pytest_mock,pytz,redis,requests,selenium,setuptools,shillelagh,simplejson,slack,sqlalchemy,sqlalchemy_utils,sqlparse,typing_extensions,urllib3,werkzeug,wtforms,wtforms_json,yaml
multi_line_output = 3
order_by_type = false
+26 -9
View File
@@ -67,6 +67,10 @@ setup(
"sqlalchemy.dialects": [
"postgres.psycopg2 = sqlalchemy.dialects.postgresql:dialect",
"postgres = sqlalchemy.dialects.postgresql:dialect",
"superset = superset.extensions.metadb:SupersetAPSWDialect",
],
"shillelagh.adapter": [
"superset=superset.extensions.metadb:SupersetShillelaghAdapter"
],
},
install_requires=[
@@ -77,10 +81,10 @@ setup(
"colorama",
"croniter>=0.3.28",
"cron-descriptor",
"cryptography>=39.0.1, <40",
"cryptography>=41.0.2, <41.1.0",
"deprecation>=2.1.0, <2.2.0",
"flask>=2.2.5, <3.0.0",
"flask-appbuilder>=4.3.9, <5.0.0",
"flask-appbuilder>=4.3.7, <5.0.0",
"flask-caching>=1.11.1, <2.0",
"flask-compress>=1.13, <2.0",
"flask-talisman>=1.0.0, <2.0",
@@ -89,7 +93,7 @@ setup(
"flask-wtf>=1.1.0, <2.0",
"func_timeout",
"geopy",
"gunicorn>=20.1.0; sys_platform != 'win32'",
"gunicorn>=21.2.0, <22.0; sys_platform != 'win32'",
"hashids>=1.3.1, <2",
"holidays>=0.23, <0.24",
"humanize",
@@ -101,7 +105,7 @@ setup(
"nh3>=0.2.11, <0.3",
"numpy==1.23.5",
"packaging",
"pandas>=1.5.3, <1.6",
"pandas[performance]>=2.0.3, <2.1",
"parsedatetime",
"pgsanity",
"polyline>=2.0.0, <3.0",
@@ -114,6 +118,7 @@ setup(
"PyJWT>=2.4.0, <3.0",
"redis>=4.5.4, <5.0",
"selenium>=3.141.0, <4.10.0",
"shillelagh>=1.2.6,<2.0",
"shortid",
"sshtunnel>=0.4.0, <0.5",
"simplejson>=3.15.0",
@@ -149,6 +154,7 @@ setup(
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.3"],
"drill": ["sqlalchemy-drill==0.1.dev"],
"druid": ["pydruid>=0.6.5,<0.7"],
"duckdb": ["duckdb-engine==0.8.1"],
"dynamodb": ["pydynamodb>=0.4.2"],
"solr": ["sqlalchemy-solr >= 0.2.0"],
"elasticsearch": ["elasticsearch-dbapi>=0.2.9, <0.3.0"],
@@ -156,9 +162,14 @@ setup(
"excel": ["xlrd>=1.2.0, <1.3"],
"firebird": ["sqlalchemy-firebird>=0.7.0, <0.8"],
"firebolt": ["firebolt-sqlalchemy>=0.0.1"],
"gsheets": ["shillelagh[gsheetsapi]>=1.0.14, <2"],
"gsheets": ["shillelagh[gsheetsapi]>=1.2.6, <2"],
"hana": ["hdbcli==2.4.162", "sqlalchemy_hana==0.4.0"],
"hive": ["pyhive[hive]>=0.6.5", "tableschema", "thrift>=0.14.1, <1.0.0"],
"hive": [
"pyhive[hive]>=0.6.5;python_version<'3.11'",
"pyhive[hive_pure_sasl]>=0.7.0",
"tableschema",
"thrift>=0.14.1, <1.0.0",
],
"impala": ["impyla>0.16.2, <0.17"],
"kusto": ["sqlalchemy-kusto>=2.0.0, <3"],
"kylin": ["kylinpy>=2.8.1, <2.9"],
@@ -172,17 +183,23 @@ setup(
],
"oracle": ["cx-Oracle>8.0.0, <8.1"],
"pinot": ["pinotdb>=0.3.3, <0.4"],
"playwright": ["playwright>=1.37.0, <2"],
"postgres": ["psycopg2-binary==2.9.6"],
"presto": ["pyhive[presto]>=0.6.5"],
"trino": ["trino>=0.324.0"],
"prophet": ["prophet==1.1.1"],
"redshift": ["sqlalchemy-redshift>=0.8.1, < 0.9"],
"rockset": ["rockset>=0.8.10, <0.9"],
"rockset": ["rockset-sqlalchemy>=0.0.1, <1.0.0"],
"shillelagh": [
"shillelagh[datasetteapi,gsheetsapi,socrata,weatherapi]>=1.1.1, <2"
"shillelagh[datasetteapi,gsheetsapi,socrata,weatherapi]>=1.2.6,<2"
],
"snowflake": ["snowflake-sqlalchemy>=1.2.4, <2"],
"spark": ["pyhive[hive]>=0.6.5", "tableschema", "thrift>=0.14.1, <1.0.0"],
"spark": [
"pyhive[hive]>=0.6.5;python_version<'3.11'",
"pyhive[hive_pure_sasl]>=0.7.0",
"tableschema",
"thrift>=0.14.1, <1.0.0",
],
"teradata": ["teradatasql>=16.20.0.23"],
"thumbnails": ["Pillow>=9.5.0, <10.0.0"],
"vertica": ["sqlalchemy-vertica-python>=0.5.9, < 0.6"],
+1 -1
View File
@@ -72,6 +72,6 @@ This is used by consumers who install the embedded sdk via npm, yarn, or other p
Webpack is used to bundle the `bundle` directory,
for use directly in the browser with no build step e.g. when importing via unpkg.
Typescript outputs type definition files to the `dist` directory.
TypeScript outputs type definition files to the `dist` directory.
Which of these outputs is used by the library consumer is determined by our package.json's `main`, `module`, and `types` fields.

Some files were not shown because too many files have changed in this diff Show More