Flowfile 0.3.0__py3-none-any.whl → 0.3.0.1__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 +13 -6
- flowfile/__main__.py +51 -15
- flowfile/api.py +379 -0
- flowfile/web/__init__.py +155 -0
- flowfile/web/static/assets/AirbyteReader-1ac35765.css +314 -0
- flowfile/web/static/assets/AirbyteReader-cb0c1d4a.js +921 -0
- flowfile/web/static/assets/CrossJoin-41efa4cb.css +100 -0
- flowfile/web/static/assets/CrossJoin-a514fa59.js +153 -0
- flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css +77 -0
- flowfile/web/static/assets/DatabaseConnectionSettings-f2cecf33.js +151 -0
- flowfile/web/static/assets/DatabaseManager-30fa27e5.css +64 -0
- flowfile/web/static/assets/DatabaseManager-83ee3c98.js +484 -0
- flowfile/web/static/assets/DatabaseReader-dc0c6881.js +426 -0
- flowfile/web/static/assets/DatabaseReader-f50c6558.css +158 -0
- flowfile/web/static/assets/DatabaseWriter-2f570e53.css +96 -0
- flowfile/web/static/assets/DatabaseWriter-5afe9f8d.js +312 -0
- flowfile/web/static/assets/ExploreData-5bdae813.css +45 -0
- flowfile/web/static/assets/ExploreData-c7ee19cf.js +118306 -0
- flowfile/web/static/assets/ExternalSource-17b23a01.js +225 -0
- flowfile/web/static/assets/ExternalSource-e37b6275.css +94 -0
- flowfile/web/static/assets/Filter-90856b4f.js +238 -0
- flowfile/web/static/assets/Filter-a9d08ba1.css +20 -0
- flowfile/web/static/assets/Formula-38b71e9e.js +197 -0
- flowfile/web/static/assets/Formula-d60a74f4.css +17 -0
- flowfile/web/static/assets/FuzzyMatch-6857de82.css +254 -0
- flowfile/web/static/assets/FuzzyMatch-d0f1fe81.js +422 -0
- flowfile/web/static/assets/GoogleSheet-854294a4.js +2616 -0
- flowfile/web/static/assets/GoogleSheet-92084da7.css +233 -0
- flowfile/web/static/assets/GraphSolver-0c86bbc6.js +382 -0
- flowfile/web/static/assets/GraphSolver-17fd26db.css +68 -0
- flowfile/web/static/assets/GroupBy-ab1ea74b.css +51 -0
- flowfile/web/static/assets/GroupBy-f2772e9f.js +413 -0
- flowfile/web/static/assets/Join-41c0f331.css +109 -0
- flowfile/web/static/assets/Join-bc3e1cf7.js +247 -0
- flowfile/web/static/assets/ManualInput-03aa0245.js +391 -0
- flowfile/web/static/assets/ManualInput-ac7b9972.css +84 -0
- flowfile/web/static/assets/Output-48f81019.css +2642 -0
- flowfile/web/static/assets/Output-5b35eee8.js +536 -0
- flowfile/web/static/assets/Pivot-7164087c.js +408 -0
- flowfile/web/static/assets/Pivot-f415e85f.css +35 -0
- flowfile/web/static/assets/PolarsCode-3abf6507.js +2863 -0
- flowfile/web/static/assets/PolarsCode-650322d1.css +35 -0
- flowfile/web/static/assets/PopOver-b37ff9be.js +577 -0
- flowfile/web/static/assets/PopOver-bccfde04.css +32 -0
- flowfile/web/static/assets/Read-65966a3e.js +701 -0
- flowfile/web/static/assets/Read-80dc1675.css +197 -0
- flowfile/web/static/assets/RecordCount-c66c6d6d.js +121 -0
- flowfile/web/static/assets/RecordId-826dc095.js +339 -0
- flowfile/web/static/assets/Sample-4ed555c8.js +184 -0
- flowfile/web/static/assets/SecretManager-eac1e97d.js +382 -0
- flowfile/web/static/assets/Select-085f05cc.js +231 -0
- flowfile/web/static/assets/SettingsSection-1f5e79c1.js +87 -0
- flowfile/web/static/assets/SettingsSection-9c836ecc.css +47 -0
- flowfile/web/static/assets/Sort-3e6cb414.js +309 -0
- flowfile/web/static/assets/Sort-7ccfa0fe.css +51 -0
- flowfile/web/static/assets/TextToRows-606349bc.js +307 -0
- flowfile/web/static/assets/TextToRows-c92d1ec2.css +48 -0
- flowfile/web/static/assets/UnavailableFields-5edd5322.css +49 -0
- flowfile/web/static/assets/UnavailableFields-b41976ed.js +36 -0
- flowfile/web/static/assets/Union-8d9ac7f9.css +30 -0
- flowfile/web/static/assets/Union-fca91665.js +145 -0
- flowfile/web/static/assets/Unique-a59f830e.js +273 -0
- flowfile/web/static/assets/Unique-b5615727.css +51 -0
- flowfile/web/static/assets/Unpivot-246e9bbd.css +77 -0
- flowfile/web/static/assets/Unpivot-c3815565.js +441 -0
- flowfile/web/static/assets/airbyte-292aa232.png +0 -0
- flowfile/web/static/assets/api-22b338bd.js +60 -0
- flowfile/web/static/assets/cross_join-d30c0290.png +0 -0
- flowfile/web/static/assets/database_reader-ce1e55f3.svg +24 -0
- flowfile/web/static/assets/database_writer-b4ad0753.svg +23 -0
- flowfile/web/static/assets/designer-2394122a.css +10697 -0
- flowfile/web/static/assets/designer-e5bbe26f.js +69712 -0
- flowfile/web/static/assets/documentation-08045cf2.js +33 -0
- flowfile/web/static/assets/documentation-12216a74.css +50 -0
- flowfile/web/static/assets/dropDown-35135ba8.css +143 -0
- flowfile/web/static/assets/dropDown-5e7e9a5a.js +319 -0
- flowfile/web/static/assets/dropDownGeneric-50a91b99.js +72 -0
- flowfile/web/static/assets/dropDownGeneric-895680d6.css +10 -0
- flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
- flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
- flowfile/web/static/assets/explore_data-8a0a2861.png +0 -0
- flowfile/web/static/assets/fa-brands-400-808443ae.ttf +0 -0
- flowfile/web/static/assets/fa-brands-400-d7236a19.woff2 +0 -0
- flowfile/web/static/assets/fa-regular-400-54cf6086.ttf +0 -0
- flowfile/web/static/assets/fa-regular-400-e3456d12.woff2 +0 -0
- flowfile/web/static/assets/fa-solid-900-aa759986.woff2 +0 -0
- flowfile/web/static/assets/fa-solid-900-d2f05935.ttf +0 -0
- flowfile/web/static/assets/fa-v4compatibility-0ce9033c.woff2 +0 -0
- flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf +0 -0
- flowfile/web/static/assets/filter-d7708bda.png +0 -0
- flowfile/web/static/assets/formula-eeeb1611.png +0 -0
- flowfile/web/static/assets/fullEditor-178376bb.css +256 -0
- flowfile/web/static/assets/fullEditor-705c6ccb.js +630 -0
- flowfile/web/static/assets/fuzzy_match-40c161b2.png +0 -0
- flowfile/web/static/assets/genericNodeSettings-65587f20.js +137 -0
- flowfile/web/static/assets/genericNodeSettings-924759c7.css +46 -0
- flowfile/web/static/assets/graph_solver-8b7888b8.png +0 -0
- flowfile/web/static/assets/group_by-80561fc3.png +0 -0
- flowfile/web/static/assets/index-552863fd.js +58652 -0
- flowfile/web/static/assets/index-681a3ed0.css +8843 -0
- flowfile/web/static/assets/input_data-ab2eb678.png +0 -0
- flowfile/web/static/assets/join-349043ae.png +0 -0
- flowfile/web/static/assets/manual_input-ae98f31d.png +0 -0
- flowfile/web/static/assets/nodeTitle-cf9bae3c.js +227 -0
- flowfile/web/static/assets/nodeTitle-f4b12bcb.css +134 -0
- flowfile/web/static/assets/old_join-5d0eb604.png +0 -0
- flowfile/web/static/assets/output-06ec0371.png +0 -0
- flowfile/web/static/assets/pivot-9660df51.png +0 -0
- flowfile/web/static/assets/polars_code-05ce5dc6.png +0 -0
- flowfile/web/static/assets/record_count-dab44eb5.png +0 -0
- flowfile/web/static/assets/record_id-0b15856b.png +0 -0
- flowfile/web/static/assets/sample-693a88b5.png +0 -0
- flowfile/web/static/assets/secretApi-3ad510e1.js +46 -0
- flowfile/web/static/assets/select-b0d0437a.png +0 -0
- flowfile/web/static/assets/selectDynamic-b062bc9b.css +107 -0
- flowfile/web/static/assets/selectDynamic-bd644891.js +302 -0
- flowfile/web/static/assets/sort-2aa579f0.png +0 -0
- flowfile/web/static/assets/summarize-2a099231.png +0 -0
- flowfile/web/static/assets/text_to_rows-859b29ea.png +0 -0
- flowfile/web/static/assets/union-2d8609f4.png +0 -0
- flowfile/web/static/assets/unique-1958b98a.png +0 -0
- flowfile/web/static/assets/unpivot-d3cb4b5b.png +0 -0
- flowfile/web/static/assets/view-7a0f0be1.png +0 -0
- flowfile/web/static/assets/vue-codemirror.esm-dd17b478.js +22281 -0
- flowfile/web/static/assets/vue-content-loader.es-6b36f05e.js +210 -0
- flowfile/web/static/flowfile.svg +47 -0
- flowfile/web/static/icons/flowfile.png +0 -0
- flowfile/web/static/images/airbyte.png +0 -0
- flowfile/web/static/images/flowfile.svg +47 -0
- flowfile/web/static/images/google.svg +1 -0
- flowfile/web/static/images/sheets.png +0 -0
- flowfile/web/static/index.html +22 -0
- flowfile/web/static/vite.svg +1 -0
- flowfile/web/static/vue.svg +1 -0
- {flowfile-0.3.0.dist-info → flowfile-0.3.0.1.dist-info}/METADATA +1 -1
- {flowfile-0.3.0.dist-info → flowfile-0.3.0.1.dist-info}/RECORD +146 -15
- {flowfile-0.3.0.dist-info → flowfile-0.3.0.1.dist-info}/entry_points.txt +1 -1
- flowfile_core/configs/settings.py +7 -32
- flowfile_core/flowfile/FlowfileFlow.py +4 -2
- flowfile_core/flowfile/analytics/analytics_processor.py +1 -1
- flowfile_core/main.py +4 -1
- flowfile_core/schemas/input_schema.py +1 -8
- flowfile_frame/__init__.py +0 -1
- flowfile_frame/utils.py +0 -139
- flowfile_frame/__main__.py +0 -12
- {flowfile-0.3.0.dist-info → flowfile-0.3.0.1.dist-info}/LICENSE +0 -0
- {flowfile-0.3.0.dist-info → flowfile-0.3.0.1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="2443" height="2500" preserveAspectRatio="xMidYMid" viewBox="0 0 256 262" id="google"><path fill="#4285F4" d="M255.878 133.451c0-10.734-.871-18.567-2.756-26.69H130.55v48.448h71.947c-1.45 12.04-9.283 30.172-26.69 42.356l-.244 1.622 38.755 30.023 2.685.268c24.659-22.774 38.875-56.282 38.875-96.027"></path><path fill="#34A853" d="M130.55 261.1c35.248 0 64.839-11.605 86.453-31.622l-41.196-31.913c-11.024 7.688-25.82 13.055-45.257 13.055-34.523 0-63.824-22.773-74.269-54.25l-1.531.13-40.298 31.187-.527 1.465C35.393 231.798 79.49 261.1 130.55 261.1"></path><path fill="#FBBC05" d="M56.281 156.37c-2.756-8.123-4.351-16.827-4.351-25.82 0-8.994 1.595-17.697 4.206-25.82l-.073-1.73L15.26 71.312l-1.335.635C5.077 89.644 0 109.517 0 130.55s5.077 40.905 13.925 58.602l42.356-32.782"></path><path fill="#EB4335" d="M130.55 50.479c24.514 0 41.05 10.589 50.479 19.438l36.844-35.974C195.245 12.91 165.798 0 130.55 0 79.49 0 35.393 29.301 13.925 71.947l42.211 32.783c10.59-31.477 39.891-54.251 74.414-54.251"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Flowfile</title>
|
|
6
|
+
<!-- Cross-Origin Policies -->
|
|
7
|
+
<meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin">
|
|
8
|
+
<meta http-equiv="Cross-Origin-Embedder-Policy" content="require-corp">
|
|
9
|
+
<!-- Favicon -->
|
|
10
|
+
<link rel="icon" href="./favicon.ico">
|
|
11
|
+
<link rel="icon" type="image/svg+xml" href="./flowfile.svg">
|
|
12
|
+
|
|
13
|
+
<!-- Material Icons -->
|
|
14
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
15
|
+
<script type="module" crossorigin src="/assets/index-552863fd.js"></script>
|
|
16
|
+
<link rel="stylesheet" href="/assets/index-681a3ed0.css">
|
|
17
|
+
</head>
|
|
18
|
+
<body>
|
|
19
|
+
<div id="app"></div>
|
|
20
|
+
|
|
21
|
+
</body>
|
|
22
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>
|
|
@@ -1,8 +1,140 @@
|
|
|
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=
|
|
5
|
-
flowfile/__main__.py,sha256=
|
|
4
|
+
flowfile/__init__.py,sha256=B1vnUboOki3pP3BAmoQ0j62nEiB51X9kc9N8Qu7bgcg,2419
|
|
5
|
+
flowfile/__main__.py,sha256=ll0XLrBo7pVEioRjvqt9ihBzfeY49h8Hxc3_9LcnkgU,2655
|
|
6
|
+
flowfile/api.py,sha256=bFCIH_6rEbPSTdZkbXrxnAtlBOmSA7yj0pl4f3agYvY,14252
|
|
7
|
+
flowfile/web/__init__.py,sha256=OrXOaS1ud83aMyEWrehXfXuZ-LGnnavSLPVtiE99K8c,5494
|
|
8
|
+
flowfile/web/static/assets/AirbyteReader-1ac35765.css,sha256=GsNXZRBzBqcgSHWYHFfpQjYnQ1G90hCaWgThLCG80jI,6260
|
|
9
|
+
flowfile/web/static/assets/AirbyteReader-cb0c1d4a.js,sha256=PtikU6aU5vN4K9VlsLZb15GWnxM-t7fd45DqqOlDeRg,38759
|
|
10
|
+
flowfile/web/static/assets/CrossJoin-41efa4cb.css,sha256=Qe-ky2QI7rYfXMKV-bCB5HP0OJ6uBU74g9EEmcpXTlc,2838
|
|
11
|
+
flowfile/web/static/assets/CrossJoin-a514fa59.js,sha256=Su9IvHLkULPVmaiXiBgb6Sb0jJJPqy02lPVWN1AzK5I,5893
|
|
12
|
+
flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css,sha256=DASy5awRYSMypTwMX6ksZtrVQhtp1ViT0Jowclr_uLA,1975
|
|
13
|
+
flowfile/web/static/assets/DatabaseConnectionSettings-f2cecf33.js,sha256=1E2HIDzEhtx4CokjnZPTNDQqB2GTSvgSX2m0yoxwjXU,6563
|
|
14
|
+
flowfile/web/static/assets/DatabaseManager-30fa27e5.css,sha256=MPon5eN71wE49i0Ecfy9LQoGX75ArlRNOGWVb28xGlI,1242
|
|
15
|
+
flowfile/web/static/assets/DatabaseManager-83ee3c98.js,sha256=EGIxYly4XerF-wsg49s83gcLekh8ZEHzx9c6ufup3Do,21099
|
|
16
|
+
flowfile/web/static/assets/DatabaseReader-dc0c6881.js,sha256=yTCfWsqE422tAnWu6K1_Q8AWWnWYby31z9gfZyLiNpM,18460
|
|
17
|
+
flowfile/web/static/assets/DatabaseReader-f50c6558.css,sha256=9QxlWNkGS95WJhX7_bD4CrN3BcammfwfMl6HkbdOTEE,3741
|
|
18
|
+
flowfile/web/static/assets/DatabaseWriter-2f570e53.css,sha256=L1cOU0rF-auXKMDQEYPI8F1SCgfjW64rTSEFSNfanlw,2453
|
|
19
|
+
flowfile/web/static/assets/DatabaseWriter-5afe9f8d.js,sha256=YZkE9ZEMkxfypifuKv1P-_NZKsljN3FAFqdamm4_12E,13868
|
|
20
|
+
flowfile/web/static/assets/ExploreData-5bdae813.css,sha256=W9roE_zrPPgD0dajRpedNal0_7jod1WLMiMgIuMt1qM,1095
|
|
21
|
+
flowfile/web/static/assets/ExploreData-c7ee19cf.js,sha256=QYhkXT6NjhBQhPWG9c46-jUUyvcS0EHlZw0bSeNssSY,5479135
|
|
22
|
+
flowfile/web/static/assets/ExternalSource-17b23a01.js,sha256=tVNEzlFMpq5a9a1P8DQ-bHMBHIBdF4eeLzoBOkINyb0,8692
|
|
23
|
+
flowfile/web/static/assets/ExternalSource-e37b6275.css,sha256=43tidVv7Ch_x09-4F3WHgzkLNuQfT_xFBh7zi75Fft8,2316
|
|
24
|
+
flowfile/web/static/assets/Filter-90856b4f.js,sha256=iZQ0xO-4Gl_UcTnwjFFNiCRfs5ecR-dAkj-xjytxl0I,10459
|
|
25
|
+
flowfile/web/static/assets/Filter-a9d08ba1.css,sha256=qdCLoUHadYgx2Ip748TA_O6XyCUTEcE8QuLmJvruWEY,781
|
|
26
|
+
flowfile/web/static/assets/Formula-38b71e9e.js,sha256=m6koXZ8TP3duikymzUZQ5mKhIrKjd5Ojb3fFZMa2OHc,7677
|
|
27
|
+
flowfile/web/static/assets/Formula-d60a74f4.css,sha256=1gp09P8SicTtA9JXEPyo-P-wP0hIMxEcN3PYTRzx0Kg,510
|
|
28
|
+
flowfile/web/static/assets/FuzzyMatch-6857de82.css,sha256=aFfegjmKGaavTjs7g4sPI3Cyf3eu4y0flFzODZANyJU,5448
|
|
29
|
+
flowfile/web/static/assets/FuzzyMatch-d0f1fe81.js,sha256=Ty4zXC2HUh70nHuyq0DPJlrOVsZ00AuhUETxkRyDCNQ,20012
|
|
30
|
+
flowfile/web/static/assets/GoogleSheet-854294a4.js,sha256=byW0Zbu3NOrQez25Qhwr6pXDlBWYMydUwSQoGi_Dh0w,100539
|
|
31
|
+
flowfile/web/static/assets/GoogleSheet-92084da7.css,sha256=kghNp_B_exF0dVG5S6D6tAMSpNpHUQnAcXtdYLbL9I8,5179
|
|
32
|
+
flowfile/web/static/assets/GraphSolver-0c86bbc6.js,sha256=0C0xm3jiC0v5EITll2HAfT8E14RonHMf41i06rXoEcI,15431
|
|
33
|
+
flowfile/web/static/assets/GraphSolver-17fd26db.css,sha256=F_0m2_7rHKQ5jteIjmZ31NyjIXZCI0e_oJ_c8fmeH8s,1413
|
|
34
|
+
flowfile/web/static/assets/GroupBy-ab1ea74b.css,sha256=qx6nS0najhKOHM_DQLdszyydztKIfbnfS1Q8MMaozgo,1272
|
|
35
|
+
flowfile/web/static/assets/GroupBy-f2772e9f.js,sha256=TEihT5odRyeaU1548dA-kbhLfPdOrWVE6Dbdrrok_Oo,17264
|
|
36
|
+
flowfile/web/static/assets/Join-41c0f331.css,sha256=QcDzMadH3XVYV9CEP4gwB33R2iXM5syzgMCts1fCkrA,2351
|
|
37
|
+
flowfile/web/static/assets/Join-bc3e1cf7.js,sha256=L75OuXUSdl4aogES-h8ja3tLJH7Lv-LL7yTAcb3C7S4,11140
|
|
38
|
+
flowfile/web/static/assets/ManualInput-03aa0245.js,sha256=QrAWk_RU5LYTPlKoXTMtT5p6EKKN1RTI-HsPWOTI68Y,14958
|
|
39
|
+
flowfile/web/static/assets/ManualInput-ac7b9972.css,sha256=rHuZcrtSxu_X4lmWhjH2nou_YS4AmwiNJCNKTPJ8p14,1807
|
|
40
|
+
flowfile/web/static/assets/Output-48f81019.css,sha256=SPgQGb_nR9q6TUEG5eICBdfB9PBvUmWtJRM3iv-BLYo,352098
|
|
41
|
+
flowfile/web/static/assets/Output-5b35eee8.js,sha256=rtJR7gOrMm8zdz5Ne8Ghn9qhyAUUC6MJEYfj4vwWYrg,20921
|
|
42
|
+
flowfile/web/static/assets/Pivot-7164087c.js,sha256=-1f-fx5qxQEJahu2zVGyV6Cr43pCbll9DvoJ3oXaa-s,16609
|
|
43
|
+
flowfile/web/static/assets/Pivot-f415e85f.css,sha256=9BXoXzqyFxLjSN0APdMk3tOX4hYp5Rm6278sOd5FzLQ,678
|
|
44
|
+
flowfile/web/static/assets/PolarsCode-3abf6507.js,sha256=KvgqaoO_A1EYg5SdnSQXX40n8WmUdZuhZ4R8usH5pcs,124229
|
|
45
|
+
flowfile/web/static/assets/PolarsCode-650322d1.css,sha256=ZQMi0XF5KAv0-3WUVI-51K63gTMJifbhWC8kYtPkBbs,555
|
|
46
|
+
flowfile/web/static/assets/PopOver-b37ff9be.js,sha256=Aywd9bupPEaHsPtorBz6_Zblmh12C-VaG4McQEr5xz8,18497
|
|
47
|
+
flowfile/web/static/assets/PopOver-bccfde04.css,sha256=vM_eBMuqLyBd_Y5bLjLKifKtvrpD8l5r5ZNjnjZUZBo,756
|
|
48
|
+
flowfile/web/static/assets/Read-65966a3e.js,sha256=0-w1SY-IlWdULo513OwfBXdQMtgYF5KBaxuSn-4nD-4,28372
|
|
49
|
+
flowfile/web/static/assets/Read-80dc1675.css,sha256=gNwWda__zBwSDUVxt7oKGiKB-z-tj0H0ROQthMvDNhU,3975
|
|
50
|
+
flowfile/web/static/assets/RecordCount-c66c6d6d.js,sha256=gDYE7DcZV7QpS7xeVlESoRJRU8zzPxmxhooyEvfrvJI,4220
|
|
51
|
+
flowfile/web/static/assets/RecordId-826dc095.js,sha256=9fk0AMZkfx7wYIzjwqX0icf6aZOl-SKuKDlV8dHTldE,14757
|
|
52
|
+
flowfile/web/static/assets/Sample-4ed555c8.js,sha256=uKQoPGEMf9Ior0-LCWJqtvOnf4r4YOUsZP1wte22ua0,7006
|
|
53
|
+
flowfile/web/static/assets/SecretManager-eac1e97d.js,sha256=wQ5QsU2DW1edcuzru35VmRduNV-eBjcH765oTqORojY,16198
|
|
54
|
+
flowfile/web/static/assets/Select-085f05cc.js,sha256=wxI0uPVP6PlFim1js6LcW1R4B4qePj-WFqNH2TMVSWY,8520
|
|
55
|
+
flowfile/web/static/assets/SettingsSection-1f5e79c1.js,sha256=A3ogOBTPKG4dQMUsuVseMndFri-3S-15S8FSTD5K5tU,3449
|
|
56
|
+
flowfile/web/static/assets/SettingsSection-9c836ecc.css,sha256=nINuzFyCzLJoIEU5l-IQxPvP6eRRfdEk2mAH7gSfLFE,988
|
|
57
|
+
flowfile/web/static/assets/Sort-3e6cb414.js,sha256=BvB671g3YIembpI-6gt4ZWYpqqHIr-XK1e7UFRpJgkQ,13651
|
|
58
|
+
flowfile/web/static/assets/Sort-7ccfa0fe.css,sha256=fM-g_iik339gSkOk-7C0VH3sbcSvBAZ05wzOYa13izI,1272
|
|
59
|
+
flowfile/web/static/assets/TextToRows-606349bc.js,sha256=fX5HZYz93ywuFWJ4GfnsSuWI5cmbG_0PpAm8FYYHbVc,13574
|
|
60
|
+
flowfile/web/static/assets/TextToRows-c92d1ec2.css,sha256=yS0ewva76G5zLWBuM0pBMht8uLG_deq759uuVMJM1fU,839
|
|
61
|
+
flowfile/web/static/assets/UnavailableFields-5edd5322.css,sha256=Xt1TInpopOWG_eHq77x7tpg9HJ4UEds_OcnuyPsruNc,1146
|
|
62
|
+
flowfile/web/static/assets/UnavailableFields-b41976ed.js,sha256=M95DsOJxF87Q7bGBTPYwj5VpsADJKwy4PwERCRPQqI4,1234
|
|
63
|
+
flowfile/web/static/assets/Union-8d9ac7f9.css,sha256=jZrH-YPCY2PeNyL6pgKMepdiItH9RJErX8PbgdfBJrc,605
|
|
64
|
+
flowfile/web/static/assets/Union-fca91665.js,sha256=4VUM5HBbMqd_WtLIOE4TT4YRxwa73HhSZMGmRb0DKgc,4976
|
|
65
|
+
flowfile/web/static/assets/Unique-a59f830e.js,sha256=eTOguu8mBlvoj0NyGClStkUPmqNmmvP1MrhPcmVUcXM,10086
|
|
66
|
+
flowfile/web/static/assets/Unique-b5615727.css,sha256=tWFXJydKrd1MCKOOWv4tCWiTqi46PdEVoIIqBVNIVd4,1272
|
|
67
|
+
flowfile/web/static/assets/Unpivot-246e9bbd.css,sha256=JG6bvXhm4hOKJTfiAS0bEKbA7L3KDZvIaMQUef9fkWI,1593
|
|
68
|
+
flowfile/web/static/assets/Unpivot-c3815565.js,sha256=8_3PiLC87w3Q9HRqSdZwUJlhsOjr_feWtVg5a7jmovs,18403
|
|
69
|
+
flowfile/web/static/assets/airbyte-292aa232.png,sha256=KSqiMiLlZ9SSDOuaN7TXiVatwlEHiWT1Z1FdcV9-7wE,10456
|
|
70
|
+
flowfile/web/static/assets/api-22b338bd.js,sha256=7ilBVDBld5_sJCeIgSd8pU8jpfzxo1oSTKMSDPtVKmo,2174
|
|
71
|
+
flowfile/web/static/assets/cross_join-d30c0290.png,sha256=0wwCkKGjCkcIJhCO1ZTy8ZKezANsYPaeYWf9w_LBKSQ,19192
|
|
72
|
+
flowfile/web/static/assets/database_reader-ce1e55f3.svg,sha256=zh5V87BPAEOyMKkOQz0LSU_hsgrgodKeEKgsZrTs-Uk,1419
|
|
73
|
+
flowfile/web/static/assets/database_writer-b4ad0753.svg,sha256=tK0HU1fxo8ksAySP8hud8S0txXfVg6iqqta5v4ltF-k,1259
|
|
74
|
+
flowfile/web/static/assets/designer-2394122a.css,sha256=I5QSKjopgNBvZJ5Tm6ZZhmlo0hjXMNyTgFqzA1DY_q4,316302
|
|
75
|
+
flowfile/web/static/assets/designer-e5bbe26f.js,sha256=RAh5uG13bSNfRTaMF4iEBZiyRJnVBxImjCD1-YmdpZs,2503276
|
|
76
|
+
flowfile/web/static/assets/documentation-08045cf2.js,sha256=phprlRhhu-t6JUBUMDhatG_N40OxRtW2mlKbmULUFfI,1198
|
|
77
|
+
flowfile/web/static/assets/documentation-12216a74.css,sha256=EiFqdFDNczJt_IeP7KJyv7MGCvYRiSuSaUcSs6MHWpE,1200
|
|
78
|
+
flowfile/web/static/assets/dropDown-35135ba8.css,sha256=NRNbqLG5Ckh7uE1m5Z038kTCFnYcFUCD4iTUU1i6VPU,3176
|
|
79
|
+
flowfile/web/static/assets/dropDown-5e7e9a5a.js,sha256=WoC1zvJi4nnzUpBOGzfSiAojlf1L3jZne9X5Pq2hl4I,11474
|
|
80
|
+
flowfile/web/static/assets/dropDownGeneric-50a91b99.js,sha256=hcsDvVluns9fQVCSjKFL-_08eczXZ7BChvYh53-hZ3s,2336
|
|
81
|
+
flowfile/web/static/assets/dropDownGeneric-895680d6.css,sha256=iVaA1vV7V9juSX7E_WrtTq0xFVWTW-78-b3YVbxlTIk,161
|
|
82
|
+
flowfile/web/static/assets/element-icons-9c88a535.woff,sha256=nIilNdx2T_GKI3IC0Z-dYpdmN8jnoyTPaeK6LUBm9us,24820
|
|
83
|
+
flowfile/web/static/assets/element-icons-de5eb258.ttf,sha256=3l6yWG-kOvjHWaPTe87HTczNsjLCGPpSA_P5FpV3Y-U,50372
|
|
84
|
+
flowfile/web/static/assets/explore_data-8a0a2861.png,sha256=igooYexoyuVyai_ukUYC7QlaR9JRWFQY_6ey8W01vDw,14720
|
|
85
|
+
flowfile/web/static/assets/fa-brands-400-808443ae.ttf,sha256=gIRDrmyCBDla3YVD2oqQpguTdvsPh-2OjqN9EJWW2AU,210792
|
|
86
|
+
flowfile/web/static/assets/fa-brands-400-d7236a19.woff2,sha256=1yNqGb8jy7ICcoDo9R3JnWxFl2ou1g3nM4KwNLGKK2g,118684
|
|
87
|
+
flowfile/web/static/assets/fa-regular-400-54cf6086.ttf,sha256=VM9ghve7IfnQcq1JShm0aB-lFt0KFM7lLaAdNlGpE6M,68064
|
|
88
|
+
flowfile/web/static/assets/fa-regular-400-e3456d12.woff2,sha256=40VtEoO511M3p3Pf0Ue_kI_QLAG0v0hXbYYDppsTy-U,25472
|
|
89
|
+
flowfile/web/static/assets/fa-solid-900-aa759986.woff2,sha256=qnWZhiOjkeYcaQF5Ss6DLj7N0oi1bWCPIb6gQRrMC44,158220
|
|
90
|
+
flowfile/web/static/assets/fa-solid-900-d2f05935.ttf,sha256=0vBZNUCw4zum3iVaVPJy1GbjEUSAaVa-qM_b9-3_yb0,426112
|
|
91
|
+
flowfile/web/static/assets/fa-v4compatibility-0ce9033c.woff2,sha256=DOkDPGnccU9fRe-b8X1V5MRrzfrWeZpOkrOOd4G_hr0,4796
|
|
92
|
+
flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf,sha256=MPar9rqkJYJYKHk9bfrR-2N2XQ5auqevb-r7m_zs5aA,10836
|
|
93
|
+
flowfile/web/static/assets/filter-d7708bda.png,sha256=13CL2k0PIl1uYYMMhH86rwJrov4XRgR6sfV4ZRhnK3I,15838
|
|
94
|
+
flowfile/web/static/assets/formula-eeeb1611.png,sha256=7usWEStTOxFA0T8k7FXGXg5RluCJDLsqUcp048xjD2M,19295
|
|
95
|
+
flowfile/web/static/assets/fullEditor-178376bb.css,sha256=F4N2uyLmmmAoyKAfgHvBZ23H-kH-tbtnJ1JLVwfFz50,5965
|
|
96
|
+
flowfile/web/static/assets/fullEditor-705c6ccb.js,sha256=hVD4wUjNiOwLEDudCjKOKohBL8X18PaBXoELXQC8_uI,24451
|
|
97
|
+
flowfile/web/static/assets/fuzzy_match-40c161b2.png,sha256=QMFhsk1rZn6x2Z7aMwVoMVIehdgkmhFrrck9Gks3-_g,13865
|
|
98
|
+
flowfile/web/static/assets/genericNodeSettings-65587f20.js,sha256=w_bk4yzuER-p0_m2dr3PUVUQjoZ_6QQlZUFrFvLP_ng,6240
|
|
99
|
+
flowfile/web/static/assets/genericNodeSettings-924759c7.css,sha256=kkdZx4gQRslPM--BetVKpsQdTi8Ezdc8YFclLORTYtg,1017
|
|
100
|
+
flowfile/web/static/assets/graph_solver-8b7888b8.png,sha256=i3iIuPx5-fvXVwP9Dk1-bp6paSN61bVork9bGpPuVpE,11180
|
|
101
|
+
flowfile/web/static/assets/group_by-80561fc3.png,sha256=gFYfw_ipVhzG6YLKSjl32XoIHPJYMZW5LBK8T9HQoNo,16156
|
|
102
|
+
flowfile/web/static/assets/index-552863fd.js,sha256=39e75VuPflLL0oHERr0mVxBJ__gA7mbc2vqdaoYPd9g,1884543
|
|
103
|
+
flowfile/web/static/assets/index-681a3ed0.css,sha256=aBo-0D4m-NuvQf0XepvMEyEKFf5JKH1HcNKUZO5c-Ys,416122
|
|
104
|
+
flowfile/web/static/assets/input_data-ab2eb678.png,sha256=qy62eFHc5m7_aGxUScHGy7kavT7x7Wz0p7-WhD3L684,13172
|
|
105
|
+
flowfile/web/static/assets/join-349043ae.png,sha256=NJBDrnJbVOiE9nDYFxoQoepGE2JUvPwA7CfGH4XfnRQ,9603
|
|
106
|
+
flowfile/web/static/assets/manual_input-ae98f31d.png,sha256=rpjzHerLp1wecn-hsKEcYMJWRDRB8S15i4_SmBBIexg,13587
|
|
107
|
+
flowfile/web/static/assets/nodeTitle-cf9bae3c.js,sha256=cfzHYMVyFeAdFkgeTKXEjTtE3yKcnwU7s6mAuuudLJQ,7860
|
|
108
|
+
flowfile/web/static/assets/nodeTitle-f4b12bcb.css,sha256=9LEry77j7biVsPqjfZwCqL3aUhbp00_vQL_SrDfHwzY,3611
|
|
109
|
+
flowfile/web/static/assets/old_join-5d0eb604.png,sha256=XQ62BOHlpgVIHVxSf589g8vzQ-vo_XUt4uMNKcOSlsU,9325
|
|
110
|
+
flowfile/web/static/assets/output-06ec0371.png,sha256=BuwDcRqgJU9Vnf0Zr1-Fzg_DshEIucmsIqPw0FhIwPg,12055
|
|
111
|
+
flowfile/web/static/assets/pivot-9660df51.png,sha256=lmDfUQowkZ6z6k12CZnQOAh6L2f73X4NTX8Y9YafVu0,15554
|
|
112
|
+
flowfile/web/static/assets/polars_code-05ce5dc6.png,sha256=Bc5dxp286-RZ2VayediJOz7gkjSCNLFO3wjWdWyD-HU,6239
|
|
113
|
+
flowfile/web/static/assets/record_count-dab44eb5.png,sha256=2rROtfInJu6NVYw0N4NmalWPkaErI2DyrteHdBRIJdU,7682
|
|
114
|
+
flowfile/web/static/assets/record_id-0b15856b.png,sha256=CxWFa702605nnK46FqOafmp_AwTuVkkSJAQgnKh1jBs,16066
|
|
115
|
+
flowfile/web/static/assets/sample-693a88b5.png,sha256=aTqItY0lcq5Vw58v-6ZU6DI4277L_ZWS47yQNOfDXEA,9222
|
|
116
|
+
flowfile/web/static/assets/secretApi-3ad510e1.js,sha256=wE0cQhBKCupzq8196d-yBzGhMZb08HVZgT-N5MWUtfk,1346
|
|
117
|
+
flowfile/web/static/assets/select-b0d0437a.png,sha256=sNBDesTxseBqQUetu6Rbijky24UI0FLmoS33ldvr_hM,14339
|
|
118
|
+
flowfile/web/static/assets/selectDynamic-b062bc9b.css,sha256=sGK8m1dDYX0ViRGnrYmBuLHeIWKtgPDnSswNCCDJHFo,2301
|
|
119
|
+
flowfile/web/static/assets/selectDynamic-bd644891.js,sha256=x7m__HQpkP5CCqfEQKJIHuAIzSRcezfeW7cF_--UnkE,15325
|
|
120
|
+
flowfile/web/static/assets/sort-2aa579f0.png,sha256=KqV58FQ9BhINj95x87vnV50_VcYVCrdHWbORrDYiY2M,11528
|
|
121
|
+
flowfile/web/static/assets/summarize-2a099231.png,sha256=KgmSMVKXng6xq0cNQ8YJEXdThQhhmHaiKs_31ybbr8g,11762
|
|
122
|
+
flowfile/web/static/assets/text_to_rows-859b29ea.png,sha256=hZsp6vqUV9EbmfOpnz1Os_daX1_4HQqwjVJdHtUes6c,13876
|
|
123
|
+
flowfile/web/static/assets/union-2d8609f4.png,sha256=LYYJ9EtnGnouHCaKBAxVwB3UGAiIeK2GqJHjKs4eN9M,10739
|
|
124
|
+
flowfile/web/static/assets/unique-1958b98a.png,sha256=GVi5is2VQF1Zc5H9lh0o92eVF8AeyVAgWCJHlUPP3Bo,20864
|
|
125
|
+
flowfile/web/static/assets/unpivot-d3cb4b5b.png,sha256=08tLWwGQ51ZYu_ZmS5iz7jtE27lxEW-FluhqSgG44_A,18488
|
|
126
|
+
flowfile/web/static/assets/view-7a0f0be1.png,sha256=eg8L4bC8yRlmh7nWrOQqQtXMQAWeorb6v8BWsv12spY,8353
|
|
127
|
+
flowfile/web/static/assets/vue-codemirror.esm-dd17b478.js,sha256=h39fsCtXs194Th0Hf5edWBX_XmHd8Teu-nq7tmK7W5s,783309
|
|
128
|
+
flowfile/web/static/assets/vue-content-loader.es-6b36f05e.js,sha256=grSsKAQYwYl2UhhMOCEKVbH5jH_mUBE033dfqKgvQ1g,5545
|
|
129
|
+
flowfile/web/static/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
|
|
130
|
+
flowfile/web/static/icons/flowfile.png,sha256=0uV0ELU3Vw4DfggPs8CHR1N2WdXutRbONUsdzJ_nxGA,240862
|
|
131
|
+
flowfile/web/static/images/airbyte.png,sha256=_KUGN4TrpkZBFXxdE-I8BiXKo-lx56mVYtAuFIMqg7w,24537
|
|
132
|
+
flowfile/web/static/images/flowfile.svg,sha256=hOLvhgtIBAuDAFwTCw3yUYO4xHMA9Jk_HpiBjk8t_dA,314188
|
|
133
|
+
flowfile/web/static/images/google.svg,sha256=HWvs3MThQhVAoqPMUfno4tl670VD0CYy0OqgtgROIVo,1054
|
|
134
|
+
flowfile/web/static/images/sheets.png,sha256=wpWE7P1eSIZ85ZtE4DuKZXoJwXL3gamodjyTt4dozDA,6260
|
|
135
|
+
flowfile/web/static/index.html,sha256=lJEv55voAU9NP7so-FOxfpeoxCwMM_c9c1d87V-juFU,739
|
|
136
|
+
flowfile/web/static/vite.svg,sha256=SnSK_UQ5GLsWWRyDTEAdrjPoeGGrXbrQgRw6O0qSFPs,1497
|
|
137
|
+
flowfile/web/static/vue.svg,sha256=VTLbNPHFKEGIG6uK7KbD6NCSvSGmiaZfTY-M-AQe750,496
|
|
6
138
|
flowfile_core/__init__.py,sha256=dGxpVE9ol33CMRPJSPWlL7AZqXowBmlCx8unxCVWJXQ,254
|
|
7
139
|
flowfile_core/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
140
|
flowfile_core/auth/jwt.py,sha256=-j_eZd5z2ABP0KHo5PmmsuCyJUsvAFFlnANJiRCnNx4,4828
|
|
@@ -12,7 +144,7 @@ flowfile_core/configs/__init__.py,sha256=RSoO4aiWY-FzOUKLPY-mbwHS_YcbbNw5tNdVzrw
|
|
|
12
144
|
flowfile_core/configs/flow_logger.py,sha256=Pk1yhaC58jjISMrgwhBFIue9Qj5XfYo8NfOefqsR-gA,15822
|
|
13
145
|
flowfile_core/configs/node_store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
146
|
flowfile_core/configs/node_store/nodes.py,sha256=6z5kk-TUw5b-iQRxZzw7Qey-P9mUKw0AL19Nu_zwUhY,6155
|
|
15
|
-
flowfile_core/configs/settings.py,sha256=
|
|
147
|
+
flowfile_core/configs/settings.py,sha256=6QI6wOhAwvRYLd3MMP7w3g6wgyT4DeE-zq6-I39Touo,3073
|
|
16
148
|
flowfile_core/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
149
|
flowfile_core/database/connection.py,sha256=Ul1gYnYvwvlTSgxlJr5JexYCdgyZFduXioFjY_Lw2U0,1410
|
|
18
150
|
flowfile_core/database/init_db.py,sha256=vKQi340caayTqc1tR0CJcd621i4afVc0BLpJO-t4CFk,1236
|
|
@@ -20,12 +152,12 @@ flowfile_core/database/models.py,sha256=SUrOgefmGY4lrN9Cv67TEjEOQtyKoYEpkjIVCWs7
|
|
|
20
152
|
flowfile_core/fileExplorer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
153
|
flowfile_core/fileExplorer/funcs.py,sha256=9o1Wko-wPpKNapRSvwsC-FmofJ6VFmBU5v2aQLRU3sA,9048
|
|
22
154
|
flowfile_core/fileExplorer/utils.py,sha256=RrXj1NdkB2K3v5khvXpEp-_OnN68k9Ex_9s7CDa3L5w,1703
|
|
23
|
-
flowfile_core/flowfile/FlowfileFlow.py,sha256=
|
|
155
|
+
flowfile_core/flowfile/FlowfileFlow.py,sha256=bc14bU2G088FJdZmAvKz66CNt95Yi_DtKVzBchaawdQ,70546
|
|
24
156
|
flowfile_core/flowfile/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
157
|
flowfile_core/flowfile/_extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
158
|
flowfile_core/flowfile/_extensions/real_time_interface.py,sha256=F9wGAFmu4gmC-svfwasDEaVYZBinBqYUZmCrEsWos44,1906
|
|
27
159
|
flowfile_core/flowfile/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
flowfile_core/flowfile/analytics/analytics_processor.py,sha256=
|
|
160
|
+
flowfile_core/flowfile/analytics/analytics_processor.py,sha256=uFW13VkTQuewtlhyUU0sNPLj-efw2w0YRmNX71ealrE,4847
|
|
29
161
|
flowfile_core/flowfile/analytics/graphic_walker.py,sha256=snYNQUTPZLhtz1egv_rSmo61uhJvd7OAuY_zeTYeE0c,2379
|
|
30
162
|
flowfile_core/flowfile/analytics/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
163
|
flowfile_core/flowfile/analytics/utils.py,sha256=x-FS1ZwQrHLzAfKm1THiQEKeCm_w0vO5dyWgyyIPjLY,487
|
|
@@ -92,7 +224,7 @@ flowfile_core/flowfile/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
|
92
224
|
flowfile_core/flowfile/util/calculate_layout.py,sha256=iquA_-EGzX9mH1NasIZFNaYLfBcKqz5pHaTjHO1rYWE,5070
|
|
93
225
|
flowfile_core/flowfile/util/execution_orderer.py,sha256=IJ-upXUruZfFj8z4J-2oDLz2hDSOnRIdgd_YLlRKU-c,5828
|
|
94
226
|
flowfile_core/flowfile/utils.py,sha256=arSkifiXgbdWqrLcgQ6X3u-A9_6zDHocDuXEy6M3c18,3363
|
|
95
|
-
flowfile_core/main.py,sha256=
|
|
227
|
+
flowfile_core/main.py,sha256=5rcWI1uFlYkUWd7T_ZHkolOmLlbIWjuDpzCyivw6og0,3879
|
|
96
228
|
flowfile_core/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
229
|
flowfile_core/routes/auth.py,sha256=-2SWMCDDKYSnriiYH3hOadnsHdmVckcIV_vA2mZfBu0,1251
|
|
98
230
|
flowfile_core/routes/logs.py,sha256=LHGbCN10pjS8yAWHaG9eUHxMoGQlHjVWFSxtAnuQjrM,5868
|
|
@@ -106,7 +238,7 @@ flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py,sha256=1PQeiBFI
|
|
|
106
238
|
flowfile_core/schemas/defaults.py,sha256=5FeYJIn1ZJ4Es8WQfSW3EkfoOnWsvifg9bvwZO7fklg,228
|
|
107
239
|
flowfile_core/schemas/external_sources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
240
|
flowfile_core/schemas/external_sources/airbyte_schemas.py,sha256=xjMVevVronSvMJ1lQrBTv2ClkO2VSMSU8YCga_Mw6vk,594
|
|
109
|
-
flowfile_core/schemas/input_schema.py,sha256=
|
|
241
|
+
flowfile_core/schemas/input_schema.py,sha256=lxaHMXcrrjpzQA84UsdZ4Y_bvxdlA04sr0sDEwydAOc,13818
|
|
110
242
|
flowfile_core/schemas/models.py,sha256=W22swh1TZ1aAZY8R-OL0AiTXvIEUKtN9B1ZFc0dxZQI,5253
|
|
111
243
|
flowfile_core/schemas/output_model.py,sha256=yenexlnHI9ecQhTDBPNChO2p25YNZ9btR5_cXd-ehLg,2665
|
|
112
244
|
flowfile_core/schemas/schemas.py,sha256=_CXS-YUMOwJTlWAX4mPnhqHD7ZiQy3DM7rHB2eSbHUY,2647
|
|
@@ -119,15 +251,14 @@ flowfile_core/utils/excel_file_manager.py,sha256=EIad2LenHu-3Yw1FcLmE0KgmLflnvNK
|
|
|
119
251
|
flowfile_core/utils/fileManager.py,sha256=LnJhK_pwjb9MIApG2e4Hp3L5Z7Wny8YYHaL9SkW8WlE,1371
|
|
120
252
|
flowfile_core/utils/fl_executor.py,sha256=eNnNZHZ9451brzZD00_X8aoCHFl1hR1gVOIGxtE0Db4,1301
|
|
121
253
|
flowfile_core/utils/utils.py,sha256=NkEu21OF1l5weu01g-dAVdJ6BRHdpT2jBrWBSi-wp3c,270
|
|
122
|
-
flowfile_frame/__init__.py,sha256
|
|
123
|
-
flowfile_frame/__main__.py,sha256=qN0H-bYXDLIDoJNAurXep27crvKNHiz90HOGWbvC0HM,413
|
|
254
|
+
flowfile_frame/__init__.py,sha256=N5ZART5UuwRooekfMr_vwtgxFNvIr9uTPAepoYSg7Pg,1302
|
|
124
255
|
flowfile_frame/adapters.py,sha256=C6JZZKANoKbHHmwMaF9AqAcZvITvQeb2Dklcpg5JAdY,530
|
|
125
256
|
flowfile_frame/expr.py,sha256=wzJLiHtAqBA4NUEyXW8UhNJJ2jiGDvWEX8RfWT5ICwQ,47370
|
|
126
257
|
flowfile_frame/flow_frame.py,sha256=TP3u7Nyq0TuT3sba0NGLCgMPnug5MuFCKE7Djafud-U,77559
|
|
127
258
|
flowfile_frame/group_frame.py,sha256=MMGE2_DC8n1J2UxBBm_TyacGiRT_1V2CcWUvsIyhbIQ,9115
|
|
128
259
|
flowfile_frame/join.py,sha256=pezHyNQMcaSPK9vhjaCaelMkgKdrvOQxwiROsa0fmN8,2480
|
|
129
260
|
flowfile_frame/selectors.py,sha256=Ny5IpDP481ClNr5gI7_SjXzeqF16LsPcVQxiyUf5tUw,9130
|
|
130
|
-
flowfile_frame/utils.py,sha256=
|
|
261
|
+
flowfile_frame/utils.py,sha256=LwsNm8tvqcyaAeGX1PNQbpt-NenDsM8jx9SbxhDslZI,1348
|
|
131
262
|
flowfile_worker/__init__.py,sha256=ZDdn3JCP7LWTiTsmntVIVduB4p2bUkJcZUKVEj7V9TU,1375
|
|
132
263
|
flowfile_worker/configs.py,sha256=7fYtlj06vxDrMiRuMbwvSDOD1JRVMZqnPbcQFuikCJM,2714
|
|
133
264
|
flowfile_worker/create/__init__.py,sha256=vkWy5uODffivUdxt3nNVALj6xgQK3HPBetqR-QqZ-uo,1643
|
|
@@ -164,8 +295,8 @@ test_utils/__init__.py,sha256=8WwOgIuKw6YtOc1GWR1DqIhQ8BhlLWqsMyQJSpxnzKk,66
|
|
|
164
295
|
test_utils/postgres/__init__.py,sha256=y3V_6a9N1Pvm5NIBaA8CFf3i4mvPVY-H1teHA-rg0VU,33
|
|
165
296
|
test_utils/postgres/commands.py,sha256=4oA8EHW3EqwGkG02HSqEGbXEBGM01sUW5FsyHm86W4k,4347
|
|
166
297
|
test_utils/postgres/fixtures.py,sha256=kR8UBjQr3pgbe-xM-V8x8VseTHCPv0EmDEzPHl5Qc8Y,13507
|
|
167
|
-
flowfile-0.3.0.dist-info/LICENSE,sha256=pCfLAA27jMHReYk_wGiirZxWRRXz_Bm7PVInRCa9P5g,1075
|
|
168
|
-
flowfile-0.3.0.dist-info/METADATA,sha256=
|
|
169
|
-
flowfile-0.3.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
170
|
-
flowfile-0.3.0.dist-info/entry_points.txt,sha256=
|
|
171
|
-
flowfile-0.3.0.dist-info/RECORD,,
|
|
298
|
+
flowfile-0.3.0.1.dist-info/LICENSE,sha256=pCfLAA27jMHReYk_wGiirZxWRRXz_Bm7PVInRCa9P5g,1075
|
|
299
|
+
flowfile-0.3.0.1.dist-info/METADATA,sha256=aQmesMnk3ZIczqoSPJ2Csa55pQ9rk8XDPgG-_33XVP0,8954
|
|
300
|
+
flowfile-0.3.0.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
301
|
+
flowfile-0.3.0.1.dist-info/entry_points.txt,sha256=Q3CEYNk33UaWlA9D-8yXYH0FwjKBsrtNuzzzHxhwnNI,333
|
|
302
|
+
flowfile-0.3.0.1.dist-info/RECORD,,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
build_backends=build_backends.main:main
|
|
3
3
|
build_backends_prd=build_backends.main_prd:main
|
|
4
|
+
flowfile=flowfile.__main__:main
|
|
4
5
|
flowfile_core=flowfile_core.main:run
|
|
5
6
|
flowfile_worker=flowfile_worker.main:run
|
|
6
|
-
flowframe=flowframe.__main__:main
|
|
7
7
|
start_postgres=test_utils.postgres.commands:start_postgres
|
|
8
8
|
stop_postgres=test_utils.postgres.commands:stop_postgres
|
|
9
9
|
|
|
@@ -15,6 +15,7 @@ from starlette.datastructures import Secret
|
|
|
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("SINGLE_FILE_MODE", "0") == "1"
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
def parse_args():
|
|
@@ -29,34 +30,10 @@ def parse_args():
|
|
|
29
30
|
parser.add_argument(
|
|
30
31
|
"--worker-port",
|
|
31
32
|
type=int,
|
|
32
|
-
default=DEFAULT_WORKER_PORT,
|
|
33
33
|
help="Port for the worker process",
|
|
34
34
|
)
|
|
35
|
-
|
|
36
|
-
# Use known_args to handle PyInstaller's extra args
|
|
37
35
|
args = parser.parse_known_args()[0]
|
|
38
36
|
|
|
39
|
-
# Validate arguments
|
|
40
|
-
if args.port < 1 or args.port > 65535:
|
|
41
|
-
raise ValueError(
|
|
42
|
-
f"Invalid port number: {args.port}. Port must be between 1 and 65535."
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
if args.worker_port < 1 or args.worker_port > 65535:
|
|
46
|
-
raise ValueError(
|
|
47
|
-
f"Invalid worker port number: {args.worker_port}. Port must be between 1 and 65535."
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
# Check if host is valid (basic check)
|
|
51
|
-
if not args.host:
|
|
52
|
-
raise ValueError("Host cannot be empty")
|
|
53
|
-
|
|
54
|
-
# Check that server and worker ports are different
|
|
55
|
-
if args.port == args.worker_port:
|
|
56
|
-
raise ValueError(
|
|
57
|
-
f"Server port ({args.port}) and worker port ({args.worker_port}) must be different"
|
|
58
|
-
)
|
|
59
|
-
|
|
60
37
|
return args
|
|
61
38
|
|
|
62
39
|
|
|
@@ -80,7 +57,6 @@ def get_default_worker_url(worker_port=None):
|
|
|
80
57
|
# Check for Docker environment first
|
|
81
58
|
worker_host = os.getenv("WORKER_HOST", None)
|
|
82
59
|
|
|
83
|
-
# Use the provided port if available, otherwise get from env or default
|
|
84
60
|
if worker_port is None:
|
|
85
61
|
worker_port = os.getenv("WORKER_PORT", DEFAULT_WORKER_PORT)
|
|
86
62
|
|
|
@@ -88,22 +64,21 @@ def get_default_worker_url(worker_port=None):
|
|
|
88
64
|
worker_port = int(worker_port) if isinstance(worker_port, str) else worker_port
|
|
89
65
|
|
|
90
66
|
if worker_host:
|
|
91
|
-
|
|
67
|
+
worker_url = f"http://{worker_host}:{worker_port}"
|
|
92
68
|
|
|
93
|
-
|
|
94
|
-
|
|
69
|
+
elif platform.system() == "Windows":
|
|
70
|
+
worker_url = f"http://127.0.0.1:{worker_port}"
|
|
95
71
|
else:
|
|
96
|
-
|
|
72
|
+
worker_url = f"http://0.0.0.0:{worker_port}"
|
|
73
|
+
worker_url += "/worker" if SINGLE_FILE_MODE else ""
|
|
74
|
+
return worker_url
|
|
97
75
|
|
|
98
76
|
|
|
99
|
-
# Get server arguments
|
|
100
77
|
args = parse_args()
|
|
101
78
|
|
|
102
79
|
SERVER_HOST = args.host if args.host is not None else DEFAULT_SERVER_HOST
|
|
103
80
|
SERVER_PORT = args.port if args.port is not None else DEFAULT_SERVER_PORT
|
|
104
81
|
WORKER_PORT = args.worker_port if args.worker_port is not None else int(os.getenv("WORKER_PORT", DEFAULT_WORKER_PORT))
|
|
105
|
-
|
|
106
|
-
|
|
107
82
|
# Worker configuration
|
|
108
83
|
WORKER_HOST = os.getenv("WORKER_HOST", "0.0.0.0" if platform.system() != "Windows" else "127.0.0.1")
|
|
109
84
|
|
|
@@ -717,6 +717,7 @@ class FlowGraph:
|
|
|
717
717
|
|
|
718
718
|
def add_output(self, output_file: input_schema.NodeOutput):
|
|
719
719
|
def _func(df: FlowDataEngine):
|
|
720
|
+
output_file.output_settings.populate_abs_file_path()
|
|
720
721
|
execute_remote = self.execution_location != 'local'
|
|
721
722
|
df.output(output_fs=output_file.output_settings, flow_id=self.flow_id, node_id=output_file.node_id,
|
|
722
723
|
execute_remote=execute_remote)
|
|
@@ -726,14 +727,14 @@ class FlowGraph:
|
|
|
726
727
|
input_node: FlowNode = self.get_node(output_file.node_id).node_inputs.main_inputs[0]
|
|
727
728
|
|
|
728
729
|
return input_node.schema
|
|
729
|
-
|
|
730
|
+
input_node_id = getattr(output_file, "depending_on_id") if hasattr(output_file, 'depending_on_id') else None
|
|
730
731
|
self.add_node_step(node_id=output_file.node_id,
|
|
731
732
|
function=_func,
|
|
732
733
|
input_columns=[],
|
|
733
734
|
node_type='output',
|
|
734
735
|
setting_input=output_file,
|
|
735
736
|
schema_callback=schema_callback,
|
|
736
|
-
input_node_ids=[
|
|
737
|
+
input_node_ids=[input_node_id])
|
|
737
738
|
|
|
738
739
|
def add_database_writer(self, node_database_writer: input_schema.NodeDatabaseWriter):
|
|
739
740
|
logger.info("Adding database reader")
|
|
@@ -982,6 +983,7 @@ class FlowGraph:
|
|
|
982
983
|
input_file.received_file.set_absolute_filepath()
|
|
983
984
|
|
|
984
985
|
def _func():
|
|
986
|
+
input_file.received_file.set_absolute_filepath()
|
|
985
987
|
if input_file.received_file.file_type == 'parquet':
|
|
986
988
|
input_data = FlowDataEngine.create_from_path(input_file.received_file)
|
|
987
989
|
elif input_file.received_file.file_type == 'csv' and 'utf' in input_file.received_file.encoding:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import Dict, Set, List
|
|
2
2
|
|
|
3
3
|
from flowfile_core.flowfile.analytics.graphic_walker import (get_initial_gf_data_from_ff,
|
|
4
|
-
|
|
4
|
+
convert_ff_columns_to_gw_fields)
|
|
5
5
|
from flowfile_core.flowfile.flow_node.flow_node import FlowNode
|
|
6
6
|
from flowfile_core.schemas.input_schema import NodeExploreData
|
|
7
7
|
from flowfile_core.schemas.analysis_schemas.graphic_walker_schemas import GraphicWalkerInput, DataModel, MutField, ViewField
|
flowfile_core/main.py
CHANGED
|
@@ -54,6 +54,8 @@ origins = [
|
|
|
54
54
|
"http://localhost:8081",
|
|
55
55
|
"http://localhost:4173",
|
|
56
56
|
"http://localhost:4174",
|
|
57
|
+
"http://localhost:63578",
|
|
58
|
+
"http://127.0.0.1:63578"
|
|
57
59
|
]
|
|
58
60
|
|
|
59
61
|
app.add_middleware(
|
|
@@ -117,7 +119,8 @@ def run(host: str = None, port: int = None):
|
|
|
117
119
|
app,
|
|
118
120
|
host=host,
|
|
119
121
|
port=port,
|
|
120
|
-
loop="asyncio"
|
|
122
|
+
loop="asyncio",
|
|
123
|
+
log_level="warning",
|
|
121
124
|
)
|
|
122
125
|
server = uvicorn.Server(config)
|
|
123
126
|
server_instance = server # Store server instance globally
|
|
@@ -164,8 +164,7 @@ class OutputSettings(BaseModel):
|
|
|
164
164
|
|
|
165
165
|
@model_validator(mode='after')
|
|
166
166
|
def populate_abs_file_path(self):
|
|
167
|
-
|
|
168
|
-
self.set_absolute_filepath()
|
|
167
|
+
self.set_absolute_filepath()
|
|
169
168
|
return self
|
|
170
169
|
|
|
171
170
|
|
|
@@ -297,12 +296,6 @@ class DatabaseSettings(BaseModel):
|
|
|
297
296
|
query: Optional[str] = None
|
|
298
297
|
query_mode: Literal['query', 'table', 'reference'] = 'table'
|
|
299
298
|
|
|
300
|
-
@model_validator(mode='after')
|
|
301
|
-
def validate_table_or_query(self):
|
|
302
|
-
if (not self.table_name and not self.query) and self.query_mode == 'inline':
|
|
303
|
-
raise ValueError("Either 'table' or 'query' must be provided")
|
|
304
|
-
return self
|
|
305
|
-
|
|
306
299
|
@model_validator(mode='after')
|
|
307
300
|
def validate_table_or_query(self):
|
|
308
301
|
# Validate that either table_name or query is provided
|
flowfile_frame/__init__.py
CHANGED
flowfile_frame/utils.py
CHANGED
|
@@ -43,142 +43,3 @@ def create_flow_graph() -> FlowGraph:
|
|
|
43
43
|
flow_graph = FlowGraph(flow_id=flow_id, flow_settings=flow_settings)
|
|
44
44
|
flow_graph.flow_settings.execution_location = 'local' # always create a local frame so that the run time does not attempt to use the flowfile_worker process
|
|
45
45
|
return flow_graph
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def is_flowfile_running() -> bool:
|
|
49
|
-
"""Check if the Flowfile application is running by testing its API endpoint."""
|
|
50
|
-
try:
|
|
51
|
-
response = requests.get("http://0.0.0.0:63578/docs", timeout=2)
|
|
52
|
-
return response.status_code == 200
|
|
53
|
-
except (requests.ConnectionError, requests.Timeout):
|
|
54
|
-
return False
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def start_flowfile_application() -> bool:
|
|
58
|
-
"""Start the Flowfile application on macOS."""
|
|
59
|
-
try:
|
|
60
|
-
# Attempt to start the Flowfile application
|
|
61
|
-
subprocess.Popen(['open', '-a', 'Flowfile'],
|
|
62
|
-
stdout=subprocess.PIPE,
|
|
63
|
-
stderr=subprocess.PIPE)
|
|
64
|
-
|
|
65
|
-
# Wait for the application to start up (max 10 seconds)
|
|
66
|
-
start_time = time.time()
|
|
67
|
-
while time.time() - start_time < 10:
|
|
68
|
-
if is_flowfile_running():
|
|
69
|
-
return True
|
|
70
|
-
time.sleep(0.5) # Check every half second
|
|
71
|
-
|
|
72
|
-
# If we get here, the app didn't start in time
|
|
73
|
-
return False
|
|
74
|
-
except Exception as e:
|
|
75
|
-
print(f"Error starting Flowfile application: {e}")
|
|
76
|
-
return False
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
def get_auth_token() -> Optional[str]:
|
|
80
|
-
"""Get an authentication token from the Flowfile API."""
|
|
81
|
-
try:
|
|
82
|
-
response = requests.post(
|
|
83
|
-
"http://0.0.0.0:63578/auth/token",
|
|
84
|
-
json={}, # Empty body as specified
|
|
85
|
-
timeout=5
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
if response.status_code == 200:
|
|
89
|
-
token_data = response.json()
|
|
90
|
-
return token_data.get("access_token")
|
|
91
|
-
else:
|
|
92
|
-
print(f"Failed to get auth token: {response.status_code} - {response.text}")
|
|
93
|
-
return None
|
|
94
|
-
except Exception as e:
|
|
95
|
-
print(f"Error getting auth token: {e}")
|
|
96
|
-
return None
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
def import_flow_to_editor(flow_path: str, auth_token: str) -> Optional[int]:
|
|
100
|
-
"""Import the flow into the Flowfile editor using the API endpoint."""
|
|
101
|
-
try:
|
|
102
|
-
flow_path = Path(flow_path).resolve() # Get absolute path
|
|
103
|
-
if not flow_path.exists():
|
|
104
|
-
print(f"Flow file not found: {flow_path}")
|
|
105
|
-
return None
|
|
106
|
-
|
|
107
|
-
# Set authorization header with the token
|
|
108
|
-
headers = {"Authorization": f"Bearer {auth_token}"}
|
|
109
|
-
|
|
110
|
-
# Make a GET request to the import endpoint
|
|
111
|
-
response = requests.get(
|
|
112
|
-
"http://0.0.0.0:63578/import_flow/",
|
|
113
|
-
params={"flow_path": str(flow_path)},
|
|
114
|
-
headers=headers,
|
|
115
|
-
timeout=10
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
if response.status_code == 200:
|
|
119
|
-
flow_id = response.json()
|
|
120
|
-
print(f"Flow imported successfully with ID: {flow_id}")
|
|
121
|
-
return flow_id
|
|
122
|
-
else:
|
|
123
|
-
print(f"Failed to import flow: {response.status_code} - {response.text}")
|
|
124
|
-
return None
|
|
125
|
-
except Exception as e:
|
|
126
|
-
print(f"Error importing flow: {e}")
|
|
127
|
-
return None
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
def open_graph_in_editor(flow_graph: FlowGraph, storage_location: str = None) -> bool:
|
|
131
|
-
"""
|
|
132
|
-
Save the ETL graph and open it in the Flowfile editor.
|
|
133
|
-
|
|
134
|
-
Parameters:
|
|
135
|
-
-----------
|
|
136
|
-
flow_graph : FlowGraph
|
|
137
|
-
The graph to save and open
|
|
138
|
-
storage_location : str, optional
|
|
139
|
-
Where to save the flowfile. If None, a default name is used.
|
|
140
|
-
|
|
141
|
-
Returns:
|
|
142
|
-
--------
|
|
143
|
-
bool
|
|
144
|
-
True if the graph was successfully opened in the editor, False otherwise
|
|
145
|
-
"""
|
|
146
|
-
# Create a temporary directory if needed
|
|
147
|
-
temp_dir = None
|
|
148
|
-
if storage_location is None:
|
|
149
|
-
temp_dir = TemporaryDirectory()
|
|
150
|
-
storage_location = os.path.join(temp_dir.name, 'temp_flow.flowfile')
|
|
151
|
-
else:
|
|
152
|
-
# Ensure path is absolute
|
|
153
|
-
storage_location = os.path.abspath(storage_location)
|
|
154
|
-
|
|
155
|
-
flow_graph.apply_layout()
|
|
156
|
-
flow_graph.save_flow(storage_location)
|
|
157
|
-
print(f"Flow saved to: {storage_location}")
|
|
158
|
-
|
|
159
|
-
# Check if Flowfile is running, and start it if not
|
|
160
|
-
if not is_flowfile_running():
|
|
161
|
-
print("Flowfile application is not running. Starting it...")
|
|
162
|
-
if not start_flowfile_application():
|
|
163
|
-
print("Failed to start Flowfile application")
|
|
164
|
-
if temp_dir:
|
|
165
|
-
temp_dir.cleanup()
|
|
166
|
-
return False
|
|
167
|
-
print("Flowfile application started successfully")
|
|
168
|
-
|
|
169
|
-
# Get authentication token
|
|
170
|
-
auth_token = get_auth_token()
|
|
171
|
-
if not auth_token:
|
|
172
|
-
print("Failed to authenticate with Flowfile API")
|
|
173
|
-
if temp_dir:
|
|
174
|
-
temp_dir.cleanup()
|
|
175
|
-
return False
|
|
176
|
-
|
|
177
|
-
# Import the flow into the editor
|
|
178
|
-
flow_id = import_flow_to_editor(storage_location, auth_token)
|
|
179
|
-
|
|
180
|
-
# Clean up temporary directory if we created one
|
|
181
|
-
if temp_dir:
|
|
182
|
-
temp_dir.cleanup()
|
|
183
|
-
|
|
184
|
-
return flow_id is not None
|
flowfile_frame/__main__.py
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"""Main entry point for the FlowFrame CLI."""
|
|
2
|
-
|
|
3
|
-
def main():
|
|
4
|
-
"""Main entry point for the FlowFrame CLI."""
|
|
5
|
-
print("FlowFrame - A Polars-like API for building ETL graphs")
|
|
6
|
-
print("Usage: import flowframe as ff")
|
|
7
|
-
print(" df = ff.from_dict({'a': [1, 2, 3]})")
|
|
8
|
-
print(" result = df.filter(ff.col('a') > 1)")
|
|
9
|
-
print(" print(result.collect())")
|
|
10
|
-
|
|
11
|
-
if __name__ == "__main__":
|
|
12
|
-
main()
|
|
File without changes
|
|
File without changes
|