Flowfile 0.3.6__py3-none-any.whl → 0.3.7__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 Flowfile might be problematic. Click here for more details.
- flowfile/__init__.py +27 -6
- flowfile/api.py +1 -0
- flowfile/web/__init__.py +2 -2
- flowfile/web/static/assets/{CloudConnectionManager-d004942f.js → CloudConnectionManager-c20a740f.js} +3 -4
- flowfile/web/static/assets/{CloudStorageReader-eccf9fc2.js → CloudStorageReader-960b400a.js} +7 -7
- flowfile/web/static/assets/{CloudStorageWriter-b1ba6bba.js → CloudStorageWriter-e3decbdd.js} +7 -7
- flowfile/web/static/assets/{CrossJoin-68981877.js → CrossJoin-d67e2405.js} +8 -8
- flowfile/web/static/assets/{DatabaseConnectionSettings-0b06649c.js → DatabaseConnectionSettings-a81e0f7e.js} +2 -2
- flowfile/web/static/assets/{DatabaseManager-8349a426.js → DatabaseManager-9ea35e84.js} +2 -2
- flowfile/web/static/assets/{DatabaseReader-905344f8.js → DatabaseReader-9578bfa5.js} +9 -9
- flowfile/web/static/assets/{DatabaseWriter-9f5b8638.js → DatabaseWriter-19531098.js} +9 -9
- flowfile/web/static/assets/{ExploreData-131a6d53.js → ExploreData-40476474.js} +47141 -43697
- flowfile/web/static/assets/{ExternalSource-e3549dcc.js → ExternalSource-2297ef96.js} +6 -6
- flowfile/web/static/assets/{Filter-6e0730ae.js → Filter-f211c03a.js} +8 -8
- flowfile/web/static/assets/{Formula-02f033e6.js → Formula-4207ea31.js} +8 -8
- flowfile/web/static/assets/{FuzzyMatch-54c14036.js → FuzzyMatch-bf120df0.js} +9 -9
- flowfile/web/static/assets/{GraphSolver-08a3f499.js → GraphSolver-5bb7497a.js} +5 -5
- flowfile/web/static/assets/{GroupBy-2ae38139.js → GroupBy-92c81b65.js} +6 -6
- flowfile/web/static/assets/{Join-493b9772.js → Join-4e49a274.js} +9 -9
- flowfile/web/static/assets/{ManualInput-4373d163.js → ManualInput-90998ae8.js} +5 -5
- flowfile/web/static/assets/{Output-b534f3c7.js → Output-81e3e917.js} +4 -4
- flowfile/web/static/assets/{Pivot-2968ff65.js → Pivot-a3419842.js} +6 -6
- flowfile/web/static/assets/{PolarsCode-65136536.js → PolarsCode-72710deb.js} +6 -6
- flowfile/web/static/assets/{Read-c56339ed.js → Read-c4059daf.js} +6 -6
- flowfile/web/static/assets/{RecordCount-1c641a5e.js → RecordCount-c2b5e095.js} +5 -5
- flowfile/web/static/assets/{RecordId-df308b8f.js → RecordId-10baf191.js} +6 -6
- flowfile/web/static/assets/{Sample-293e8a64.js → Sample-3ed9a0ae.js} +5 -5
- flowfile/web/static/assets/{SecretManager-03911655.js → SecretManager-0d49c0e8.js} +2 -2
- flowfile/web/static/assets/{Select-3058a13d.js → Select-8a02a0b3.js} +8 -8
- flowfile/web/static/assets/{SettingsSection-fbf4fb39.js → SettingsSection-4c0f45f5.js} +1 -1
- flowfile/web/static/assets/{Sort-a29bbaf7.js → Sort-f55c9f9d.js} +6 -6
- flowfile/web/static/assets/{TextToRows-c7d7760e.js → TextToRows-5dbc2145.js} +8 -8
- flowfile/web/static/assets/{UnavailableFields-118f1d20.js → UnavailableFields-a1768e52.js} +2 -2
- flowfile/web/static/assets/{Union-f0589571.js → Union-f2aefdc9.js} +5 -5
- flowfile/web/static/assets/{Unique-7329a207.js → Unique-46b250da.js} +8 -8
- flowfile/web/static/assets/{Unpivot-30b0be15.js → Unpivot-25ac84cc.js} +5 -5
- flowfile/web/static/assets/{api-fb67319c.js → api-6ef0dcef.js} +1 -1
- flowfile/web/static/assets/{api-602fb95c.js → api-a0abbdc7.js} +1 -1
- flowfile/web/static/assets/{designer-94a6bf4d.js → designer-13eabd83.js} +4 -4
- flowfile/web/static/assets/{documentation-a224831e.js → documentation-b87e7f6f.js} +1 -1
- flowfile/web/static/assets/{dropDown-c2d2aa97.js → dropDown-13564764.js} +1 -1
- flowfile/web/static/assets/{fullEditor-921ac5fd.js → fullEditor-fd2cd6f9.js} +2 -2
- flowfile/web/static/assets/{genericNodeSettings-7013cc94.js → genericNodeSettings-71e11604.js} +3 -3
- flowfile/web/static/assets/{index-3a75211d.js → index-f6c15e76.js} +46 -22
- flowfile/web/static/assets/{nodeTitle-a63d4680.js → nodeTitle-988d9efe.js} +3 -3
- flowfile/web/static/assets/{secretApi-763aec6e.js → secretApi-dd636aa2.js} +1 -1
- flowfile/web/static/assets/{selectDynamic-08464729.js → selectDynamic-af36165e.js} +3 -3
- flowfile/web/static/assets/{vue-codemirror.esm-f15a5f87.js → vue-codemirror.esm-2847001e.js} +1 -1
- flowfile/web/static/assets/{vue-content-loader.es-93bd09d7.js → vue-content-loader.es-0371da73.js} +1 -1
- flowfile/web/static/index.html +1 -1
- {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/METADATA +2 -2
- {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/RECORD +96 -94
- flowfile_core/__init__.py +1 -0
- flowfile_core/auth/jwt.py +39 -0
- flowfile_core/configs/node_store/nodes.py +1 -0
- flowfile_core/configs/settings.py +6 -5
- flowfile_core/flowfile/code_generator/code_generator.py +71 -0
- flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py +1 -1
- flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +597 -309
- flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +3 -1
- flowfile_core/flowfile/flow_graph.py +619 -191
- flowfile_core/flowfile/flow_graph_utils.py +2 -2
- flowfile_core/flowfile/flow_node/flow_node.py +500 -89
- flowfile_core/flowfile/flow_node/models.py +125 -20
- flowfile_core/flowfile/handler.py +2 -33
- flowfile_core/flowfile/manage/open_flowfile.py +1 -2
- flowfile_core/flowfile/util/calculate_layout.py +0 -2
- flowfile_core/flowfile/utils.py +36 -5
- flowfile_core/main.py +32 -13
- flowfile_core/routes/cloud_connections.py +7 -11
- flowfile_core/routes/logs.py +2 -6
- flowfile_core/routes/public.py +1 -0
- flowfile_core/routes/routes.py +127 -51
- flowfile_core/routes/secrets.py +72 -14
- flowfile_core/schemas/__init__.py +8 -0
- flowfile_core/schemas/input_schema.py +92 -64
- flowfile_core/schemas/output_model.py +19 -3
- flowfile_core/schemas/schemas.py +144 -11
- flowfile_core/schemas/transform_schema.py +82 -17
- flowfile_frame/__init__.py +9 -1
- flowfile_frame/cloud_storage/__init__.py +0 -0
- flowfile_frame/cloud_storage/frame_helpers.py +39 -0
- flowfile_frame/cloud_storage/secret_manager.py +73 -0
- flowfile_frame/expr.py +28 -1
- flowfile_frame/expr.pyi +76 -61
- flowfile_frame/flow_frame.py +232 -110
- flowfile_frame/flow_frame.pyi +140 -91
- flowfile_frame/flow_frame_methods.py +150 -12
- flowfile_frame/group_frame.py +3 -0
- flowfile_frame/utils.py +25 -3
- test_utils/s3/data_generator.py +1 -0
- test_utils/s3/demo_data_generator.py +186 -0
- test_utils/s3/fixtures.py +6 -1
- flowfile_core/schemas/defaults.py +0 -9
- flowfile_core/schemas/models.py +0 -193
- {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/LICENSE +0 -0
- {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/WHEEL +0 -0
- {flowfile-0.3.6.dist-info → flowfile-0.3.7.dist-info}/entry_points.txt +0 -0
|
@@ -1,84 +1,84 @@
|
|
|
1
1
|
build_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
build_backends/main.py,sha256=hLmfqTeHLSTiwwZ5mUuoLQgtO40Igvl1_4NbnvzWSgI,9912
|
|
3
3
|
build_backends/main_prd.py,sha256=JR2tYCMWM5ThooQjv5pw6nwVKMQjgsiHgKMhYn9NXWI,6927
|
|
4
|
-
flowfile/__init__.py,sha256=
|
|
4
|
+
flowfile/__init__.py,sha256=kQ10o5ueV_t_wRXShd1FTlLmCpGxeS4InxA6VurC7UE,4025
|
|
5
5
|
flowfile/__main__.py,sha256=cpWeAL9Xw2qHfm52ZCAQzQhjoOAmVFSXPL-8MrnWAxA,2540
|
|
6
|
-
flowfile/api.py,sha256=
|
|
7
|
-
flowfile/web/__init__.py,sha256=
|
|
6
|
+
flowfile/api.py,sha256=TDxw2g6cF_A94jTDAwTEnVyve99i3UJMjC9D0z8KgSg,18720
|
|
7
|
+
flowfile/web/__init__.py,sha256=DMbHVQ2yVopshBQr5dBIn7hqrxO9RqCdwc_CA9Kd6F0,5780
|
|
8
8
|
flowfile/web/static/assets/CloudConnectionManager-2dfdce2f.css,sha256=Lf3OL7Vgg7ns0m6C0FiCNY0h4vgKALPrvTTkETjQmdc,1621
|
|
9
|
-
flowfile/web/static/assets/CloudConnectionManager-
|
|
9
|
+
flowfile/web/static/assets/CloudConnectionManager-c20a740f.js,sha256=HCr-EGu2ZPo3ZEcEU5ILcDd8zHCQaFjuZh4FpgGUSqQ,35768
|
|
10
10
|
flowfile/web/static/assets/CloudStorageReader-29d14fcc.css,sha256=KdFPzPpEdf69gKbDLTPG_bk5QvJKaFXLloUjfzg67-s,3154
|
|
11
|
-
flowfile/web/static/assets/CloudStorageReader-
|
|
11
|
+
flowfile/web/static/assets/CloudStorageReader-960b400a.js,sha256=likrJ4fbPN4tK5Bl-6KnfwcjD6HSnGuvPejHPaI6Syk,20147
|
|
12
12
|
flowfile/web/static/assets/CloudStorageWriter-49c9a4b2.css,sha256=Scmkso12uXmZ-tGW6vuK9WvXZVKKe74q1Zb0Fdgo44s,3145
|
|
13
|
-
flowfile/web/static/assets/CloudStorageWriter-
|
|
13
|
+
flowfile/web/static/assets/CloudStorageWriter-e3decbdd.js,sha256=yStJaEUqpNc85m3ImAAIFGCyxf9i6wJnWpzagt2A-dM,19734
|
|
14
14
|
flowfile/web/static/assets/CrossJoin-41efa4cb.css,sha256=Qe-ky2QI7rYfXMKV-bCB5HP0OJ6uBU74g9EEmcpXTlc,2838
|
|
15
|
-
flowfile/web/static/assets/CrossJoin-
|
|
16
|
-
flowfile/web/static/assets/DatabaseConnectionSettings-0b06649c.js,sha256=z0h8xSkWzSWZ6z3TPsUxliwr4KYFYkdYxb5exHoqY1k,6563
|
|
15
|
+
flowfile/web/static/assets/CrossJoin-d67e2405.js,sha256=4NBPV78gIAgzTKCpNa2HXOPtxTmoCikGKU9DyKqt5sM,5904
|
|
17
16
|
flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css,sha256=DASy5awRYSMypTwMX6ksZtrVQhtp1ViT0Jowclr_uLA,1975
|
|
17
|
+
flowfile/web/static/assets/DatabaseConnectionSettings-a81e0f7e.js,sha256=nAJF8Xuks7cL9kOmJUGLp3uFKMexp87G_vhB5pSQEZA,6563
|
|
18
18
|
flowfile/web/static/assets/DatabaseManager-30fa27e5.css,sha256=MPon5eN71wE49i0Ecfy9LQoGX75ArlRNOGWVb28xGlI,1242
|
|
19
|
-
flowfile/web/static/assets/DatabaseManager-
|
|
20
|
-
flowfile/web/static/assets/DatabaseReader-
|
|
19
|
+
flowfile/web/static/assets/DatabaseManager-9ea35e84.js,sha256=SJ0Sp7LRnsBkRHQCcwKbY2G1utNMxLbK-GzwDHrUw84,21191
|
|
20
|
+
flowfile/web/static/assets/DatabaseReader-9578bfa5.js,sha256=nmNU-Jc4mFK4Y_Lh7BICD5k22qNBzleDVBgfrYmvsKs,18471
|
|
21
21
|
flowfile/web/static/assets/DatabaseReader-f50c6558.css,sha256=9QxlWNkGS95WJhX7_bD4CrN3BcammfwfMl6HkbdOTEE,3741
|
|
22
|
+
flowfile/web/static/assets/DatabaseWriter-19531098.js,sha256=6n0S7BrN12Pibk5R8Q8O4sfV0opsspdVNRJY06EE7yA,13879
|
|
22
23
|
flowfile/web/static/assets/DatabaseWriter-2f570e53.css,sha256=L1cOU0rF-auXKMDQEYPI8F1SCgfjW64rTSEFSNfanlw,2453
|
|
23
|
-
flowfile/web/static/assets/
|
|
24
|
-
flowfile/web/static/assets/ExploreData-131a6d53.js,sha256=qrQ4Q3zVHsOuZGPVeGV4iIdeZ0P9Ux94ZeEJN6cIkfg,5479762
|
|
24
|
+
flowfile/web/static/assets/ExploreData-40476474.js,sha256=tpumfJiJzy1Ts77pNcQjQ59b8LtEDYE3RFEiJoisqio,5592916
|
|
25
25
|
flowfile/web/static/assets/ExploreData-5bdae813.css,sha256=W9roE_zrPPgD0dajRpedNal0_7jod1WLMiMgIuMt1qM,1095
|
|
26
|
-
flowfile/web/static/assets/ExternalSource-
|
|
26
|
+
flowfile/web/static/assets/ExternalSource-2297ef96.js,sha256=9CkO5qeByMYrdypzjSb4h_4zAhE2x0T3-69PKG2SnKo,8002
|
|
27
27
|
flowfile/web/static/assets/ExternalSource-e37b6275.css,sha256=43tidVv7Ch_x09-4F3WHgzkLNuQfT_xFBh7zi75Fft8,2316
|
|
28
|
-
flowfile/web/static/assets/Filter-6e0730ae.js,sha256=TQ3DxmfrSE6rVFHlOT33QIAhAVIRu1fLvqObbedqCoE,10427
|
|
29
28
|
flowfile/web/static/assets/Filter-a9d08ba1.css,sha256=qdCLoUHadYgx2Ip748TA_O6XyCUTEcE8QuLmJvruWEY,781
|
|
30
|
-
flowfile/web/static/assets/
|
|
29
|
+
flowfile/web/static/assets/Filter-f211c03a.js,sha256=iqkyuH2uZG6HaZLOpvH5S4sKtovBWRAksJDOd34Ie8U,10427
|
|
31
30
|
flowfile/web/static/assets/Formula-29f19d21.css,sha256=KfGdIQEtNjgW2AAtOk74JeggrYq0oiQOhfCVys5L-Q8,671
|
|
32
|
-
flowfile/web/static/assets/
|
|
31
|
+
flowfile/web/static/assets/Formula-4207ea31.js,sha256=c8qaKdO16O7Ayen5cIB_IoDGFPcu6OAWv_qesKc_urI,9674
|
|
33
32
|
flowfile/web/static/assets/FuzzyMatch-6857de82.css,sha256=aFfegjmKGaavTjs7g4sPI3Cyf3eu4y0flFzODZANyJU,5448
|
|
34
|
-
flowfile/web/static/assets/
|
|
33
|
+
flowfile/web/static/assets/FuzzyMatch-bf120df0.js,sha256=os-cZUbTfcZ9lhV9aAD9BB1W1B7qp-Lm8s1xjh_LIcc,20023
|
|
35
34
|
flowfile/web/static/assets/GraphSolver-17fd26db.css,sha256=F_0m2_7rHKQ5jteIjmZ31NyjIXZCI0e_oJ_c8fmeH8s,1413
|
|
36
|
-
flowfile/web/static/assets/
|
|
35
|
+
flowfile/web/static/assets/GraphSolver-5bb7497a.js,sha256=vrO-tUXGGtDN42vsuqotHz1B0hPtzTxgg7f1BYBnF0A,15442
|
|
36
|
+
flowfile/web/static/assets/GroupBy-92c81b65.js,sha256=OrcqtagHVskVaZJVF8BogDTRPZxSEnD57TemjulCPRA,17294
|
|
37
37
|
flowfile/web/static/assets/GroupBy-ab1ea74b.css,sha256=qx6nS0najhKOHM_DQLdszyydztKIfbnfS1Q8MMaozgo,1272
|
|
38
|
-
flowfile/web/static/assets/Join-
|
|
38
|
+
flowfile/web/static/assets/Join-4e49a274.js,sha256=rRFZUUQFxd1OuRtr_gh-7Ml-lTTMMyQVfoI25m3iLYE,11683
|
|
39
39
|
flowfile/web/static/assets/Join-f45eff22.css,sha256=9F7_IuDRRzaGjGq_Jm7BB3iIyvxxdghHKQN6lIYfsjo,2351
|
|
40
|
-
flowfile/web/static/assets/ManualInput-
|
|
40
|
+
flowfile/web/static/assets/ManualInput-90998ae8.js,sha256=oTGPl7X7iTDIO0S0_8ADF4dz_jl7q2joQQtFItoVbqc,18285
|
|
41
41
|
flowfile/web/static/assets/ManualInput-a71b52c6.css,sha256=pxtSxvOKaahySvuGII68Y_Cq1LjV4F_YyLYfy0tfHfk,2045
|
|
42
42
|
flowfile/web/static/assets/Output-48f81019.css,sha256=SPgQGb_nR9q6TUEG5eICBdfB9PBvUmWtJRM3iv-BLYo,352098
|
|
43
|
-
flowfile/web/static/assets/Output-
|
|
44
|
-
flowfile/web/static/assets/Pivot-
|
|
43
|
+
flowfile/web/static/assets/Output-81e3e917.js,sha256=aaaNQonfzgzsG3hyBdOwz3KkvizztnSQGxvD-Gx-zFY,20932
|
|
44
|
+
flowfile/web/static/assets/Pivot-a3419842.js,sha256=vXH4Yuo4zvoze1NoP6cXQBL-ZpNjcfHSjQMDNl3MTt8,16641
|
|
45
45
|
flowfile/web/static/assets/Pivot-f415e85f.css,sha256=9BXoXzqyFxLjSN0APdMk3tOX4hYp5Rm6278sOd5FzLQ,678
|
|
46
46
|
flowfile/web/static/assets/PolarsCode-650322d1.css,sha256=ZQMi0XF5KAv0-3WUVI-51K63gTMJifbhWC8kYtPkBbs,555
|
|
47
|
-
flowfile/web/static/assets/PolarsCode-
|
|
47
|
+
flowfile/web/static/assets/PolarsCode-72710deb.js,sha256=qiFwDGr5Igu_IKDI17sEl5Ooc57X6J1HmMWyRQ9MOII,11070
|
|
48
48
|
flowfile/web/static/assets/Read-80dc1675.css,sha256=gNwWda__zBwSDUVxt7oKGiKB-z-tj0H0ROQthMvDNhU,3975
|
|
49
|
-
flowfile/web/static/assets/Read-
|
|
50
|
-
flowfile/web/static/assets/RecordCount-
|
|
51
|
-
flowfile/web/static/assets/RecordId-
|
|
52
|
-
flowfile/web/static/assets/Sample-
|
|
53
|
-
flowfile/web/static/assets/SecretManager-
|
|
54
|
-
flowfile/web/static/assets/Select-
|
|
49
|
+
flowfile/web/static/assets/Read-c4059daf.js,sha256=bWu8CHChgBhHF-We3xRBKfuVW3W5j415oRwpszzCK5Y,28383
|
|
50
|
+
flowfile/web/static/assets/RecordCount-c2b5e095.js,sha256=Vu46kvBRs8FxGqtcP3dPIFS4MYWWYtkkhTwVS17tRsA,4250
|
|
51
|
+
flowfile/web/static/assets/RecordId-10baf191.js,sha256=Coc-Q8cNvav44okIcJSrbIiP0rMG37_um2RJRe1VGd4,14830
|
|
52
|
+
flowfile/web/static/assets/Sample-3ed9a0ae.js,sha256=FW5qO-jY-pfm0BufoA2ivhoMJk26Qhc50B-0STc4mNg,7046
|
|
53
|
+
flowfile/web/static/assets/SecretManager-0d49c0e8.js,sha256=hI7NLHzAkj4kvSXKMfYjtM6fbwh9w6SX59xOpCN6NbE,16198
|
|
54
|
+
flowfile/web/static/assets/Select-8a02a0b3.js,sha256=mEY_1Je9X6Y8-BlkK0_kZmbtGJJ_0Dlzk-B2j1APL4U,8531
|
|
55
|
+
flowfile/web/static/assets/SettingsSection-4c0f45f5.js,sha256=LBm2qkblvIPL8vVk0U1VrsUoq4rGUCkCb8QipKUOR14,3449
|
|
55
56
|
flowfile/web/static/assets/SettingsSection-9c836ecc.css,sha256=nINuzFyCzLJoIEU5l-IQxPvP6eRRfdEk2mAH7gSfLFE,988
|
|
56
|
-
flowfile/web/static/assets/SettingsSection-fbf4fb39.js,sha256=wgcYnp8iOV6sSFyyQEAjGXvgVTDLZqIHOZ0CLELv7JE,3449
|
|
57
57
|
flowfile/web/static/assets/Sort-7ccfa0fe.css,sha256=fM-g_iik339gSkOk-7C0VH3sbcSvBAZ05wzOYa13izI,1272
|
|
58
|
-
flowfile/web/static/assets/Sort-
|
|
59
|
-
flowfile/web/static/assets/TextToRows-
|
|
58
|
+
flowfile/web/static/assets/Sort-f55c9f9d.js,sha256=9SIjX3e-_IuYoyTm9f_-qEws1Pu8IX4oP--np3TtzgE,13662
|
|
59
|
+
flowfile/web/static/assets/TextToRows-5dbc2145.js,sha256=XENJrKAguHPONGfkvAajrKAqJaPSk2aJNU92GWp82oU,13753
|
|
60
60
|
flowfile/web/static/assets/TextToRows-c92d1ec2.css,sha256=yS0ewva76G5zLWBuM0pBMht8uLG_deq759uuVMJM1fU,839
|
|
61
|
-
flowfile/web/static/assets/UnavailableFields-118f1d20.js,sha256=L5x4zziKaV2zd6iY8LqgnA056rBFPcjTwBiB7UiEVDo,1245
|
|
62
61
|
flowfile/web/static/assets/UnavailableFields-5edd5322.css,sha256=Xt1TInpopOWG_eHq77x7tpg9HJ4UEds_OcnuyPsruNc,1146
|
|
62
|
+
flowfile/web/static/assets/UnavailableFields-a1768e52.js,sha256=p67v1Mie90P2KAy2y9p_mtlnVLoBsvrHbyJspi7MXdE,1245
|
|
63
63
|
flowfile/web/static/assets/Union-8d9ac7f9.css,sha256=jZrH-YPCY2PeNyL6pgKMepdiItH9RJErX8PbgdfBJrc,605
|
|
64
|
-
flowfile/web/static/assets/Union-
|
|
65
|
-
flowfile/web/static/assets/Unique-
|
|
64
|
+
flowfile/web/static/assets/Union-f2aefdc9.js,sha256=14z9JSBZ4HDZ8bKUNwsRjxkdTOaR9qb1pbHohYnbxC8,5006
|
|
65
|
+
flowfile/web/static/assets/Unique-46b250da.js,sha256=U40XTCaLNgvFejBeA0tdFGOQzyddbbmgB5vwX86NzFM,10097
|
|
66
66
|
flowfile/web/static/assets/Unique-b5615727.css,sha256=tWFXJydKrd1MCKOOWv4tCWiTqi46PdEVoIIqBVNIVd4,1272
|
|
67
67
|
flowfile/web/static/assets/Unpivot-246e9bbd.css,sha256=JG6bvXhm4hOKJTfiAS0bEKbA7L3KDZvIaMQUef9fkWI,1593
|
|
68
|
-
flowfile/web/static/assets/Unpivot-
|
|
68
|
+
flowfile/web/static/assets/Unpivot-25ac84cc.js,sha256=gICOeaTaCad_iL2h3kM3HaRMZbSgUuLPNEx6H3yJPQM,18414
|
|
69
69
|
flowfile/web/static/assets/airbyte-292aa232.png,sha256=KSqiMiLlZ9SSDOuaN7TXiVatwlEHiWT1Z1FdcV9-7wE,10456
|
|
70
|
-
flowfile/web/static/assets/api-
|
|
71
|
-
flowfile/web/static/assets/api-
|
|
70
|
+
flowfile/web/static/assets/api-6ef0dcef.js,sha256=mtVmOL4LAxBTnKNAvE_3MTzg-jRadWLAA5IVTisEPqM,3111
|
|
71
|
+
flowfile/web/static/assets/api-a0abbdc7.js,sha256=5MXdex3OTpI_q4XOV6k6fvGEyI0kjj69wlBVJBQLMTM,2174
|
|
72
72
|
flowfile/web/static/assets/cloud_storage_reader-aa1415d6.png,sha256=qhQV1j6sLj5Y8mYbonyvmawB7yRMxpYUJZvqRMn2ZFA,6085
|
|
73
73
|
flowfile/web/static/assets/cross_join-d30c0290.png,sha256=0wwCkKGjCkcIJhCO1ZTy8ZKezANsYPaeYWf9w_LBKSQ,19192
|
|
74
74
|
flowfile/web/static/assets/database_reader-ce1e55f3.svg,sha256=zh5V87BPAEOyMKkOQz0LSU_hsgrgodKeEKgsZrTs-Uk,1419
|
|
75
75
|
flowfile/web/static/assets/database_writer-b4ad0753.svg,sha256=tK0HU1fxo8ksAySP8hud8S0txXfVg6iqqta5v4ltF-k,1259
|
|
76
|
+
flowfile/web/static/assets/designer-13eabd83.js,sha256=MOxLPZ7fuV1SkJSQwXtbUCXFCNRYQJASlvfqY5JiCSU,2627380
|
|
76
77
|
flowfile/web/static/assets/designer-186f2e71.css,sha256=GG8ucUFRgHhWMCJqKTH2midxTU9QfOCmwhS7Qp5xADc,317431
|
|
77
|
-
flowfile/web/static/assets/designer-94a6bf4d.js,sha256=EDIyZX1UFhY3q0Hwdjqwey9z8RmHlcaYwkl4p-Vj3zI,2627380
|
|
78
78
|
flowfile/web/static/assets/documentation-12216a74.css,sha256=EiFqdFDNczJt_IeP7KJyv7MGCvYRiSuSaUcSs6MHWpE,1200
|
|
79
|
-
flowfile/web/static/assets/documentation-
|
|
79
|
+
flowfile/web/static/assets/documentation-b87e7f6f.js,sha256=fUG4o93ifogQm0Vri6pmSkUBSZrlnjRnQVZ8qxW7S2I,1198
|
|
80
|
+
flowfile/web/static/assets/dropDown-13564764.js,sha256=1bdxx_-ofqNVLhlrvnlEnqUBTlrG1DhQQY6l8i55Yek,11474
|
|
80
81
|
flowfile/web/static/assets/dropDown-35135ba8.css,sha256=NRNbqLG5Ckh7uE1m5Z038kTCFnYcFUCD4iTUU1i6VPU,3176
|
|
81
|
-
flowfile/web/static/assets/dropDown-c2d2aa97.js,sha256=YHGruvVfmaMBufGR2_JlW07FdeFQvXkGvcrJAw3zzyI,11474
|
|
82
82
|
flowfile/web/static/assets/element-icons-9c88a535.woff,sha256=nIilNdx2T_GKI3IC0Z-dYpdmN8jnoyTPaeK6LUBm9us,24820
|
|
83
83
|
flowfile/web/static/assets/element-icons-de5eb258.ttf,sha256=3l6yWG-kOvjHWaPTe87HTczNsjLCGPpSA_P5FpV3Y-U,50372
|
|
84
84
|
flowfile/web/static/assets/explore_data-8a0a2861.png,sha256=igooYexoyuVyai_ukUYC7QlaR9JRWFQY_6ey8W01vDw,14720
|
|
@@ -93,18 +93,18 @@ flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf,sha256=MPar9rqkJYJYKH
|
|
|
93
93
|
flowfile/web/static/assets/filter-d7708bda.png,sha256=13CL2k0PIl1uYYMMhH86rwJrov4XRgR6sfV4ZRhnK3I,15838
|
|
94
94
|
flowfile/web/static/assets/formula-eeeb1611.png,sha256=7usWEStTOxFA0T8k7FXGXg5RluCJDLsqUcp048xjD2M,19295
|
|
95
95
|
flowfile/web/static/assets/fullEditor-178376bb.css,sha256=F4N2uyLmmmAoyKAfgHvBZ23H-kH-tbtnJ1JLVwfFz50,5965
|
|
96
|
-
flowfile/web/static/assets/fullEditor-
|
|
96
|
+
flowfile/web/static/assets/fullEditor-fd2cd6f9.js,sha256=3w8LbOde1BG9H4Ntw_lcgNRy6DBqYs0CA-uvsErO8L8,24415
|
|
97
97
|
flowfile/web/static/assets/fuzzy_match-40c161b2.png,sha256=QMFhsk1rZn6x2Z7aMwVoMVIehdgkmhFrrck9Gks3-_g,13865
|
|
98
|
-
flowfile/web/static/assets/genericNodeSettings-
|
|
98
|
+
flowfile/web/static/assets/genericNodeSettings-71e11604.js,sha256=hD2uNpbZ4RbAwvuOOtOVhpcog89C784FboUe20XFAh8,6251
|
|
99
99
|
flowfile/web/static/assets/genericNodeSettings-924759c7.css,sha256=kkdZx4gQRslPM--BetVKpsQdTi8Ezdc8YFclLORTYtg,1017
|
|
100
100
|
flowfile/web/static/assets/graph_solver-8b7888b8.png,sha256=i3iIuPx5-fvXVwP9Dk1-bp6paSN61bVork9bGpPuVpE,11180
|
|
101
101
|
flowfile/web/static/assets/group_by-80561fc3.png,sha256=gFYfw_ipVhzG6YLKSjl32XoIHPJYMZW5LBK8T9HQoNo,16156
|
|
102
|
-
flowfile/web/static/assets/index-3a75211d.js,sha256=nfcv0FlFRXQvTwL7w5WLrbngHAeNOjruwQJqxbgI59U,1917747
|
|
103
102
|
flowfile/web/static/assets/index-681a3ed0.css,sha256=aBo-0D4m-NuvQf0XepvMEyEKFf5JKH1HcNKUZO5c-Ys,416122
|
|
103
|
+
flowfile/web/static/assets/index-f6c15e76.js,sha256=IqBLJw0cEH_yAAL0kj9fLrRWY9xgRFuaSaAON65RQnk,1918955
|
|
104
104
|
flowfile/web/static/assets/input_data-ab2eb678.png,sha256=qy62eFHc5m7_aGxUScHGy7kavT7x7Wz0p7-WhD3L684,13172
|
|
105
105
|
flowfile/web/static/assets/join-349043ae.png,sha256=NJBDrnJbVOiE9nDYFxoQoepGE2JUvPwA7CfGH4XfnRQ,9603
|
|
106
106
|
flowfile/web/static/assets/manual_input-ae98f31d.png,sha256=rpjzHerLp1wecn-hsKEcYMJWRDRB8S15i4_SmBBIexg,13587
|
|
107
|
-
flowfile/web/static/assets/nodeTitle-
|
|
107
|
+
flowfile/web/static/assets/nodeTitle-988d9efe.js,sha256=FhBUe2haIuUg96kIzf1OEIE043dEvFHWveMgGLiDNws,7871
|
|
108
108
|
flowfile/web/static/assets/nodeTitle-f4b12bcb.css,sha256=9LEry77j7biVsPqjfZwCqL3aUhbp00_vQL_SrDfHwzY,3611
|
|
109
109
|
flowfile/web/static/assets/old_join-5d0eb604.png,sha256=XQ62BOHlpgVIHVxSf589g8vzQ-vo_XUt4uMNKcOSlsU,9325
|
|
110
110
|
flowfile/web/static/assets/output-06ec0371.png,sha256=BuwDcRqgJU9Vnf0Zr1-Fzg_DshEIucmsIqPw0FhIwPg,12055
|
|
@@ -113,9 +113,9 @@ flowfile/web/static/assets/polars_code-05ce5dc6.png,sha256=Bc5dxp286-RZ2VayediJO
|
|
|
113
113
|
flowfile/web/static/assets/record_count-dab44eb5.png,sha256=2rROtfInJu6NVYw0N4NmalWPkaErI2DyrteHdBRIJdU,7682
|
|
114
114
|
flowfile/web/static/assets/record_id-0b15856b.png,sha256=CxWFa702605nnK46FqOafmp_AwTuVkkSJAQgnKh1jBs,16066
|
|
115
115
|
flowfile/web/static/assets/sample-693a88b5.png,sha256=aTqItY0lcq5Vw58v-6ZU6DI4277L_ZWS47yQNOfDXEA,9222
|
|
116
|
-
flowfile/web/static/assets/secretApi-
|
|
116
|
+
flowfile/web/static/assets/secretApi-dd636aa2.js,sha256=67TMiY2VSJIemloewf_dVuhDnT7V4xNh-owkCW8rhIs,1346
|
|
117
117
|
flowfile/web/static/assets/select-b0d0437a.png,sha256=sNBDesTxseBqQUetu6Rbijky24UI0FLmoS33ldvr_hM,14339
|
|
118
|
-
flowfile/web/static/assets/selectDynamic-
|
|
118
|
+
flowfile/web/static/assets/selectDynamic-af36165e.js,sha256=VnWcc9p1DbQ4pQcrU-DVK3DTBnp59VdHPm42wpyD8D8,15336
|
|
119
119
|
flowfile/web/static/assets/selectDynamic-b062bc9b.css,sha256=sGK8m1dDYX0ViRGnrYmBuLHeIWKtgPDnSswNCCDJHFo,2301
|
|
120
120
|
flowfile/web/static/assets/sort-2aa579f0.png,sha256=KqV58FQ9BhINj95x87vnV50_VcYVCrdHWbORrDYiY2M,11528
|
|
121
121
|
flowfile/web/static/assets/summarize-2a099231.png,sha256=KgmSMVKXng6xq0cNQ8YJEXdThQhhmHaiKs_31ybbr8g,11762
|
|
@@ -125,8 +125,8 @@ flowfile/web/static/assets/unique-1958b98a.png,sha256=GVi5is2VQF1Zc5H9lh0o92eVF8
|
|
|
125
125
|
flowfile/web/static/assets/unpivot-d3cb4b5b.png,sha256=08tLWwGQ51ZYu_ZmS5iz7jtE27lxEW-FluhqSgG44_A,18488
|
|
126
126
|
flowfile/web/static/assets/view-7a0f0be1.png,sha256=eg8L4bC8yRlmh7nWrOQqQtXMQAWeorb6v8BWsv12spY,8353
|
|
127
127
|
flowfile/web/static/assets/vue-codemirror-bccfde04.css,sha256=vM_eBMuqLyBd_Y5bLjLKifKtvrpD8l5r5ZNjnjZUZBo,756
|
|
128
|
-
flowfile/web/static/assets/vue-codemirror.esm-
|
|
129
|
-
flowfile/web/static/assets/vue-content-loader.es-
|
|
128
|
+
flowfile/web/static/assets/vue-codemirror.esm-2847001e.js,sha256=1gISUJjB8dUsftR83jJZjKcLyJoY5bSEgw-FNNreLaU,802047
|
|
129
|
+
flowfile/web/static/assets/vue-content-loader.es-0371da73.js,sha256=5hOY5qac2nt4AKGH3HpZFUatNSRVlWjANITsSokAVeM,5545
|
|
130
130
|
flowfile/web/static/favicon.ico,sha256=h3sdj7Htz3s3Pib0j3gF3g7VqRUBTLP9qIudaBdkKJQ,3134
|
|
131
131
|
flowfile/web/static/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
|
|
132
132
|
flowfile/web/static/icons/flowfile.png,sha256=0uV0ELU3Vw4DfggPs8CHR1N2WdXutRbONUsdzJ_nxGA,240862
|
|
@@ -134,19 +134,19 @@ flowfile/web/static/images/airbyte.png,sha256=_KUGN4TrpkZBFXxdE-I8BiXKo-lx56mVYt
|
|
|
134
134
|
flowfile/web/static/images/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
|
|
135
135
|
flowfile/web/static/images/google.svg,sha256=HWvs3MThQhVAoqPMUfno4tl670VD0CYy0OqgtgROIVo,1054
|
|
136
136
|
flowfile/web/static/images/sheets.png,sha256=wpWE7P1eSIZ85ZtE4DuKZXoJwXL3gamodjyTt4dozDA,6260
|
|
137
|
-
flowfile/web/static/index.html,sha256=
|
|
137
|
+
flowfile/web/static/index.html,sha256=u5PFBFAFyoG8I7OTUtq_wuYgDqTGpHkavhfJRQZYTvk,739
|
|
138
138
|
flowfile/web/static/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
|
|
139
139
|
flowfile/web/static/vue.svg,sha256=VTLbNPHFKEGIG6uK7KbD6NCSvSGmiaZfTY-M-AQe750,496
|
|
140
|
-
flowfile_core/__init__.py,sha256=
|
|
140
|
+
flowfile_core/__init__.py,sha256=I6E9A0JpzX7tpuYfPPJ0xzACLTq2vS5P2I0B5_TkYRI,334
|
|
141
141
|
flowfile_core/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
142
|
-
flowfile_core/auth/jwt.py,sha256
|
|
142
|
+
flowfile_core/auth/jwt.py,sha256=6PJ1K5P48kOdvOldHRHqmTcmT5jqhPM94AcZLeqNMSI,6290
|
|
143
143
|
flowfile_core/auth/models.py,sha256=ilQqy7ief1mwAP9xiNWbftCR9yyccECMa0Qsnnwax_g,648
|
|
144
144
|
flowfile_core/auth/secrets.py,sha256=5TixLt9I64pR0OT4AoqgIzAmjCQNoGF4YPGuRhCWBH0,5840
|
|
145
145
|
flowfile_core/configs/__init__.py,sha256=W72OpTyVRF1kJyLPQFXT9tB6FoX-Bzvi5rTUusERfKI,1318
|
|
146
146
|
flowfile_core/configs/flow_logger.py,sha256=Pk1yhaC58jjISMrgwhBFIue9Qj5XfYo8NfOefqsR-gA,15822
|
|
147
147
|
flowfile_core/configs/node_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
148
|
-
flowfile_core/configs/node_store/nodes.py,sha256=
|
|
149
|
-
flowfile_core/configs/settings.py,sha256=
|
|
148
|
+
flowfile_core/configs/node_store/nodes.py,sha256=cZmevDcRYthaHxM04BE2WjsswQdMpaOQHNus-sRBQlc,6388
|
|
149
|
+
flowfile_core/configs/settings.py,sha256=5EAZKlq7oehakL3F0uT_VI_xXGkcIK9NL2-KAZq_Na8,3199
|
|
150
150
|
flowfile_core/configs/utils.py,sha256=BjyJCfO4gR_n9Sbs6dPlFfSKwxfxd3aKZ9zUH0Xs5GY,474
|
|
151
151
|
flowfile_core/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
152
152
|
flowfile_core/database/connection.py,sha256=g6oqL8d47eED58lJleL6mVdTTzSZTb2BY-E-6P0zWRY,3057
|
|
@@ -164,7 +164,7 @@ flowfile_core/flowfile/analytics/graphic_walker.py,sha256=snYNQUTPZLhtz1egv_rSmo
|
|
|
164
164
|
flowfile_core/flowfile/analytics/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
165
165
|
flowfile_core/flowfile/analytics/utils.py,sha256=x-FS1ZwQrHLzAfKm1THiQEKeCm_w0vO5dyWgyyIPjLY,487
|
|
166
166
|
flowfile_core/flowfile/code_generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
167
|
-
flowfile_core/flowfile/code_generator/code_generator.py,sha256=
|
|
167
|
+
flowfile_core/flowfile/code_generator/code_generator.py,sha256=q_JXQupL5rd6n044sHDHZUlAGFdwnPvrQ28rq1XOJMc,53267
|
|
168
168
|
flowfile_core/flowfile/connection_manager/__init__.py,sha256=wLAGuQBA0lgN1tZleYZ32eFeY4UODG46RrclWoEc7hM,134
|
|
169
169
|
flowfile_core/flowfile/connection_manager/_connection_manager.py,sha256=W9FWRAFUT1c2eHa2QhFpKNWA-Kps63o2vcGAH1zXSeo,2612
|
|
170
170
|
flowfile_core/flowfile/connection_manager/models.py,sha256=5c56bCPIvnEJfdiWJtgOTx5iYI4seJ-IiO25TYPCjq8,211
|
|
@@ -173,10 +173,10 @@ flowfile_core/flowfile/database_connection_manager/db_connections.py,sha256=dVYr
|
|
|
173
173
|
flowfile_core/flowfile/database_connection_manager/models.py,sha256=lVJSifqznQ8fKGWBEBCy_8JeXmdKF4pnAE5P5oXRrLM,379
|
|
174
174
|
flowfile_core/flowfile/extensions.py,sha256=gUKTzNs6YBayHF51-ZacMknvrE1S8OXc89qGIdqPl2w,1814
|
|
175
175
|
flowfile_core/flowfile/flow_data_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
|
-
flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py,sha256=
|
|
176
|
+
flowfile_core/flowfile/flow_data_engine/cloud_storage_reader.py,sha256=9QlduMjmFhhwEvzwqkbS3eANvmMasn1C_lj_knSfDJw,10493
|
|
177
177
|
flowfile_core/flowfile/flow_data_engine/create/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
178
|
flowfile_core/flowfile/flow_data_engine/create/funcs.py,sha256=Hvk4L3aOppt3RyKBEqFutx1t2RF8qA6QdrS1lPnJJkY,7822
|
|
179
|
-
flowfile_core/flowfile/flow_data_engine/flow_data_engine.py,sha256=
|
|
179
|
+
flowfile_core/flowfile/flow_data_engine/flow_data_engine.py,sha256=Wg9UkvtKN9t8dVfPyxOC0cotwHfh1EVJ5Rki3JzP0lI,100068
|
|
180
180
|
flowfile_core/flowfile/flow_data_engine/flow_file_column/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
181
181
|
flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py,sha256=auDG4EeLcnXlsTe3IlU6t8jLsVUEre0-QcoQRACt0xU,7484
|
|
182
182
|
flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py,sha256=xusyOLwSxevBk8-Uy9ZKISB_KOi0JeYfZ0wihcG-Qjk,530
|
|
@@ -188,7 +188,7 @@ flowfile_core/flowfile/flow_data_engine/join/__init__.py,sha256=XItML6eDh8uOgtHS
|
|
|
188
188
|
flowfile_core/flowfile/flow_data_engine/join/utils.py,sha256=D_dole-79JoNwl3k4fxSWf80CQnxbWJhlSMzt0EIBVw,1023
|
|
189
189
|
flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py,sha256=TfjYEIu2G9I-N6NuXVNsQWbj57_n4WbZO2kphZcHOmc,2245
|
|
190
190
|
flowfile_core/flowfile/flow_data_engine/pivot_table.py,sha256=seqJqbrhwK4gkO-EQ3MSQWseh5HR3D_slQtq6pjT_pw,366
|
|
191
|
-
flowfile_core/flowfile/flow_data_engine/polars_code_parser.py,sha256=
|
|
191
|
+
flowfile_core/flowfile/flow_data_engine/polars_code_parser.py,sha256=GIzEWKf-jTFbNF5dOnnWiMVENYi53KWmocL9I3jfetM,9657
|
|
192
192
|
flowfile_core/flowfile/flow_data_engine/read_excel_tables.py,sha256=q7TccqyToowJEOU4j2tY40HshXYkDACkYE95bNqoiw8,5937
|
|
193
193
|
flowfile_core/flowfile/flow_data_engine/sample_data.py,sha256=7r-SJBrgtatgy0r0vrd0HQAw-Su2GbIKP4TPzHRLDtk,5026
|
|
194
194
|
flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py,sha256=04ZpOvZ6gF42vQ02a0Lim9w5EP7-xu2l_S2WrSoll-g,97
|
|
@@ -197,17 +197,17 @@ flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operati
|
|
|
197
197
|
flowfile_core/flowfile/flow_data_engine/threaded_processes.py,sha256=15IPoqIoCfkPMb648o9hnOzNnZINhYQxJi5hNfQuRwE,1311
|
|
198
198
|
flowfile_core/flowfile/flow_data_engine/types.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
199
199
|
flowfile_core/flowfile/flow_data_engine/utils.py,sha256=Nkw4MM6SX9veOAC8bthWTLUqA_aIFLtDnJG3bTNcwoc,6628
|
|
200
|
-
flowfile_core/flowfile/flow_graph.py,sha256=
|
|
201
|
-
flowfile_core/flowfile/flow_graph_utils.py,sha256=
|
|
200
|
+
flowfile_core/flowfile/flow_graph.py,sha256=UqEk3sLDL1K4EucMgySw75B45Mj5Qnjbzl3k1LJ4w7o,91002
|
|
201
|
+
flowfile_core/flowfile/flow_graph_utils.py,sha256=nqfQdkFo4DM1WpbMuL1tZps51dKFWZi2yu_UgNUxtNU,10057
|
|
202
202
|
flowfile_core/flowfile/flow_node/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
203
|
-
flowfile_core/flowfile/flow_node/flow_node.py,sha256=
|
|
204
|
-
flowfile_core/flowfile/flow_node/models.py,sha256=
|
|
203
|
+
flowfile_core/flowfile/flow_node/flow_node.py,sha256=L9p0grp59WBFEtw6NxNK5nHOcXwIqs7XVG9eG90-oOQ,51948
|
|
204
|
+
flowfile_core/flowfile/flow_node/models.py,sha256=2inXz2Ov5gl2NzGh6HGtrKM3ow93iyEixsqX2w3pgdM,9929
|
|
205
205
|
flowfile_core/flowfile/flow_node/schema_callback.py,sha256=ed8OLzRgQluC6aa2CcvSWq7WC3ZNZnLvDk9rXWwIux4,2410
|
|
206
|
-
flowfile_core/flowfile/handler.py,sha256=
|
|
206
|
+
flowfile_core/flowfile/handler.py,sha256=Ov25vblx6oiMM4atPScqk6OnuEZ1PEPgCCO6mqT0y8I,3210
|
|
207
207
|
flowfile_core/flowfile/manage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
208
208
|
flowfile_core/flowfile/manage/compatibility_enhancements.py,sha256=UCe0s7OECW2FEW-JdiBhP0CWqTGBKVngOIj35avRpX0,3989
|
|
209
209
|
flowfile_core/flowfile/manage/manage_flowfile.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
210
|
-
flowfile_core/flowfile/manage/open_flowfile.py,sha256=
|
|
210
|
+
flowfile_core/flowfile/manage/open_flowfile.py,sha256=NRLxtCdJB_0Lwv8NDxbg_-f1rC9SMeM6zDglaIXJf-Q,6668
|
|
211
211
|
flowfile_core/flowfile/setting_generator/__init__.py,sha256=WvQpRzzrzQL-XSdayaoN2SfW0ngvF9l6fqldNh1ZD2k,98
|
|
212
212
|
flowfile_core/flowfile/setting_generator/setting_generator.py,sha256=Zy9eoncp0pwnJqYSshZTXiWc3UC5fwoY4zrOfjAb1z4,1254
|
|
213
213
|
flowfile_core/flowfile/setting_generator/settings.py,sha256=PQ3OQW48HZsqvbuNM1zj5bN2EA0ga-qQvMsRZ0dgf9c,9154
|
|
@@ -224,28 +224,26 @@ flowfile_core/flowfile/sources/external_sources/sql_source/models.py,sha256=C6lh
|
|
|
224
224
|
flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py,sha256=202iHv9FthKUisYNXfbhGuX0nsAwdeoX2FliXjkBcgg,12992
|
|
225
225
|
flowfile_core/flowfile/sources/external_sources/sql_source/utils.py,sha256=Cj-uKhHT6s_S8vmO7mONf0zrKb987ZzxVLISaUdtAVw,11765
|
|
226
226
|
flowfile_core/flowfile/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
|
-
flowfile_core/flowfile/util/calculate_layout.py,sha256=
|
|
227
|
+
flowfile_core/flowfile/util/calculate_layout.py,sha256=9mu0AsB-9UldCkyC4Lkz76kTy7ojNINotTNq7-iICng,4911
|
|
228
228
|
flowfile_core/flowfile/util/execution_orderer.py,sha256=IJ-upXUruZfFj8z4J-2oDLz2hDSOnRIdgd_YLlRKU-c,5828
|
|
229
|
-
flowfile_core/flowfile/utils.py,sha256=
|
|
230
|
-
flowfile_core/main.py,sha256=
|
|
229
|
+
flowfile_core/flowfile/utils.py,sha256=lvEmKySSCjnsrseNm9ZlpFlrjYXBglul3F4sB7lyx78,4545
|
|
230
|
+
flowfile_core/main.py,sha256=rdJcPVqmVBmbr4RFDCIwBJf7mE70nYYVUBFeJv9BK74,4840
|
|
231
231
|
flowfile_core/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
232
232
|
flowfile_core/routes/auth.py,sha256=-2SWMCDDKYSnriiYH3hOadnsHdmVckcIV_vA2mZfBu0,1251
|
|
233
|
-
flowfile_core/routes/cloud_connections.py,sha256=
|
|
234
|
-
flowfile_core/routes/logs.py,sha256=
|
|
235
|
-
flowfile_core/routes/public.py,sha256=
|
|
236
|
-
flowfile_core/routes/routes.py,sha256=
|
|
237
|
-
flowfile_core/routes/secrets.py,sha256=
|
|
233
|
+
flowfile_core/routes/cloud_connections.py,sha256=MBja9DkTO9sl9fuHiIKob3KV6FGGpcHWQ4Cuh7mZpHM,3453
|
|
234
|
+
flowfile_core/routes/logs.py,sha256=pNapo1OlC4KsCj4d4LXZJRw7P4HtQ0j1SI8Moi_xCpw,5782
|
|
235
|
+
flowfile_core/routes/public.py,sha256=4dIC9rrn7Qbwsg1WLTBOZKSnmVeD4c9asRIo4eKvXWY,265
|
|
236
|
+
flowfile_core/routes/routes.py,sha256=uDsSKIDAUbb8kTbIvzI2v11ekT4w8vXMz2vyfMIcCZM,26753
|
|
237
|
+
flowfile_core/routes/secrets.py,sha256=idns8HJofEnsHy6NCLx-9SRxQImHFc4Or2KaKosx6kU,5270
|
|
238
238
|
flowfile_core/run_lock.py,sha256=1bINUPwZe7v9rHRePTk0CaExscqf2pvk4hWoYFZWQqE,296
|
|
239
|
-
flowfile_core/schemas/__init__.py,sha256=
|
|
239
|
+
flowfile_core/schemas/__init__.py,sha256=AnB9y91_FVcdJmccyb19FCMK1-qjR5ITuIls9_PI2OU,346
|
|
240
240
|
flowfile_core/schemas/analysis_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
241
241
|
flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py,sha256=1PQeiBFIhZg3cqDKD1AaeMbA9yMss9ajDv-elKOb2Lk,2885
|
|
242
242
|
flowfile_core/schemas/cloud_storage_schemas.py,sha256=KgsCNCRXQiFHKwIPUXmN66Rv-_IFc8YEFT0wRpSv_zw,7799
|
|
243
|
-
flowfile_core/schemas/
|
|
244
|
-
flowfile_core/schemas/
|
|
245
|
-
flowfile_core/schemas/
|
|
246
|
-
flowfile_core/schemas/
|
|
247
|
-
flowfile_core/schemas/schemas.py,sha256=BhU8FHEi915usDYPbmPvdBgQlWFnQMhiNBjK84tMiAQ,2887
|
|
248
|
-
flowfile_core/schemas/transform_schema.py,sha256=XLWmwkM5y7jqAYKoyZ7Z8Tn2-e1fT49ekHqnhORz-tA,22922
|
|
243
|
+
flowfile_core/schemas/input_schema.py,sha256=_EbVpwfGUgl6VjwoBD9XivDiXB1WkquiwIX-SyfDIDI,18631
|
|
244
|
+
flowfile_core/schemas/output_model.py,sha256=MsAtXMHBTJb96ERyBPs-bSEbvpHj22rhwDifT62oSmU,3847
|
|
245
|
+
flowfile_core/schemas/schemas.py,sha256=MYhIwEXdQ_Ky5SBdotBxEe9WHObsk7egR0zi8EzX7io,9058
|
|
246
|
+
flowfile_core/schemas/transform_schema.py,sha256=zwvomSAEgoEyQTdUbp_Mnawz2zVIuTv0ElC7hOJ81BQ,28593
|
|
249
247
|
flowfile_core/secret_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
250
248
|
flowfile_core/secret_manager/secret_manager.py,sha256=6G9hqo-GjTE7va6i6r3_ZmGo4Y26Aw_PY0W8L6pNo7E,2086
|
|
251
249
|
flowfile_core/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -255,24 +253,27 @@ flowfile_core/utils/fileManager.py,sha256=LnJhK_pwjb9MIApG2e4Hp3L5Z7Wny8YYHaL9Sk
|
|
|
255
253
|
flowfile_core/utils/fl_executor.py,sha256=eNnNZHZ9451brzZD00_X8aoCHFl1hR1gVOIGxtE0Db4,1301
|
|
256
254
|
flowfile_core/utils/utils.py,sha256=XPanIHWQjNLkd-lC7mKoWdjP3TAR_GZwYIbZ5_KF5o0,1326
|
|
257
255
|
flowfile_core/utils/validate_setup.py,sha256=1kaintlS0MA-PDO6IKgW0NGGai7WVUeAM_Vnvbm1Mfk,1737
|
|
258
|
-
flowfile_frame/__init__.py,sha256=
|
|
256
|
+
flowfile_frame/__init__.py,sha256=JDEFbzBQ-YtB129IppN06v-8KOYb3SADtOTDgCpPh0k,2044
|
|
259
257
|
flowfile_frame/adapters.py,sha256=8H1z6UpYQ3aeuSYNs8GbWfL5BUzVbGJbGzi6b9uVBt4,528
|
|
260
258
|
flowfile_frame/adding_expr.py,sha256=K9KdF3WCbPy2YO5radyEBXQ0yi6SOI4nviaPwXmKW0k,12428
|
|
259
|
+
flowfile_frame/cloud_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
260
|
+
flowfile_frame/cloud_storage/frame_helpers.py,sha256=4x5I5WVKpT1PXoPvEJd28MmsHDCJNhZxAdG6MKOSA_4,2271
|
|
261
|
+
flowfile_frame/cloud_storage/secret_manager.py,sha256=lIjOf2u6ZWrXFFYCrHK2XH51p2DEl9m7Pr1uLKe1DUI,2540
|
|
261
262
|
flowfile_frame/config.py,sha256=Tl_4V8byUiO1y3ANesW2E9qeTtZvtKYJl8KU00hc1Cg,176
|
|
262
|
-
flowfile_frame/expr.py,sha256=
|
|
263
|
-
flowfile_frame/expr.pyi,sha256=
|
|
263
|
+
flowfile_frame/expr.py,sha256=OmpQZ7xleBoBmSLwlZ1pp1_WVd38bpqCs8OGQL0vx7s,59264
|
|
264
|
+
flowfile_frame/expr.pyi,sha256=kUMj6IRlczjInzUb6WXkBrxboCRhWdkxGlpiR30zCKw,89316
|
|
264
265
|
flowfile_frame/expr_name.py,sha256=0VZZwC3xc6tiwOJPu7emQ86Xp2mVu7U-j-jrsMjbc2Y,9852
|
|
265
|
-
flowfile_frame/flow_frame.py,sha256=
|
|
266
|
-
flowfile_frame/flow_frame.pyi,sha256=
|
|
267
|
-
flowfile_frame/flow_frame_methods.py,sha256=
|
|
268
|
-
flowfile_frame/group_frame.py,sha256=
|
|
266
|
+
flowfile_frame/flow_frame.py,sha256=NCny_WgHzM2tnqdJGZTDGrFOj1jiMAJWvFgSK0N7tv4,101530
|
|
267
|
+
flowfile_frame/flow_frame.pyi,sha256=P0DPw5xx6nXoL7hbUOS5t06OmGZjY7P5ZgHO1iCvYIw,33956
|
|
268
|
+
flowfile_frame/flow_frame_methods.py,sha256=mHFltRFeKQ4m2aDsU0HcpAhACR0gdLCeONvBFeG-wJk,29054
|
|
269
|
+
flowfile_frame/group_frame.py,sha256=aLpiT9ZEidVDJ04ORr57SPxR7WfgmziBPkBGXB9oR54,11632
|
|
269
270
|
flowfile_frame/join.py,sha256=YQCHmw8nYzvGzvrFc0jOmVMy-rahK3CPtuFdKB7loS8,2437
|
|
270
271
|
flowfile_frame/lazy.py,sha256=sBWzetJ_AzCm9C6Q-fjwEAx-yNcow4AoFng_dgw5mG8,28617
|
|
271
272
|
flowfile_frame/lazy_methods.py,sha256=ysSmdDF6guDWN-ogBIpGoCHdjAUbnnl8CncjqDUdg_Y,7730
|
|
272
273
|
flowfile_frame/list_name_space.py,sha256=7m7qxZ9GANrVM8U-gOq3hZ7aPGwSGD1hbI6kRJLc0Tg,15778
|
|
273
274
|
flowfile_frame/selectors.py,sha256=Rnaa9AuMgzazt6ujB9yyvcbH9zA7JmYjs8rFqdZ2TYM,9186
|
|
274
275
|
flowfile_frame/series.py,sha256=VkhLr03iA8LF2EifGoKdNvg1ajm7Ln9OgzkMurg_nR0,2199
|
|
275
|
-
flowfile_frame/utils.py,sha256=
|
|
276
|
+
flowfile_frame/utils.py,sha256=tTClnsPOOPoUOsXn7R0qqMoa4VqrsBJ51HqlNmFAC6g,4283
|
|
276
277
|
flowfile_worker/__init__.py,sha256=ZDdn3JCP7LWTiTsmntVIVduB4p2bUkJcZUKVEj7V9TU,1375
|
|
277
278
|
flowfile_worker/configs.py,sha256=7fYtlj06vxDrMiRuMbwvSDOD1JRVMZqnPbcQFuikCJM,2714
|
|
278
279
|
flowfile_worker/create/__init__.py,sha256=vkWy5uODffivUdxt3nNVALj6xgQK3HPBetqR-QqZ-uo,1643
|
|
@@ -309,10 +310,11 @@ test_utils/postgres/commands.py,sha256=4oA8EHW3EqwGkG02HSqEGbXEBGM01sUW5FsyHm86W
|
|
|
309
310
|
test_utils/postgres/fixtures.py,sha256=kR8UBjQr3pgbe-xM-V8x8VseTHCPv0EmDEzPHl5Qc8Y,13507
|
|
310
311
|
test_utils/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
311
312
|
test_utils/s3/commands.py,sha256=m-r6rWZZP7Q7bzXwuOId1QbQkw8aq8-3qcjH8wpSqxI,1427
|
|
312
|
-
test_utils/s3/data_generator.py,sha256=
|
|
313
|
-
test_utils/s3/
|
|
314
|
-
|
|
315
|
-
flowfile-0.3.
|
|
316
|
-
flowfile-0.3.
|
|
317
|
-
flowfile-0.3.
|
|
318
|
-
flowfile-0.3.
|
|
313
|
+
test_utils/s3/data_generator.py,sha256=qEVN6paBvPf1W4Pxjb341WOLvTrx9D20MyJ944TAHc8,10939
|
|
314
|
+
test_utils/s3/demo_data_generator.py,sha256=YuYnbEmuKBUsuuBMjvq9SCmm11pYJc75u-OqpOGMr5A,7682
|
|
315
|
+
test_utils/s3/fixtures.py,sha256=n5qTGbW1LASFusYbeNh5_53aKui2Xp0yhT70_VXJ4NU,7778
|
|
316
|
+
flowfile-0.3.7.dist-info/LICENSE,sha256=pCfLAA27jMHReYk_wGiirZxWRRXz_Bm7PVInRCa9P5g,1075
|
|
317
|
+
flowfile-0.3.7.dist-info/METADATA,sha256=nmpxLVZlB17JVxvG3ZbxHmBAnAdxDOXenZLOKrU_B4g,8814
|
|
318
|
+
flowfile-0.3.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
319
|
+
flowfile-0.3.7.dist-info/entry_points.txt,sha256=3VMU1A7kmYy8DSPw7axzpy00DEaVRoVagE4jyZFAz2U,425
|
|
320
|
+
flowfile-0.3.7.dist-info/RECORD,,
|
flowfile_core/__init__.py
CHANGED
flowfile_core/auth/jwt.py
CHANGED
|
@@ -38,6 +38,45 @@ def get_jwt_secret():
|
|
|
38
38
|
return key
|
|
39
39
|
|
|
40
40
|
|
|
41
|
+
def get_current_user_sync(token: str, db: Session):
|
|
42
|
+
"""Synchronous version of get_current_user for non-FastAPI contexts"""
|
|
43
|
+
credentials_exception = HTTPException(
|
|
44
|
+
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
45
|
+
detail="Could not validate credentials",
|
|
46
|
+
headers={"WWW-Authenticate": "Bearer"},
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
if not token:
|
|
50
|
+
raise credentials_exception
|
|
51
|
+
|
|
52
|
+
try:
|
|
53
|
+
# Decode token in all modes (Electron and Docker)
|
|
54
|
+
payload = jwt.decode(token, get_jwt_secret(), algorithms=[ALGORITHM])
|
|
55
|
+
username: str = payload.get("sub")
|
|
56
|
+
if username is None:
|
|
57
|
+
raise credentials_exception
|
|
58
|
+
token_data = TokenData(username=username)
|
|
59
|
+
except JWTError:
|
|
60
|
+
raise credentials_exception
|
|
61
|
+
|
|
62
|
+
# In Electron mode, if token is valid, return default user
|
|
63
|
+
if os.environ.get("FLOWFILE_MODE") == "electron":
|
|
64
|
+
if token_data.username == "local_user":
|
|
65
|
+
electron_user = User(username="local_user", id=1, disabled=False)
|
|
66
|
+
return electron_user
|
|
67
|
+
else:
|
|
68
|
+
# Invalid username in token
|
|
69
|
+
raise credentials_exception
|
|
70
|
+
else:
|
|
71
|
+
# In Docker mode, get user from database
|
|
72
|
+
user = db.query(db_models.User).filter(db_models.User.username == token_data.username).first()
|
|
73
|
+
if user is None:
|
|
74
|
+
raise credentials_exception
|
|
75
|
+
if user.disabled:
|
|
76
|
+
raise HTTPException(status_code=400, detail="Inactive user")
|
|
77
|
+
return user
|
|
78
|
+
|
|
79
|
+
|
|
41
80
|
async def get_current_user(token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
|
|
42
81
|
# Require token in all modes
|
|
43
82
|
credentials_exception = HTTPException(
|
|
@@ -96,3 +96,4 @@ node_defaults = {node.item: NodeDefault(node_name=node.name,
|
|
|
96
96
|
) for node in nodes_list}
|
|
97
97
|
|
|
98
98
|
node_dict = {n.item: n for n in nodes_list}
|
|
99
|
+
node_dict["polars_lazy_frame"] = NodeTemplate(name='LazyFrame node', item='polars_lazy_frame', input=0, output=1, node_group="special", image="",)
|
|
@@ -15,10 +15,10 @@ from flowfile_core.configs.utils import MutableBool
|
|
|
15
15
|
DEFAULT_SERVER_HOST = "0.0.0.0"
|
|
16
16
|
DEFAULT_SERVER_PORT = 63578
|
|
17
17
|
DEFAULT_WORKER_PORT = 63579
|
|
18
|
-
SINGLE_FILE_MODE: bool = os.environ.get("
|
|
18
|
+
SINGLE_FILE_MODE: bool = os.environ.get("FLOWFILE_SINGLE_FILE_MODE", "0") == "1"
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
OFFLOAD_TO_WORKER = MutableBool(
|
|
21
|
+
OFFLOAD_TO_WORKER = MutableBool(not SINGLE_FILE_MODE)
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
def parse_args():
|
|
@@ -61,7 +61,7 @@ def get_default_worker_url(worker_port=None):
|
|
|
61
61
|
worker_host = os.getenv("WORKER_HOST", None)
|
|
62
62
|
|
|
63
63
|
if worker_port is None:
|
|
64
|
-
worker_port = os.getenv("
|
|
64
|
+
worker_port = os.getenv("FLOWFILE_WORKER_PORT", DEFAULT_WORKER_PORT)
|
|
65
65
|
|
|
66
66
|
# Convert to int if it's a string
|
|
67
67
|
worker_port = int(worker_port) if isinstance(worker_port, str) else worker_port
|
|
@@ -81,14 +81,15 @@ args = parse_args()
|
|
|
81
81
|
|
|
82
82
|
SERVER_HOST = args.host if args.host is not None else DEFAULT_SERVER_HOST
|
|
83
83
|
SERVER_PORT = args.port if args.port is not None else DEFAULT_SERVER_PORT
|
|
84
|
-
WORKER_PORT = args.worker_port if args.worker_port is not None else int(os.getenv("
|
|
84
|
+
WORKER_PORT = args.worker_port if args.worker_port is not None else int(os.getenv("FLOWFILE_WORKER_PORT",
|
|
85
|
+
DEFAULT_WORKER_PORT))
|
|
85
86
|
WORKER_HOST = os.getenv("WORKER_HOST", "0.0.0.0" if platform.system() != "Windows" else "127.0.0.1")
|
|
86
87
|
|
|
87
88
|
config = Config(".env")
|
|
88
89
|
DEBUG: bool = config("DEBUG", cast=bool, default=False)
|
|
89
90
|
FILE_LOCATION = config("FILE_LOCATION", cast=str, default=".\\files\\")
|
|
90
91
|
AVAILABLE_RAM = config("AVAILABLE_RAM", cast=int, default=8)
|
|
91
|
-
WORKER_URL = config("
|
|
92
|
+
WORKER_URL = config("FLOWFILE_WORKER_URL", cast=str, default=get_default_worker_url(WORKER_PORT))
|
|
92
93
|
IS_RUNNING_IN_DOCKER = os.getenv('RUNNING_IN_DOCKER', 'false').lower() == 'true'
|
|
93
94
|
TEMP_DIR = get_temp_dir()
|
|
94
95
|
|
|
@@ -130,6 +130,42 @@ class FlowGraphToPolarsConverter:
|
|
|
130
130
|
self._add_code(f' skip_rows={file_settings.starting_from_line},')
|
|
131
131
|
self._add_code(").lazy()")
|
|
132
132
|
|
|
133
|
+
def _handle_cloud_storage_reader(self, settings: input_schema.NodeCloudStorageReader, var_name: str, input_vars: Dict[str, str]):
|
|
134
|
+
cloud_read_settings = settings.cloud_storage_settings
|
|
135
|
+
self.imports.add(
|
|
136
|
+
"import flowfile as ff"
|
|
137
|
+
)
|
|
138
|
+
if cloud_read_settings.file_format == "csv":
|
|
139
|
+
self._add_code(f"{var_name} = ff.scan_csv_from_cloud_storage(")
|
|
140
|
+
self._add_code(f' "{cloud_read_settings.resource_path}",')
|
|
141
|
+
self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
|
|
142
|
+
self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
|
|
143
|
+
self._add_code(f' delimiter="{cloud_read_settings.csv_delimiter}",')
|
|
144
|
+
self._add_code(f' has_header={cloud_read_settings.csv_has_header},')
|
|
145
|
+
self._add_code(f' encoding="{cloud_read_settings.csv_encoding}",')
|
|
146
|
+
|
|
147
|
+
elif cloud_read_settings.file_format == "parquet":
|
|
148
|
+
self._add_code(f"{var_name} = ff.scan_parquet_from_cloud_storage(")
|
|
149
|
+
self._add_code(f' "{cloud_read_settings.resource_path}",')
|
|
150
|
+
self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
|
|
151
|
+
self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
|
|
152
|
+
|
|
153
|
+
elif cloud_read_settings.file_format == "json":
|
|
154
|
+
self._add_code(f"{var_name} = ff.scan_json_from_cloud_storage(")
|
|
155
|
+
self._add_code(f' "{cloud_read_settings.resource_path}",')
|
|
156
|
+
self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
|
|
157
|
+
self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
|
|
158
|
+
|
|
159
|
+
elif cloud_read_settings.file_format == "delta":
|
|
160
|
+
self._add_code(f"{var_name} = ff.scan_delta(")
|
|
161
|
+
self._add_code(f' "{cloud_read_settings.resource_path}",')
|
|
162
|
+
self._add_code(f' connection_name="{cloud_read_settings.connection_name}",')
|
|
163
|
+
self._add_code(f' scan_mode="{cloud_read_settings.scan_mode}",')
|
|
164
|
+
self._add_code(f' version_id={cloud_read_settings.delta_version},')
|
|
165
|
+
else:
|
|
166
|
+
return
|
|
167
|
+
self._add_code(").data")
|
|
168
|
+
|
|
133
169
|
def _handle_read(self, settings: input_schema.NodeRead, var_name: str, input_vars: Dict[str, str]) -> None:
|
|
134
170
|
"""Handle file reading nodes."""
|
|
135
171
|
file_settings = settings.received_file
|
|
@@ -647,6 +683,7 @@ class FlowGraphToPolarsConverter:
|
|
|
647
683
|
self._add_code(f".lazy()")
|
|
648
684
|
|
|
649
685
|
self._add_code(")")
|
|
686
|
+
|
|
650
687
|
def _handle_group_by(self, settings: input_schema.NodeGroupBy, var_name: str, input_vars: Dict[str, str]) -> None:
|
|
651
688
|
"""Handle group by nodes."""
|
|
652
689
|
input_df = input_vars.get('main', 'df')
|
|
@@ -846,6 +883,40 @@ class FlowGraphToPolarsConverter:
|
|
|
846
883
|
self._add_code(f"{var_name} = {left_df}.join({right_df}, how='cross')")
|
|
847
884
|
self._add_code("")
|
|
848
885
|
|
|
886
|
+
def _handle_cloud_storage_writer(self, settings: input_schema.NodeCloudStorageWriter, var_name: str, input_vars: Dict[str, str]) -> None:
|
|
887
|
+
"""Handle cloud storage writer nodes."""
|
|
888
|
+
input_df = input_vars.get('main', 'df')
|
|
889
|
+
# def write_csv_to_cloud_storage(self, path: str, connection_name: typing.Optional[str] = None, delimiter: str = ';', encoding: typing.Literal['utf8', 'utf8-lossy'] = 'utf8', description: Optional[str] = None) -> 'FlowFrame': ...
|
|
890
|
+
|
|
891
|
+
output_settings = settings.cloud_storage_settings
|
|
892
|
+
self.imports.add("import flowfile as ff")
|
|
893
|
+
self._add_code(f"(ff.FlowFrame({input_df})")
|
|
894
|
+
if output_settings.file_format == "csv":
|
|
895
|
+
self._add_code(f' .write_csv_to_cloud_storage(')
|
|
896
|
+
self._add_code(f' path="{output_settings.resource_path}",')
|
|
897
|
+
self._add_code(f' connection_name="{output_settings.connection_name}",')
|
|
898
|
+
self._add_code(f' delimiter="{output_settings.csv_delimiter}",')
|
|
899
|
+
self._add_code(f' encoding="{output_settings.csv_encoding}",')
|
|
900
|
+
self._add_code(f' description="{settings.description}"')
|
|
901
|
+
elif output_settings.file_format == "parquet":
|
|
902
|
+
self._add_code(f' .write_parquet_to_cloud_storage(')
|
|
903
|
+
self._add_code(f' path="{output_settings.resource_path}",')
|
|
904
|
+
self._add_code(f' connection_name="{output_settings.connection_name}",')
|
|
905
|
+
self._add_code(f' description="{settings.description}"')
|
|
906
|
+
elif output_settings.file_format == "json":
|
|
907
|
+
self._add_code(f' .write_json_to_cloud_storage(')
|
|
908
|
+
self._add_code(f' path="{output_settings.resource_path}",')
|
|
909
|
+
self._add_code(f' connection_name="{output_settings.connection_name}",')
|
|
910
|
+
self._add_code(f' description="{settings.description}"')
|
|
911
|
+
elif output_settings.file_format == "delta":
|
|
912
|
+
self._add_code(f' .write_delta(')
|
|
913
|
+
self._add_code(f' path="{output_settings.resource_path}",')
|
|
914
|
+
self._add_code(f' write_mode="{output_settings.write_mode}",')
|
|
915
|
+
self._add_code(f' connection_name="{output_settings.connection_name}",')
|
|
916
|
+
self._add_code(f' description="{settings.description}"')
|
|
917
|
+
self._add_code(' )')
|
|
918
|
+
self._add_code(')')
|
|
919
|
+
|
|
849
920
|
def _handle_output(self, settings: input_schema.NodeOutput, var_name: str, input_vars: Dict[str, str]) -> None:
|
|
850
921
|
"""Handle output nodes."""
|
|
851
922
|
input_df = input_vars.get('main', 'df')
|
|
@@ -233,7 +233,7 @@ def _create_s3_client(storage_options: Optional[Dict[str, Any]]):
|
|
|
233
233
|
if 'aws_region' in client_options:
|
|
234
234
|
client_options['region_name'] = client_options.pop('aws_region')
|
|
235
235
|
|
|
236
|
-
return boto3.client('s3', **client_options)
|
|
236
|
+
return boto3.client('s3', **{k: v for k, v in client_options.items() if k != "aws_allow_http"})
|
|
237
237
|
|
|
238
238
|
|
|
239
239
|
def _get_first_file(s3_client, bucket_name: str, base_prefix: str, file_extension: str) -> Dict[Any, Any]:
|