mage-ai 0.9.7__py3-none-any.whl → 0.9.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mage-ai might be problematic. Click here for more details.
- mage_ai/ai/constants.py +1 -0
- mage_ai/ai/generator.py +6 -0
- mage_ai/ai/{gen_doc_for_pipeline.py → generator_cmds.py} +5 -0
- mage_ai/ai/llm_pipeline_wizard.py +108 -3
- mage_ai/api/policies/BlockPolicy.py +1 -0
- mage_ai/api/policies/BlockTemplatePolicy.py +9 -0
- mage_ai/api/policies/LlmPolicy.py +3 -2
- mage_ai/api/policies/OauthAccessTokenPolicy.py +31 -0
- mage_ai/api/policies/PipelinePolicy.py +1 -0
- mage_ai/api/policies/ProjectPolicy.py +9 -0
- mage_ai/api/policies/SearchResultPolicy.py +32 -0
- mage_ai/api/policies/VariablePolicy.py +8 -0
- mage_ai/api/presenters/BlockTemplatePresenter.py +1 -0
- mage_ai/api/presenters/OauthAccessTokenPresenter.py +9 -0
- mage_ai/api/presenters/ProjectPresenter.py +2 -0
- mage_ai/api/presenters/SearchResultPresenter.py +73 -0
- mage_ai/api/resources/BlockResource.py +43 -4
- mage_ai/api/resources/BlockTemplateResource.py +15 -2
- mage_ai/api/resources/CustomTemplateResource.py +15 -3
- mage_ai/api/resources/FileContentResource.py +8 -1
- mage_ai/api/resources/FileResource.py +22 -2
- mage_ai/api/resources/OauthAccessTokenResource.py +24 -0
- mage_ai/api/resources/PipelineResource.py +70 -2
- mage_ai/api/resources/ProjectResource.py +15 -1
- mage_ai/api/resources/SearchResultResource.py +68 -0
- mage_ai/api/resources/VariableResource.py +25 -14
- mage_ai/cache/base.py +3 -0
- mage_ai/cache/block_action_object/__init__.py +282 -0
- mage_ai/cache/block_action_object/constants.py +4 -0
- mage_ai/cache/constants.py +1 -0
- mage_ai/data_integrations/destinations/constants.py +2 -0
- mage_ai/data_preparation/executors/k8s_pipeline_executor.py +1 -1
- mage_ai/data_preparation/models/block/__init__.py +20 -1
- mage_ai/data_preparation/models/block/dbt/utils/__init__.py +1 -0
- mage_ai/data_preparation/models/custom_templates/custom_block_template.py +8 -3
- mage_ai/data_preparation/models/custom_templates/utils.py +6 -3
- mage_ai/data_preparation/models/file.py +3 -0
- mage_ai/data_preparation/models/pipeline.py +10 -1
- mage_ai/data_preparation/models/{project.py → project/__init__.py} +17 -0
- mage_ai/data_preparation/models/project/constants.py +5 -0
- mage_ai/data_preparation/repo_manager.py +9 -6
- mage_ai/data_preparation/templates/constants.py +478 -1
- mage_ai/data_preparation/templates/template.py +9 -1
- mage_ai/orchestration/backfills/service.py +20 -1
- mage_ai/orchestration/db/__init__.py +25 -0
- mage_ai/orchestration/db/models/schedules.py +20 -1
- mage_ai/orchestration/pipeline_scheduler.py +23 -0
- mage_ai/server/constants.py +1 -1
- mage_ai/server/frontend_dist/404.html +2 -2
- mage_ai/server/frontend_dist/404.html.html +2 -2
- mage_ai/server/frontend_dist/_next/static/OwvTROmputQCA1Z9HEGDv/_buildManifest.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{1005-ce36fe7ed460d006.js → 1005-16c1a6678de5311e.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1424-e22139f33196c5c1.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/1484-a76b2c31e4808379.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/2485-b569baad92049d6b.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{2786-d8b593e5d7c42665.js → 2786-acce6ea0d9b4898e.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3654-573457b62efff6e2.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/3881-0eb04f7f7a244347.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{4317-b112fe7bb532b998.js → 4317-3fe63fc9401685d6.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{4822-52d9d661b6bd1ae9.js → 4822-045cc7cdd7c95163.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{547-14029bdacc0ed267.js → 547-4ad2cdae967055b6.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6299-cf188c1b7a1bc33c.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/{7815-6dc55b5fd5d1f48a.js → 7815-fbd99c8f259d9e8b.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{8312-cdc4d6c3b9f53099.js → 8312-c88a3b1012e5448b.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/{8952-492bf0e29d215ddd.js → 8952-e94a7334fcd5c68b.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/9055-d0d25298cb5f4e45.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{_app-c7557dc9e725825e.js → _app-fa38a24707c76411.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/files-b9dac983c75798f2.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/{settings-17bb362b9683079c.js → settings-453aaa7bf78f8101.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/{[user]-bfa53c0ee79920a0.js → [user]-3b502aa6d1a04cad.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users/{new-2f7e6bf8e2a37380.js → new-dd41d718cbb5990c.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users-ec748f838b7b8fad.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage-bcc24120f5911f76.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{overview-8ffbc4b0e8a43266.js → overview-6f20b9e9cbec91d6.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/backfills/{[...slug]-373f6b8c9161e819.js → [...slug]-55212dfc15881ef2.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{backfills-226bf0c5c1bfe004.js → backfills-6b4a82cd0516e121.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-0705c99df236ec8a.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{logs-4ade07836fd577c9.js → logs-c294f5d74bd2d50f.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{monitors-fd9eb711e89425e9.js → monitors-1b9e4abc54842cdf.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{runs-027666ed18d3151e.js → runs-17ebe87e94242ae5.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/settings-48b60ca236a26818.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{syncs-de58e6b91e5e4552.js → syncs-5153f4665aaf8b17.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/triggers/{[...slug]-432843576e1ed09e.js → [...slug]-1306e85191f6b47c.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/{triggers-ae31b1d0d8a4634d.js → triggers-2e731d343a26d46a.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-0fab737dbc9074fc.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/preferences-b2354688508b0755.js +1 -0
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/{users-a4f01b5c429757cc.js → users-6522c963087f18e8.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{sign-in-1140f8ee7e89381a.js → sign-in-7dcd1257ca9660bb.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/templates/{[...slug]-f59b3f04c5a49351.js → [...slug]-78a07e7fe8973811.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/{templates-dbb209ce131390a9.js → templates-19df643f52679d5a.js} +1 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/version-control-a1cf445565b68809.js +1 -0
- mage_ai/server/frontend_dist/files.html +2 -2
- mage_ai/server/frontend_dist/index.html +2 -2
- mage_ai/server/frontend_dist/manage/settings.html +2 -2
- mage_ai/server/frontend_dist/manage/users/[user].html +2 -2
- mage_ai/server/frontend_dist/manage/users/new.html +2 -2
- mage_ai/server/frontend_dist/manage/users.html +2 -2
- mage_ai/server/frontend_dist/manage.html +2 -2
- mage_ai/server/frontend_dist/overview.html +2 -2
- mage_ai/server/frontend_dist/pipeline-runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills/[...slug].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/backfills.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/edit.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/logs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors/block-runtime.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/monitors.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs/[run].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/runs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/settings.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/syncs.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers/[...slug].html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline]/triggers.html +2 -2
- mage_ai/server/frontend_dist/pipelines/[pipeline].html +2 -2
- mage_ai/server/frontend_dist/pipelines.html +2 -2
- mage_ai/server/frontend_dist/settings/account/profile.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/preferences.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/sync-data.html +2 -2
- mage_ai/server/frontend_dist/settings/workspace/users.html +2 -2
- mage_ai/server/frontend_dist/settings.html +2 -2
- mage_ai/server/frontend_dist/sign-in.html +16 -16
- mage_ai/server/frontend_dist/templates/[...slug].html +2 -2
- mage_ai/server/frontend_dist/templates.html +2 -2
- mage_ai/server/frontend_dist/terminal.html +2 -2
- mage_ai/server/frontend_dist/test.html +2 -2
- mage_ai/server/frontend_dist/triggers.html +2 -2
- mage_ai/server/frontend_dist/version-control.html +2 -2
- mage_ai/server/server.py +5 -0
- mage_ai/server/websocket_server.py +1 -0
- mage_ai/services/search/__init__.py +0 -0
- mage_ai/services/search/block_action_objects.py +33 -0
- mage_ai/services/search/constants.py +1 -0
- mage_ai/shared/array.py +7 -0
- mage_ai/shared/parsers.py +11 -2
- mage_ai/tests/shared/test_parsers.py +73 -0
- mage_ai/usage_statistics/constants.py +1 -0
- mage_ai/usage_statistics/logger.py +19 -1
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/METADATA +9 -7
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/RECORD +145 -132
- mage_ai/server/frontend_dist/_next/static/chunks/1424-de97c5aa0477894b.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/1484-c9d6bc33227070dd.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/2485-86c97f516c1abb9f.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3215-c2f5f19b650f9a50.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3654-bff4740b63cf280c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/3881-7f121dbbe6e273cd.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/6299-97f283be01adf6a8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/files-daf49c7c6f7e70f8.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage/users-1f6cb7656299cbd1.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/manage-4894eabb442a039c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/edit-a9bd86bee73b5762.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines/[pipeline]/settings-cf51793c2112915c.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/pipelines-f1131ffe0d2a4a06.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/settings/workspace/preferences-170943ca00445486.js +0 -1
- mage_ai/server/frontend_dist/_next/static/chunks/pages/version-control-2ecda1f1437013f2.js +0 -1
- mage_ai/server/frontend_dist/_next/static/tMZjCwLa1LRYRzhFRdKNf/_buildManifest.js +0 -1
- /mage_ai/server/frontend_dist/_next/static/{tMZjCwLa1LRYRzhFRdKNf → OwvTROmputQCA1Z9HEGDv}/_middlewareManifest.js +0 -0
- /mage_ai/server/frontend_dist/_next/static/{tMZjCwLa1LRYRzhFRdKNf → OwvTROmputQCA1Z9HEGDv}/_ssgManifest.js +0 -0
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/LICENSE +0 -0
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/WHEEL +0 -0
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/entry_points.txt +0 -0
- {mage_ai-0.9.7.dist-info → mage_ai-0.9.9.dist-info}/top_level.txt +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>Version control | Mage</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=0" name="viewport"/><title>Version control | Mage</title><meta name="next-head-count" content="3"/><link href="/favicon.ico" rel="icon"/><link rel="preload" href="/_next/static/css/d1e8e64d0b07af2f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d1e8e64d0b07af2f.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-5cd94c89d3acac5f.js"></script><script src="/_next/static/chunks/webpack-8f51011a10b384a1.js" defer=""></script><script src="/_next/static/chunks/framework-7c365855dab1bf41.js" defer=""></script><script src="/_next/static/chunks/main-bb0dd5375146d7fd.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fa38a24707c76411.js" defer=""></script><script src="/_next/static/chunks/844-1e171f361e63b36d.js" defer=""></script><script src="/_next/static/chunks/9902-b7981346a40ecdc3.js" defer=""></script><script src="/_next/static/chunks/7011-81dd8269c4806d26.js" defer=""></script><script src="/_next/static/chunks/7768-2325216ed654ad05.js" defer=""></script><script src="/_next/static/chunks/1424-e22139f33196c5c1.js" defer=""></script><script src="/_next/static/chunks/1005-16c1a6678de5311e.js" defer=""></script><script src="/_next/static/chunks/7815-fbd99c8f259d9e8b.js" defer=""></script><script src="/_next/static/chunks/3654-573457b62efff6e2.js" defer=""></script><script src="/_next/static/chunks/6299-cf188c1b7a1bc33c.js" defer=""></script><script src="/_next/static/chunks/pages/version-control-a1cf445565b68809.js" defer=""></script><script src="/_next/static/OwvTROmputQCA1Z9HEGDv/_buildManifest.js" defer=""></script><script src="/_next/static/OwvTROmputQCA1Z9HEGDv/_ssgManifest.js" defer=""></script><script src="/_next/static/OwvTROmputQCA1Z9HEGDv/_middlewareManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.6">html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar;}/*!sc*/
|
|
2
2
|
*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit;}/*!sc*/
|
|
3
3
|
data-styled.g4[id="sc-global-czSCUT1"]{content:"sc-global-czSCUT1,"}/*!sc*/
|
|
4
4
|
.kOVcuR .Toastify__toast-container{margin-top:24px;padding:0 !important;width:500px !important;}/*!sc*/
|
|
@@ -21,4 +21,4 @@ data-styled.g72[id="indexstyle__ContainerStyle-sc-ecogjt-0"]{content:"ijwRXz,"}/
|
|
|
21
21
|
@-webkit-keyframes animate-in{0%{width:168px;}100%{width:272px;}}/*!sc*/
|
|
22
22
|
@keyframes animate-in{0%{width:168px;}100%{width:272px;}}/*!sc*/
|
|
23
23
|
data-styled.g73[id="indexstyle__VerticalNavigationStyleComponent-sc-ecogjt-1"]{content:"jQArIy,"}/*!sc*/
|
|
24
|
-
</style></head><body><div id="__next"><div class="" style="position:fixed;top:0;left:0;height:2px;background:transparent;z-index:99999999999;width:100%"><div class="" style="height:100%;background:#FF144D;transition:all 500ms ease;width:0%"><div style="box-shadow:0 0 10px #FF144D, 0 0 10px #FF144D;width:5%;opacity:1;position:absolute;height:100%;transition:all 500ms ease;transform:rotate(3deg) translate(0px, -4px);left:-10rem"></div></div></div><div class="indexstyle__HeaderStyle-sc-1bk8irg-0 gbXfes"><div></div></div><div class="indexstyle__ContainerStyle-sc-ecogjt-0 ijwRXz"><div class="indexstyle__VerticalNavigationStyleComponent-sc-ecogjt-1 jQArIy"><div class="Spacing__SpacingStyle-sc-1mpmtgj-0 hDBiHu"><div></div></div></div><div class="Flex-sc-sgfnl9-0 dKQluW"><div></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"auth":{"decodedToken":{"expires":0,"token":null}}},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/version-control","query":{},"buildId":"
|
|
24
|
+
</style></head><body><div id="__next"><div class="" style="position:fixed;top:0;left:0;height:2px;background:transparent;z-index:99999999999;width:100%"><div class="" style="height:100%;background:#FF144D;transition:all 500ms ease;width:0%"><div style="box-shadow:0 0 10px #FF144D, 0 0 10px #FF144D;width:5%;opacity:1;position:absolute;height:100%;transition:all 500ms ease;transform:rotate(3deg) translate(0px, -4px);left:-10rem"></div></div></div><div class="indexstyle__HeaderStyle-sc-1bk8irg-0 gbXfes"><div></div></div><div class="indexstyle__ContainerStyle-sc-ecogjt-0 ijwRXz"><div class="indexstyle__VerticalNavigationStyleComponent-sc-ecogjt-1 jQArIy"><div class="Spacing__SpacingStyle-sc-1mpmtgj-0 hDBiHu"><div></div></div></div><div class="Flex-sc-sgfnl9-0 dKQluW"><div></div></div></div><div></div><div></div><div></div><div class="ToastWrapper-sc-1a33ph1-0 kOVcuR"><div class="Toastify"></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"auth":{"decodedToken":{"expires":0,"token":null}}},"currentTheme":{"accent":{"alert":"#F6540B","blue":"#4877FF","blueLight":"rgba(72, 119, 255, 0.5)","contentDefaultTransparent":"rgba(174, 174, 174, 0.5)","cyan":"#65E3FF","cyanLight":"rgba(101, 227, 255, 0.3)","cyanTransparent":"rgba(101, 227, 255, 0.12)","dbt":"#fc6949","dbtLight":"rgba(252, 105, 73, 0.5)","info":"#00ABFF","infoTransparent":"rgba(0, 171, 255, 0.5)","negative":"#FF1E59","negativeTransparent":"rgba(255, 30, 89, 0.3)","pink":"#FF4FF8","pinkLight":"rgb(255, 79, 248, 0.5)","positive":"#00A81A","primaryTransparent":"rgba(155, 108, 167, 0.5)","purple":"#7D55EC","purpleLight":"rgba(125, 85, 236, 0.5)","rose":"#D1A2AB","roseLight":"rgba(209, 162, 171, 0.5)","sky":"#6AA1E0","skyLight":"rgba(106, 161, 224, 0.05)","teal":"#00B4CC","tealLight":"rgba(0, 180, 204, 0.5)","warning":"#DD9900","warningTransparent":"rgba(221, 153, 0, 0.5)","yellow":"#FFCC19","yellowLight":"rgba(255, 204, 25, 0.5)"},"background":{"chartBlock":"#2E3036","codeArea":"#1E1F24","codeTextarea":"#000000","content":"#1B1C20","danger":"#FFD0DB","dark":"#B1B8C3","dashboard":"#18181C","header":"#1B1B1B","menu":"#0F4CFF","muted":"#F9FAFC","navigation":"#EDEDED","output":"#2E3036","page":"#1E1F24","panel":"#232429","popup":"#27292E","row":"#2C2C2C","row2":"#51535C","scrollbarThumb":"rgba(100, 100, 100, 0.5)","scrollbarThumbHover":"rgba(255, 255, 255, 0.3)","scrollbarTrack":"#2E3036","success":"#8ADE00","successLight":"rgb(138, 222, 0, 0.3)","table":"#292A2F","tag":"#3A4550"},"borders":{"button":"#454850","contrast":"#FFFFFF","danger":"#FF144D","dark":"#000000","info":"#FFCC19","light":"#2F3034","medium":"#1C1C1C","medium2":"#141414","success":"#2FCB52"},"brand":{"earth100":"#C6EEDB","earth200":"#9DDFBF","earth300":"#6BBF96","earth400":"#37A46F","earth400Transparent":"rgba(55, 164, 111, 0.4)","earth500":"#00954C","energy100":"#FFF4BA","energy200":"#FFED92","energy300":"#FFE662","energy400":"#FFDA19","energy400Transparent":"rgba(255, 218, 25, 0.04)","energy500":"#F6C000","fire100":"#FFD7E0","fire200":"#FFA3B9","fire300":"#FF547D","fire400":"#FF144D","fire400Transparent":"rgba(255, 20, 77, 0.4)","fire500":"#EB0032","stone100":"#F3E6D7","stone200":"#E3D4C2","stone400":"#BFA78B","stone500":"#AF8859","water100":"#BDCEFF","water200":"#81A1FF","water300":"#517DFF","water400":"#2A60FE","water400Transparent":"rgba(42, 96, 254, 0.4)","water500":"#0F4CFF","wind100":"#EEEAFF","wind200":"#CCC1F4","wind300":"#A698DD","wind400":"#6B50D7","wind400SuperTransparent":"rgba(107, 80, 215, 0.12)","wind400Transparent":"rgba(107, 80, 215, 0.4)","wind500":"#4E32BC"},"chart":{"backgroundPrimary":"#7D55EC","backgroundSecondary":"#FF144D","backgroundTertiary":"#86E2FF","button1":"#4877FF","button2":"#FFCC19","button3":"#8ADE00","button4":"#FF4FF8","button5":"#B98D95","lines":"#9B6CA7","primary":"#6B50D7","secondary":"#FF144D","tertiary":"#2A60FE"},"content":{"active":"#FFFFFF","default":"#AEAEAE","disabled":"rgba(255, 255, 255, 0.3)","inverted":"#2C2C2C","muted":"#787A85"},"elevation":{"visualizationAccent":"#996CFF","visualizationAccentAlt":"#C1ACF7"},"feature":{"active":"rgba(250, 248, 254, 0.14)","disabled":"rgba(201, 206, 218, 0.12)"},"icons":{"neutral":"#787878"},"interactive":{"activeBorder":"#060606","checked":"#060606","dangerBorder":"#FF144D","defaultBackground":"#36383F","defaultBorder":"#2E3036","disabledBorder":"#B1B8C3","focusBackground":"#B1B8C3","focusBorder":"#86E2FF","hoverBackground":"#4E4E4E","hoverBorder":"#B9BFCA","hoverOverlay":"rgba(255, 255, 255, 0.1)","linkPrimary":"#1752FF","linkPrimaryHover":"#4877FF","linkPrimaryLight":"#5982ff","linkSecondary":"#6B50D7","linkSecondaryDisabled":"#C4B9EF","linkText":"#6AA1E0","rowHoverBackground":"rgba(0, 0, 0, 0.1)","transparent":"rgba(255, 255, 255, 0)"},"loader":{"color":"#EB0032","colorInverted":"#8ADE00"},"logo":{"color":"#FFFFFF"},"monotone":{"black":"#060606","blackTransparent":"rgba(0, 0, 0, 0.6)","gray":"#B1B8C3","grey100":"#F2F2F2","grey200":"#D5D7DC","grey300":"#B4B8C0","grey400":"#70747C","grey500":"#51535C","purple":"#6B50D7","white":"#FFFFFF"},"neutral":{"n100":"#E7E8EA","n200":"#D8DADE","n300":"#CBCCD0","n400":"#BCBEC4","n500":"#AEB0B6"},"progress":{"negative":"#FF144D","positive":"#6B50D7"},"shadow":{"base":"12px 40px 120px rgba(106, 117, 139, 0.4)","frame":"0px 10px 40px rgba(0, 0, 0, 0.26)","menu":"4px 10px 20px rgba(6, 6, 6, 0.12)","popup":"10px 20px 40px rgba(0, 0, 0, 0.2)","small":"0px, 4px, rgba(0, 0, 0, 0.25)","window":"0px 10px 60px rgba(0, 0, 0, 0.7)"},"status":{"negative":"#FF144D","positive":"#24B400"},"text":{"fileBrowser":"#787A85"}}},"page":"/version-control","query":{},"buildId":"OwvTROmputQCA1Z9HEGDv","nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
mage_ai/server/server.py
CHANGED
|
@@ -15,6 +15,7 @@ from tornado.options import options
|
|
|
15
15
|
|
|
16
16
|
from mage_ai.authentication.passwords import create_bcrypt_hash, generate_salt
|
|
17
17
|
from mage_ai.cache.block import BlockCache
|
|
18
|
+
from mage_ai.cache.block_action_object import BlockActionObjectCache
|
|
18
19
|
from mage_ai.cache.tag import TagCache
|
|
19
20
|
from mage_ai.data_preparation.preferences import get_preferences
|
|
20
21
|
from mage_ai.data_preparation.repo_manager import (
|
|
@@ -300,9 +301,13 @@ async def main(
|
|
|
300
301
|
|
|
301
302
|
print('Initializing block cache.')
|
|
302
303
|
await BlockCache.initialize_cache(replace=True)
|
|
304
|
+
|
|
303
305
|
print('Initializing tag cache.')
|
|
304
306
|
await TagCache.initialize_cache(replace=True)
|
|
305
307
|
|
|
308
|
+
print('Initializing block action object cache.')
|
|
309
|
+
await BlockActionObjectCache.initialize_cache(replace=True)
|
|
310
|
+
|
|
306
311
|
# Check scheduler status periodically
|
|
307
312
|
periodic_callback = PeriodicCallback(
|
|
308
313
|
check_scheduler_status,
|
|
@@ -238,6 +238,7 @@ class WebSocketServer(tornado.websocket.WebSocketHandler):
|
|
|
238
238
|
global_vars['interval_end_datetime'] = None
|
|
239
239
|
global_vars['interval_seconds'] = None
|
|
240
240
|
global_vars['interval_start_datetime'] = now
|
|
241
|
+
global_vars['interval_start_datetime_previous'] = None
|
|
241
242
|
|
|
242
243
|
global_vars['event'] = dict()
|
|
243
244
|
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from thefuzz import fuzz
|
|
2
|
+
from typing import List
|
|
3
|
+
from mage_ai.cache.block_action_object import BlockActionObjectCache
|
|
4
|
+
|
|
5
|
+
DEFAULT_RATIO = 80
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
async def search(query: str, ratio: float = None, limit: int = None) -> List:
|
|
9
|
+
ratio_to_use = ratio or DEFAULT_RATIO
|
|
10
|
+
|
|
11
|
+
cache = await BlockActionObjectCache.initialize_cache()
|
|
12
|
+
|
|
13
|
+
results = []
|
|
14
|
+
|
|
15
|
+
for object_type, mapping in cache.load_all_data().items():
|
|
16
|
+
for uuid, block_action_object in mapping.items():
|
|
17
|
+
score = fuzz.partial_token_sort_ratio(query, uuid)
|
|
18
|
+
if score < ratio_to_use:
|
|
19
|
+
continue
|
|
20
|
+
|
|
21
|
+
results.append(dict(
|
|
22
|
+
block_action_object=block_action_object,
|
|
23
|
+
object_type=object_type,
|
|
24
|
+
score=score,
|
|
25
|
+
uuid=uuid,
|
|
26
|
+
))
|
|
27
|
+
|
|
28
|
+
arr = sorted(results, key=lambda x: x['score'], reverse=True)
|
|
29
|
+
|
|
30
|
+
if limit:
|
|
31
|
+
arr = arr[:limit]
|
|
32
|
+
|
|
33
|
+
return arr
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
SEARCH_TYPE_BLOCK_ACTION_OBJECTS = 'block_action_objects'
|
mage_ai/shared/array.py
CHANGED
|
@@ -24,6 +24,13 @@ def find(condition, arr, map=None):
|
|
|
24
24
|
return None
|
|
25
25
|
|
|
26
26
|
|
|
27
|
+
def find_index(condition, arr):
|
|
28
|
+
for idx, item in enumerate(arr):
|
|
29
|
+
if condition(item):
|
|
30
|
+
return idx
|
|
31
|
+
return -1
|
|
32
|
+
|
|
33
|
+
|
|
27
34
|
def sample(arr):
|
|
28
35
|
return arr[random.randrange(0, len(arr))]
|
|
29
36
|
|
mage_ai/shared/parsers.py
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
from json import JSONDecoder
|
|
3
|
+
|
|
3
4
|
import numpy as np
|
|
4
5
|
|
|
5
6
|
INTS = (
|
|
@@ -46,13 +47,15 @@ def encode_complex(obj):
|
|
|
46
47
|
return obj
|
|
47
48
|
|
|
48
49
|
|
|
49
|
-
def extract_json_objects(text, decoder=
|
|
50
|
+
def extract_json_objects(text, decoder=None):
|
|
50
51
|
"""Find JSON objects in text, and yield the decoded JSON data
|
|
51
52
|
|
|
52
53
|
Does not attempt to look for JSON arrays, text, or other JSON types outside
|
|
53
54
|
of a parent JSON object.
|
|
54
55
|
|
|
55
56
|
"""
|
|
57
|
+
if decoder is None:
|
|
58
|
+
decoder = JSONDecoder()
|
|
56
59
|
pos = 0
|
|
57
60
|
while True:
|
|
58
61
|
match = text.find('{', pos)
|
|
@@ -69,7 +72,13 @@ def extract_json_objects(text, decoder=JSONDecoder()):
|
|
|
69
72
|
def sample_output(obj):
|
|
70
73
|
if isinstance(obj, list):
|
|
71
74
|
sampled = len(obj) > MAX_ITEMS_IN_SAMPLE_OUTPUT
|
|
72
|
-
|
|
75
|
+
sampled_list = []
|
|
76
|
+
for item in obj[:MAX_ITEMS_IN_SAMPLE_OUTPUT]:
|
|
77
|
+
item, item_sampled = sample_output(item)
|
|
78
|
+
if item_sampled:
|
|
79
|
+
sampled = True
|
|
80
|
+
sampled_list.append(item)
|
|
81
|
+
return sampled_list, sampled
|
|
73
82
|
elif isinstance(obj, dict):
|
|
74
83
|
sampled = False
|
|
75
84
|
output = dict()
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
from mage_ai.shared.parsers import sample_output
|
|
2
|
+
from mage_ai.tests.base_test import TestCase
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class ParsersTests(TestCase):
|
|
6
|
+
def test_sample_output_empty_input(self):
|
|
7
|
+
self.assertEqual(sample_output([]), ([], False))
|
|
8
|
+
self.assertEqual(sample_output({}), ({}, False))
|
|
9
|
+
|
|
10
|
+
def test_sample_output_no_sampling(self):
|
|
11
|
+
input_data = [1, 2, 3]
|
|
12
|
+
self.assertEqual(sample_output(input_data), (input_data, False))
|
|
13
|
+
|
|
14
|
+
input_data = {'key': 'value', 'nested': {'inner': 'data'}}
|
|
15
|
+
self.assertEqual(sample_output(input_data), (input_data, False))
|
|
16
|
+
|
|
17
|
+
def test_sample_output_sampling_list(self):
|
|
18
|
+
# A nested list with more than 20 items, should be sampled
|
|
19
|
+
input_data = [i for i in range(30)]
|
|
20
|
+
expected_output = ([i for i in range(20)], True)
|
|
21
|
+
self.assertEqual(sample_output(input_data), expected_output)
|
|
22
|
+
|
|
23
|
+
def test_sample_output_sampling_dict(self):
|
|
24
|
+
input_data = {'key{}'.format(i): i for i in range(30)}
|
|
25
|
+
expected_output = ({'key{}'.format(i): i for i in range(30)}, False)
|
|
26
|
+
self.assertEqual(sample_output(input_data), expected_output)
|
|
27
|
+
|
|
28
|
+
def test_sample_output_sampling_mixed(self):
|
|
29
|
+
# A mixed structure with a nested list and dictionary, both exceeding the threshold
|
|
30
|
+
input_data = {'key1': [i for i in range(30)], 'key2': {'inner_key': [i for i in range(30)]}}
|
|
31
|
+
expected_output = (
|
|
32
|
+
{
|
|
33
|
+
'key1': [i for i in range(20)],
|
|
34
|
+
'key2': {'inner_key': [i for i in range(20)]}
|
|
35
|
+
},
|
|
36
|
+
True,
|
|
37
|
+
)
|
|
38
|
+
self.assertEqual(sample_output(input_data), expected_output)
|
|
39
|
+
|
|
40
|
+
input_data2 = {
|
|
41
|
+
'key1': [
|
|
42
|
+
{
|
|
43
|
+
'subkey_1': [i for i in range(30)],
|
|
44
|
+
'subkey_2': {
|
|
45
|
+
'subkey_21': {
|
|
46
|
+
'subkey_211': [i for i in range(30)]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
'subkey_3': [1, 2, 3],
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
expected_output2 = (
|
|
56
|
+
{
|
|
57
|
+
'key1': [
|
|
58
|
+
{
|
|
59
|
+
'subkey_1': [i for i in range(20)],
|
|
60
|
+
'subkey_2': {
|
|
61
|
+
'subkey_21': {
|
|
62
|
+
'subkey_211': [i for i in range(20)]
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
'subkey_3': [1, 2, 3],
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
True,
|
|
72
|
+
)
|
|
73
|
+
self.assertEqual(sample_output(input_data2), expected_output2)
|
|
@@ -22,7 +22,25 @@ class UsageStatisticLogger():
|
|
|
22
22
|
if not self.help_improve_mage:
|
|
23
23
|
return False
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
features = {}
|
|
26
|
+
|
|
27
|
+
for k, v in (self.project.features or {}).items():
|
|
28
|
+
features[k] = 1 if v else 0
|
|
29
|
+
|
|
30
|
+
if self.project.repo_config.openai_api_key and \
|
|
31
|
+
len(self.project.repo_config.openai_api_key) >= 1:
|
|
32
|
+
|
|
33
|
+
features['openai'] = 1
|
|
34
|
+
else:
|
|
35
|
+
features['openai'] = 0
|
|
36
|
+
|
|
37
|
+
return await self.__send_message(
|
|
38
|
+
EventObjectType.PROJECT,
|
|
39
|
+
EventActionType.IMPRESSION,
|
|
40
|
+
dict(
|
|
41
|
+
features=features,
|
|
42
|
+
),
|
|
43
|
+
)
|
|
26
44
|
|
|
27
45
|
@safe_db_query
|
|
28
46
|
async def pipeline_runs_impression(self, count_func: Callable) -> bool:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mage-ai
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.9
|
|
4
4
|
Summary: Mage is a tool for building and deploying data pipelines.
|
|
5
5
|
Home-page: https://github.com/mage-ai/mage-ai
|
|
6
6
|
Author: Mage
|
|
@@ -53,6 +53,7 @@ Requires-Dist: simplejson
|
|
|
53
53
|
Requires-Dist: six (>=1.15.0)
|
|
54
54
|
Requires-Dist: sqlalchemy (<2.0.0,>=1.4.20)
|
|
55
55
|
Requires-Dist: terminado (==0.17.1)
|
|
56
|
+
Requires-Dist: thefuzz[speedup] (==0.19.0)
|
|
56
57
|
Requires-Dist: tornado (==6.1)
|
|
57
58
|
Requires-Dist: typer[all] (==0.7.0)
|
|
58
59
|
Requires-Dist: typing-extensions (==4.5.0)
|
|
@@ -73,9 +74,9 @@ Requires-Dist: botocore (==1.29.60) ; extra == 'all'
|
|
|
73
74
|
Requires-Dist: clickhouse-connect (==0.5.20) ; extra == 'all'
|
|
74
75
|
Requires-Dist: confluent-avro ; extra == 'all'
|
|
75
76
|
Requires-Dist: db-dtypes (==1.0.5) ; extra == 'all'
|
|
76
|
-
Requires-Dist: dbt-bigquery (==1.4.
|
|
77
|
-
Requires-Dist: dbt-core (==1.4.
|
|
78
|
-
Requires-Dist: dbt-postgres (==1.4.
|
|
77
|
+
Requires-Dist: dbt-bigquery (==1.4.3) ; extra == 'all'
|
|
78
|
+
Requires-Dist: dbt-core (==1.4.6) ; extra == 'all'
|
|
79
|
+
Requires-Dist: dbt-postgres (==1.4.6) ; extra == 'all'
|
|
79
80
|
Requires-Dist: dbt-redshift (==1.4.0) ; extra == 'all'
|
|
80
81
|
Requires-Dist: dbt-snowflake (==1.4.0) ; extra == 'all'
|
|
81
82
|
Requires-Dist: dbt-spark (==1.4.0) ; extra == 'all'
|
|
@@ -106,6 +107,7 @@ Requires-Dist: redshift-connector (==2.0.909) ; extra == 'all'
|
|
|
106
107
|
Requires-Dist: requests-aws4auth (==1.1.2) ; extra == 'all'
|
|
107
108
|
Requires-Dist: snowflake-connector-python (==2.7.9) ; extra == 'all'
|
|
108
109
|
Requires-Dist: sshtunnel (==0.4.0) ; extra == 'all'
|
|
110
|
+
Requires-Dist: thefuzz[speedup] (==0.19.0) ; extra == 'all'
|
|
109
111
|
Provides-Extra: azure
|
|
110
112
|
Requires-Dist: azure-eventhub (==5.11.2) ; extra == 'azure'
|
|
111
113
|
Requires-Dist: azure-identity (==1.11.0) ; extra == 'azure'
|
|
@@ -119,9 +121,9 @@ Requires-Dist: db-dtypes (==1.0.5) ; extra == 'bigquery'
|
|
|
119
121
|
Provides-Extra: clickhouse
|
|
120
122
|
Requires-Dist: clickhouse-connect (==0.5.20) ; extra == 'clickhouse'
|
|
121
123
|
Provides-Extra: dbt
|
|
122
|
-
Requires-Dist: dbt-bigquery (==1.4.
|
|
123
|
-
Requires-Dist: dbt-core (==1.4.
|
|
124
|
-
Requires-Dist: dbt-postgres (==1.4.
|
|
124
|
+
Requires-Dist: dbt-bigquery (==1.4.3) ; extra == 'dbt'
|
|
125
|
+
Requires-Dist: dbt-core (==1.4.6) ; extra == 'dbt'
|
|
126
|
+
Requires-Dist: dbt-postgres (==1.4.6) ; extra == 'dbt'
|
|
125
127
|
Requires-Dist: dbt-redshift (==1.4.0) ; extra == 'dbt'
|
|
126
128
|
Requires-Dist: dbt-snowflake (==1.4.0) ; extra == 'dbt'
|
|
127
129
|
Requires-Dist: dbt-spark (==1.4.0) ; extra == 'dbt'
|