Flowfile 0.5.4__py3-none-any.whl → 0.6.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.
Files changed (259) hide show
  1. flowfile/__main__.py +94 -1
  2. flowfile/api.py +8 -6
  3. flowfile/web/static/assets/{AdminView-f9847d67.js → AdminView-C4K1DdHI.js} +28 -33
  4. flowfile/web/static/assets/{CloudConnectionView-faace55b.js → CloudConnectionView-BZbPvPUL.js} +39 -50
  5. flowfile/web/static/assets/{CloudStorageReader-24c54524.css → CloudStorageReader-BDByiqPI.css} +25 -25
  6. flowfile/web/static/assets/{CloudStorageReader-d86ecaa7.js → CloudStorageReader-DLVukNJ7.js} +30 -35
  7. flowfile/web/static/assets/{CloudStorageWriter-0f4d9a44.js → CloudStorageWriter-Bfi-C1QW.js} +32 -37
  8. flowfile/web/static/assets/{CloudStorageWriter-60547855.css → CloudStorageWriter-y8jL8yjG.css} +24 -24
  9. flowfile/web/static/assets/{ColumnActionInput-f4189ae0.js → ColumnActionInput-BpiCApw9.js} +7 -12
  10. flowfile/web/static/assets/{ColumnSelector-e66b33da.js → ColumnSelector-CEAwedI7.js} +1 -2
  11. flowfile/web/static/assets/ContextMenu-CdojQu0w.js +9 -0
  12. flowfile/web/static/assets/ContextMenu-D12mhsy1.js +9 -0
  13. flowfile/web/static/assets/ContextMenu-EWUR98va.js +9 -0
  14. flowfile/web/static/assets/{ContextMenu.vue_vue_type_script_setup_true_lang-a1bd6314.js → ContextMenu.vue_vue_type_script_setup_true_lang-I4rXXd6G.js} +4 -5
  15. flowfile/web/static/assets/{CrossJoin-24694b8f.js → CrossJoin-BOFfxkJO.js} +19 -18
  16. flowfile/web/static/assets/{CrossJoin-71b4cc10.css → CrossJoin-Cmbyt9im.css} +18 -18
  17. flowfile/web/static/assets/{CustomNode-569d45ff.js → CustomNode-Bhpezobq.js} +12 -17
  18. flowfile/web/static/assets/{DatabaseConnectionSettings-cfc08938.js → DatabaseConnectionSettings-Dw3bSJKB.js} +10 -11
  19. flowfile/web/static/assets/{DatabaseReader-5bf8c75b.css → DatabaseReader-D6pUNUCs.css} +21 -21
  20. flowfile/web/static/assets/{DatabaseReader-701feabb.js → DatabaseReader-m87ghlw0.js} +36 -34
  21. flowfile/web/static/assets/{DatabaseView-0482e5b5.js → DatabaseView-CisSAtpe.js} +30 -38
  22. flowfile/web/static/assets/{DatabaseWriter-16721989.js → DatabaseWriter-Bbj9JLdL.js} +33 -35
  23. flowfile/web/static/assets/{DatabaseWriter-bdcf2c8b.css → DatabaseWriter-RBqdFLj8.css} +17 -17
  24. flowfile/web/static/assets/{DesignerView-f64749fb.js → DesignerView-DemDevTQ.js} +1841 -2090
  25. flowfile/web/static/assets/{DesignerView-49abb835.css → DesignerView-Dm6OzlIc.css} +244 -202
  26. flowfile/web/static/assets/{DocumentationView-61bd2990.js → DocumentationView-BrC1ZR3H.js} +3 -4
  27. flowfile/web/static/assets/{ExploreData-e2735b13.js → ExploreData-BMKcDuRb.js} +8 -10
  28. flowfile/web/static/assets/{ExternalSource-2535c3b2.js → ExternalSource-BXrNNS-f.js} +40 -42
  29. flowfile/web/static/assets/{ExternalSource-7ac7373f.css → ExternalSource-NB6WVl5R.css} +14 -14
  30. flowfile/web/static/assets/{Filter-2cdbc93c.js → Filter-C2MjsN6P.js} +36 -33
  31. flowfile/web/static/assets/{Filter-7494ea97.css → Filter-DCMGGuGC.css} +9 -9
  32. flowfile/web/static/assets/{Formula-53d58c43.css → Formula-BYafbDj8.css} +4 -4
  33. flowfile/web/static/assets/{Formula-fcda3c2c.js → Formula-ufuy4mVD.js} +27 -26
  34. flowfile/web/static/assets/{FuzzyMatch-ad6361d6.css → FuzzyMatch-BGJAwgd0.css} +42 -42
  35. flowfile/web/static/assets/{FuzzyMatch-f8d3b7d3.js → FuzzyMatch-BOHODq3h.js} +36 -38
  36. flowfile/web/static/assets/{GraphSolver-72eaa695.js → GraphSolver-B6ZzpNGO.js} +23 -21
  37. flowfile/web/static/assets/{GraphSolver-4b4d7db9.css → GraphSolver-DFN83sj3.css} +4 -4
  38. flowfile/web/static/assets/{GroupBy-8aa0598b.js → GroupBy-B9BRNcfe.js} +30 -29
  39. flowfile/web/static/assets/{Sort-4abb7fae.css → GroupBy-x4ooP5np.css} +1 -1
  40. flowfile/web/static/assets/Join-Bx_g5bZz.css +118 -0
  41. flowfile/web/static/assets/{Join-e40f0ffa.js → Join-DsBEy1IH.js} +48 -43
  42. flowfile/web/static/assets/{LoginView-5111c9ae.js → LoginView-Ct0rhdcO.js} +1 -2
  43. flowfile/web/static/assets/{ManualInput-3702e677.css → ManualInput-DlZmtMdt.css} +48 -48
  44. flowfile/web/static/assets/{ManualInput-9b6f3224.js → ManualInput-bC4BUgnG.js} +85 -44
  45. flowfile/web/static/assets/{MultiSelect-ef28e19e.js → MultiSelect-DIQ8PuTC.js} +2 -2
  46. flowfile/web/static/assets/{MultiSelect.vue_vue_type_script_setup_true_lang-83b3bbfd.js → MultiSelect.vue_vue_type_script_setup_true_lang-BefHfqTI.js} +1 -1
  47. flowfile/web/static/assets/{NodeDesigner-d2b7ee2b.js → NodeDesigner-D39yzr2k.js} +178 -208
  48. flowfile/web/static/assets/{NodeDesigner-94cd4dd3.css → NodeDesigner-R0l6sYyY.css} +76 -76
  49. flowfile/web/static/assets/{NumericInput-1d789794.js → NumericInput-DMSX3oOr.js} +2 -2
  50. flowfile/web/static/assets/{NumericInput.vue_vue_type_script_setup_true_lang-7775f83e.js → NumericInput.vue_vue_type_script_setup_true_lang-d0YlVHAl.js} +1 -1
  51. flowfile/web/static/assets/{Output-cefef801.js → Output-D0VoXGcW.js} +26 -34
  52. flowfile/web/static/assets/{Output-692dd25d.css → Output-DsmglIDy.css} +5 -5
  53. flowfile/web/static/assets/{Pivot-bab1b75b.js → Pivot-BnMB4sEe.js} +26 -26
  54. flowfile/web/static/assets/{Pivot-0eda81b4.css → Pivot-qKTyWxop.css} +4 -4
  55. flowfile/web/static/assets/{PivotValidation-fba09336.js → PivotValidation-B2lWvugt.js} +7 -9
  56. flowfile/web/static/assets/{PivotValidation-e7941f91.js → PivotValidation-BPlhRjpL.js} +7 -9
  57. flowfile/web/static/assets/{PolarsCode-740e40fa.js → PolarsCode-5h0tHnWR.js} +22 -20
  58. flowfile/web/static/assets/PopOver-BHpt5rsj.js +134 -0
  59. flowfile/web/static/assets/{PopOver-d96599db.css → PopOver-CyYM4-rV.css} +1 -1
  60. flowfile/web/static/assets/{Read-90f366bc.css → Read-DJxkrTb_.css} +10 -10
  61. flowfile/web/static/assets/Read-TsLEFh3B.js +227 -0
  62. flowfile/web/static/assets/{RecordCount-ffc71eca.js → RecordCount-DkVixq9v.js} +18 -17
  63. flowfile/web/static/assets/{RecordId-a70bb8df.js → RecordId-C2UEGlCf.js} +42 -39
  64. flowfile/web/static/assets/{SQLQueryComponent-15a421f5.js → SQLQueryComponent-Dr5KMoD3.js} +2 -3
  65. flowfile/web/static/assets/{Sample-6c26afc7.js → Sample-Cb3eQNmd.js} +30 -30
  66. flowfile/web/static/assets/{SecretSelector-ceed9496.js → SecretSelector-De2L2bSx.js} +3 -4
  67. flowfile/web/static/assets/{SecretsView-214d255a.js → SecretsView-CheC9BPV.js} +13 -16
  68. flowfile/web/static/assets/{Select-8fc29999.js → Select-CI8TloRs.js} +41 -36
  69. flowfile/web/static/assets/{SettingsSection-9f0d1725.js → SettingsSection-B39ulIiI.js} +1 -2
  70. flowfile/web/static/assets/{SettingsSection-83090218.js → SettingsSection-BiCc7S9h.js} +1 -2
  71. flowfile/web/static/assets/{SettingsSection-3f70e4c3.js → SettingsSection-CITK_R7o.js} +2 -3
  72. flowfile/web/static/assets/{SettingsSection-26fe48d4.css → SettingsSection-D2GgY-Aq.css} +4 -4
  73. flowfile/web/static/assets/{SetupView-3fa0aa03.js → SetupView-C1aXRDvp.js} +3 -4
  74. flowfile/web/static/assets/{SetupView-e2da3442.css → SetupView-CI1nd-5Z.css} +38 -38
  75. flowfile/web/static/assets/{SingleSelect-a4a568cb.js → SingleSelect-Kr_hz90m.js} +2 -2
  76. flowfile/web/static/assets/{SingleSelect.vue_vue_type_script_setup_true_lang-c8ebdd33.js → SingleSelect.vue_vue_type_script_setup_true_lang-Rxht5Z5N.js} +1 -1
  77. flowfile/web/static/assets/{SliderInput-be533e71.js → SliderInput-CLqpCxCb.js} +1 -2
  78. flowfile/web/static/assets/{GroupBy-5792782d.css → Sort-BIt2kc_p.css} +1 -1
  79. flowfile/web/static/assets/{Sort-154dad81.js → Sort-Dnw_J6Qi.js} +25 -25
  80. flowfile/web/static/assets/{TextInput-454e2bda.js → TextInput-wdlunIZC.js} +2 -2
  81. flowfile/web/static/assets/{TextInput.vue_vue_type_script_setup_true_lang-e86510d0.js → TextInput.vue_vue_type_script_setup_true_lang-Bcj3ywzv.js} +1 -1
  82. flowfile/web/static/assets/{TextToRows-ea73433d.js → TextToRows-BhtyGWPq.js} +42 -49
  83. flowfile/web/static/assets/{TextToRows-12afb4f4.css → TextToRows-DivDOLDx.css} +9 -9
  84. flowfile/web/static/assets/{ToggleSwitch-9d7b30f1.js → ToggleSwitch-B-6WzfFf.js} +2 -2
  85. flowfile/web/static/assets/{ToggleSwitch.vue_vue_type_script_setup_true_lang-00f2580e.js → ToggleSwitch.vue_vue_type_script_setup_true_lang-Cj8LqT-b.js} +1 -1
  86. flowfile/web/static/assets/{UnavailableFields-b72a2c72.js → UnavailableFields-Yf6XSqFB.js} +2 -3
  87. flowfile/web/static/assets/{Union-1e44f263.js → Union-CwpjeKYC.js} +20 -23
  88. flowfile/web/static/assets/{Unpivot-b6ad6427.css → Union-DQJcpp3-.css} +6 -6
  89. flowfile/web/static/assets/{Unique-a3bc6d0a.js → Unique-25v3urqH.js} +75 -74
  90. flowfile/web/static/assets/{Union-d6a8d7d5.css → Unpivot-Deqh1gtI.css} +6 -6
  91. flowfile/web/static/assets/{Unpivot-e27935fc.js → Unpivot-sYcTTXrq.js} +34 -27
  92. flowfile/web/static/assets/{UnpivotValidation-72497680.js → UnpivotValidation-C5DDEKY2.js} +5 -7
  93. flowfile/web/static/assets/VueGraphicWalker-B8l1_Z92.js +131 -0
  94. flowfile/web/static/assets/VueGraphicWalker-Da_1-3me.css +21 -0
  95. flowfile/web/static/assets/{api-a2102880.js → api-C0LvF-0C.js} +1 -1
  96. flowfile/web/static/assets/{api-f75042b0.js → api-DaC83EO_.js} +1 -1
  97. flowfile/web/static/assets/client-C8Ygr6Gb.js +42 -0
  98. flowfile/web/static/assets/{dropDown-2798a109.js → dropDown-D5YXaPRR.js} +7 -12
  99. flowfile/web/static/assets/{fullEditor-cf7d7d93.js → fullEditor-BVYnWm05.js} +300 -18
  100. flowfile/web/static/assets/genericNodeSettings-2wAu-QKn.css +75 -0
  101. flowfile/web/static/assets/genericNodeSettings-BBtW_Cpz.js +590 -0
  102. flowfile/web/static/assets/{VueGraphicWalker-d9ab70a3.js → graphic-walker.es-VrK6vdGE.js} +92305 -89751
  103. flowfile/web/static/assets/index-BCJxPfM5.js +6693 -0
  104. flowfile/web/static/assets/{index-f0a6e5a5.js → index-CHPMUR0d.js} +150 -170
  105. flowfile/web/static/assets/index-DPkoZWq8.js +32 -0
  106. flowfile/web/static/assets/index-DnW_KC_I.js +277 -0
  107. flowfile/web/static/assets/index-UFXyfirV.css +10797 -0
  108. flowfile/web/static/assets/index-bcuE0Z0p.js +87456 -0
  109. flowfile/web/static/assets/{node.types-2c15bb7e.js → node.types-Dl4gtSW9.js} +2 -2
  110. flowfile/web/static/assets/{outputCsv-3c1757e8.js → outputCsv-BELuBiJZ.js} +2 -3
  111. flowfile/web/static/assets/outputCsv-CdGkv-fN.css +2581 -0
  112. flowfile/web/static/assets/{outputExcel-686e1f48.js → outputExcel-D0TTNM79.js} +1 -2
  113. flowfile/web/static/assets/{outputParquet-df28faa7.js → outputParquet-Cz9EbRHj.js} +1 -2
  114. flowfile/web/static/assets/{readCsv-e37eee21.js → readCsv-7bd3kUMI.js} +1 -2
  115. flowfile/web/static/assets/{readExcel-a13f14bb.js → readExcel-Cq8CCwIv.js} +3 -4
  116. flowfile/web/static/assets/{readParquet-c5244ad5.css → readParquet-CRDmBrsp.css} +4 -4
  117. flowfile/web/static/assets/{readParquet-344cf746.js → readParquet-DjR4mRaj.js} +4 -5
  118. flowfile/web/static/assets/{secrets.api-ae198c5c.js → secrets.api-C9o2KE5V.js} +1 -1
  119. flowfile/web/static/assets/{selectDynamic-6b4b0767.js → selectDynamic-Bl5FVsME.js} +5 -8
  120. flowfile/web/static/assets/useNodeSettings-dMS9zmh_.js +69 -0
  121. flowfile/web/static/assets/{vue-codemirror.esm-31ba0e0b.js → vue-codemirror.esm-CwaYwln0.js} +3469 -3064
  122. flowfile/web/static/assets/{vue-content-loader.es-4469c8ff.js → vue-content-loader.es-CMoRXo7N.js} +3 -3
  123. flowfile/web/static/index.html +2 -3
  124. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/METADATA +2 -1
  125. flowfile-0.6.1.dist-info/RECORD +417 -0
  126. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/WHEEL +1 -1
  127. flowfile_core/auth/password.py +1 -0
  128. flowfile_core/database/init_db.py +7 -5
  129. flowfile_core/fileExplorer/funcs.py +2 -2
  130. flowfile_core/flowfile/code_generator/code_generator.py +13 -11
  131. flowfile_core/flowfile/filter_expressions.py +327 -0
  132. flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +61 -59
  133. flowfile_core/flowfile/flow_data_engine/flow_file_column/type_registry.py +3 -29
  134. flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +45 -14
  135. flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +20 -3
  136. flowfile_core/flowfile/flow_data_engine/subprocess_operations/streaming.py +206 -0
  137. flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +158 -24
  138. flowfile_core/flowfile/flow_graph.py +504 -190
  139. flowfile_core/flowfile/flow_node/__init__.py +32 -0
  140. flowfile_core/flowfile/flow_node/executor.py +404 -0
  141. flowfile_core/flowfile/flow_node/flow_node.py +207 -106
  142. flowfile_core/flowfile/flow_node/models.py +40 -0
  143. flowfile_core/flowfile/flow_node/output_field_config_applier.py +217 -0
  144. flowfile_core/flowfile/flow_node/schema_utils.py +78 -0
  145. flowfile_core/flowfile/flow_node/state.py +155 -0
  146. flowfile_core/flowfile/history_manager.py +401 -0
  147. flowfile_core/flowfile/manage/compatibility_enhancements.py +9 -0
  148. flowfile_core/flowfile/manage/io_flowfile.py +3 -1
  149. flowfile_core/flowfile/sources/external_sources/sql_source/models.py +20 -4
  150. flowfile_core/flowfile/util/execution_orderer.py +89 -36
  151. flowfile_core/main.py +2 -4
  152. flowfile_core/routes/auth.py +8 -9
  153. flowfile_core/routes/routes.py +320 -101
  154. flowfile_core/routes/user_defined_components.py +18 -16
  155. flowfile_core/schemas/history_schema.py +220 -0
  156. flowfile_core/schemas/input_schema.py +130 -6
  157. flowfile_core/schemas/schemas.py +9 -0
  158. flowfile_core/schemas/transform_schema.py +27 -5
  159. flowfile_core/schemas/yaml_types.py +23 -5
  160. flowfile_frame/adding_expr.py +18 -126
  161. flowfile_frame/callable_utils.py +261 -0
  162. flowfile_frame/database/connection_manager.py +0 -1
  163. flowfile_frame/expr.py +8 -4
  164. flowfile_frame/flow_frame.py +41 -41
  165. flowfile_frame/lazy.py +3 -12
  166. flowfile_frame/lazy_methods.py +5 -64
  167. flowfile_frame/utils.py +13 -32
  168. flowfile_worker/funcs.py +6 -4
  169. flowfile_worker/main.py +2 -0
  170. flowfile_worker/models.py +31 -11
  171. flowfile_worker/routes.py +60 -35
  172. flowfile_worker/spawner.py +7 -1
  173. flowfile_worker/streaming.py +335 -0
  174. flowfile/web/static/assets/ContextMenu-49463352.js +0 -9
  175. flowfile/web/static/assets/ContextMenu-dd5f3f25.js +0 -9
  176. flowfile/web/static/assets/ContextMenu-f709b884.js +0 -9
  177. flowfile/web/static/assets/Join-28b5e18f.css +0 -109
  178. flowfile/web/static/assets/PopOver-862d7e28.js +0 -939
  179. flowfile/web/static/assets/Read-225cc63f.js +0 -222
  180. flowfile/web/static/assets/VueGraphicWalker-430f0b86.css +0 -6
  181. flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -24
  182. flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -23
  183. flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  184. flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  185. flowfile/web/static/assets/genericNodeSettings-14eac1c3.js +0 -137
  186. flowfile/web/static/assets/genericNodeSettings-3b2507ea.css +0 -46
  187. flowfile/web/static/assets/index-387a6f18.js +0 -60752
  188. flowfile/web/static/assets/index-6b367bb5.js +0 -38
  189. flowfile/web/static/assets/index-e96ab018.css +0 -10466
  190. flowfile/web/static/assets/nodeInput-ed2ae8d7.js +0 -2
  191. flowfile/web/static/assets/outputCsv-b9a072af.css +0 -2499
  192. flowfile-0.5.4.dist-info/RECORD +0 -407
  193. /flowfile/web/static/assets/{AdminView-f53bad23.css → AdminView-B2Dthl3u.css} +0 -0
  194. /flowfile/web/static/assets/{CloudConnectionView-cf85f943.css → CloudConnectionView-BdFYGWV7.css} +0 -0
  195. /flowfile/web/static/assets/{ColumnActionInput-c44b7aee.css → ColumnActionInput-dCasSIC9.css} +0 -0
  196. /flowfile/web/static/assets/{ColumnSelector-371637fb.css → ColumnSelector-j6sEOjo1.css} +0 -0
  197. /flowfile/web/static/assets/{CustomNode-edb9b939.css → CustomNode-VPlajG0j.css} +0 -0
  198. /flowfile/web/static/assets/{DatabaseConnectionSettings-c20a1e16.css → DatabaseConnectionSettings-B78hXYgu.css} +0 -0
  199. /flowfile/web/static/assets/{DatabaseView-6655afd6.css → DatabaseView-B-_adk1s.css} +0 -0
  200. /flowfile/web/static/assets/{DocumentationView-9ea6e871.css → DocumentationView-CL7iipFL.css} +0 -0
  201. /flowfile/web/static/assets/{ExploreData-10c5acc8.css → ExploreData-DHjv0Plr.css} +0 -0
  202. /flowfile/web/static/assets/{LoginView-d325d632.css → LoginView-DN1BXY3e.css} +0 -0
  203. /flowfile/web/static/assets/{PivotValidation-0e905b1a.css → PivotValidation-DK-FARWe.css} +0 -0
  204. /flowfile/web/static/assets/{PivotValidation-41b57ad6.css → PivotValidation-FUa9F47u.css} +0 -0
  205. /flowfile/web/static/assets/{PolarsCode-2b1f1f23.css → PolarsCode-G-gRSrSc.css} +0 -0
  206. /flowfile/web/static/assets/{SQLQueryComponent-edb90b98.css → SQLQueryComponent-oAbWw0r-.css} +0 -0
  207. /flowfile/web/static/assets/{SecretSelector-6329f743.css → SecretSelector-CJSadIZx.css} +0 -0
  208. /flowfile/web/static/assets/{SecretsView-aa291340.css → SecretsView-DbzIRAba.css} +0 -0
  209. /flowfile/web/static/assets/{SettingsSection-8f980839.css → SettingsSection-BGcJnH6q.css} +0 -0
  210. /flowfile/web/static/assets/{SettingsSection-07fbbc39.css → SettingsSection-DDWn_EGW.css} +0 -0
  211. /flowfile/web/static/assets/{SliderInput-f2e4f23c.css → SliderInput-BRk-q_Dk.css} +0 -0
  212. /flowfile/web/static/assets/{UnavailableFields-394a1f78.css → UnavailableFields-DRKDImKe.css} +0 -0
  213. /flowfile/web/static/assets/{Unique-2b705521.css → Unique-Absb0aON.css} +0 -0
  214. /flowfile/web/static/assets/{UnpivotValidation-d5ca3b7b.css → UnpivotValidation-DSBkFgS-.css} +0 -0
  215. /flowfile/web/static/assets/{airbyte-292aa232.png → airbyte-W0xvIXwZ.png} +0 -0
  216. /flowfile/web/static/assets/{cloud_storage_reader-aa1415d6.png → cloud_storage_reader-3GpSCk90.png} +0 -0
  217. /flowfile/web/static/assets/{cross_join-d30c0290.png → cross_join-B0qpgYoV.png} +0 -0
  218. /flowfile/web/static/assets/{dropDown-1d6acbd9.css → dropDown-CE0VF5_P.css} +0 -0
  219. /flowfile/web/static/assets/{explore_data-8a0a2861.png → explore_data-tX6olPPL.png} +0 -0
  220. /flowfile/web/static/assets/{fa-brands-400-808443ae.ttf → fa-brands-400-D1LuMI3I.ttf} +0 -0
  221. /flowfile/web/static/assets/{fa-brands-400-d7236a19.woff2 → fa-brands-400-D_cYUPeE.woff2} +0 -0
  222. /flowfile/web/static/assets/{fa-regular-400-e3456d12.woff2 → fa-regular-400-BjRzuEpd.woff2} +0 -0
  223. /flowfile/web/static/assets/{fa-regular-400-54cf6086.ttf → fa-regular-400-DZaxPHgR.ttf} +0 -0
  224. /flowfile/web/static/assets/{fa-solid-900-aa759986.woff2 → fa-solid-900-CTAAxXor.woff2} +0 -0
  225. /flowfile/web/static/assets/{fa-solid-900-d2f05935.ttf → fa-solid-900-D0aA9rwL.ttf} +0 -0
  226. /flowfile/web/static/assets/{fa-v4compatibility-0ce9033c.woff2 → fa-v4compatibility-C9RhG_FT.woff2} +0 -0
  227. /flowfile/web/static/assets/{fa-v4compatibility-30f6abf6.ttf → fa-v4compatibility-CCth-dXg.ttf} +0 -0
  228. /flowfile/web/static/assets/{filter-d7708bda.png → filter-WRdZyUOw.png} +0 -0
  229. /flowfile/web/static/assets/{formula-eeeb1611.png → formula-CgM7uHVI.png} +0 -0
  230. /flowfile/web/static/assets/{fullEditor-fe9f7e18.css → fullEditor-CmDI7T9F.css} +0 -0
  231. /flowfile/web/static/assets/{fuzzy_match-40c161b2.png → fuzzy_match-Yon3k5Tc.png} +0 -0
  232. /flowfile/web/static/assets/{graph_solver-8b7888b8.png → graph_solver-BlMrBttD.png} +0 -0
  233. /flowfile/web/static/assets/{group_by-80561fc3.png → group_by-Gici0CSS.png} +0 -0
  234. /flowfile/web/static/assets/{input_data-ab2eb678.png → input_data-BRdGecLc.png} +0 -0
  235. /flowfile/web/static/assets/{join-349043ae.png → join-BITWRu73.png} +0 -0
  236. /flowfile/web/static/assets/{manual_input-ae98f31d.png → manual_input-CFvo_EUS.png} +0 -0
  237. /flowfile/web/static/assets/{old_join-5d0eb604.png → old_join-B9bkpPqv.png} +0 -0
  238. /flowfile/web/static/assets/{output-06ec0371.png → output-Dp7-ZpC4.png} +0 -0
  239. /flowfile/web/static/assets/{outputExcel-f5d272b2.css → outputExcel-CKgRe2iT.css} +0 -0
  240. /flowfile/web/static/assets/{outputParquet-54597c3c.css → outputParquet-d7j407cK.css} +0 -0
  241. /flowfile/web/static/assets/{pivot-9660df51.png → pivot-DSxKhNlD.png} +0 -0
  242. /flowfile/web/static/assets/{polars_code-05ce5dc6.png → polars_code-DxiztZ1c.png} +0 -0
  243. /flowfile/web/static/assets/{readCsv-3bfac4c3.css → readCsv-BG-1Jilp.css} +0 -0
  244. /flowfile/web/static/assets/{readExcel-3db6b763.css → readExcel-DBQXKPtC.css} +0 -0
  245. /flowfile/web/static/assets/{record_count-dab44eb5.png → record_count-DCeaLtpS.png} +0 -0
  246. /flowfile/web/static/assets/{record_id-0b15856b.png → record_id-FeUjyIFh.png} +0 -0
  247. /flowfile/web/static/assets/{sample-693a88b5.png → sample-DeqfRiB-.png} +0 -0
  248. /flowfile/web/static/assets/{select-b0d0437a.png → select-D4JjbdjS.png} +0 -0
  249. /flowfile/web/static/assets/{selectDynamic-f2fb394f.css → selectDynamic-CjeTPUUo.css} +0 -0
  250. /flowfile/web/static/assets/{sort-2aa579f0.png → sort-DGwUG9WS.png} +0 -0
  251. /flowfile/web/static/assets/{summarize-2a099231.png → summarize-DFaNHpfp.png} +0 -0
  252. /flowfile/web/static/assets/{text_to_rows-859b29ea.png → text_to_rows-BdiAewrN.png} +0 -0
  253. /flowfile/web/static/assets/{union-2d8609f4.png → union-DCK-LSMq.png} +0 -0
  254. /flowfile/web/static/assets/{unique-1958b98a.png → unique-CdP3zZIq.png} +0 -0
  255. /flowfile/web/static/assets/{unpivot-d3cb4b5b.png → unpivot-CHttrEt8.png} +0 -0
  256. /flowfile/web/static/assets/{user-defined-icon-0ae16c90.png → user-defined-icon-BcIp2Vzo.png} +0 -0
  257. /flowfile/web/static/assets/{view-7a0f0be1.png → view-DUSRwjvq.png} +0 -0
  258. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/entry_points.txt +0 -0
  259. {flowfile-0.5.4.dist-info → flowfile-0.6.1.dist-info}/licenses/LICENSE +0 -0
flowfile_core/main.py CHANGED
@@ -4,10 +4,9 @@ import signal
4
4
  from contextlib import asynccontextmanager
5
5
 
6
6
  import uvicorn
7
- from fastapi import FastAPI
7
+ from fastapi import BackgroundTasks, FastAPI
8
8
  from fastapi.middleware.cors import CORSMiddleware
9
9
 
10
- from flowfile_core import ServerRun
11
10
  from flowfile_core.configs.flow_logger import clear_all_flow_logs
12
11
  from flowfile_core.configs.settings import (
13
12
  SERVER_HOST,
@@ -91,7 +90,7 @@ app.include_router(user_defined_components_router, prefix="/user_defined_compone
91
90
 
92
91
 
93
92
  @app.post("/shutdown")
94
- async def shutdown():
93
+ async def shutdown(background_tasks: BackgroundTasks):
95
94
  """An API endpoint to gracefully shut down the server.
96
95
 
97
96
  This endpoint sets a flag that the Uvicorn server checks, allowing it
@@ -99,7 +98,6 @@ async def shutdown():
99
98
  after the HTTP response has been sent.
100
99
  """
101
100
  # Use a background task to trigger the shutdown after the response is sent
102
- background_tasks = ServerRun()
103
101
  background_tasks.add_task(trigger_shutdown)
104
102
  return {"message": "Server is shutting down"}
105
103
 
@@ -1,16 +1,15 @@
1
1
  # app_routes/auth.py
2
2
 
3
3
  import os
4
- from typing import Optional, List
5
4
 
6
- from fastapi import APIRouter, Depends, HTTPException, status, Request, Form
5
+ from fastapi import APIRouter, Depends, Form, HTTPException, Request, status
7
6
  from sqlalchemy.orm import Session
8
7
 
9
- from flowfile_core.auth.jwt import get_current_active_user, get_current_admin_user, create_access_token
10
- from flowfile_core.auth.models import Token, User, UserCreate, UserUpdate, ChangePassword
11
- from flowfile_core.auth.password import verify_password, get_password_hash, validate_password, PASSWORD_REQUIREMENTS
12
- from flowfile_core.database.connection import get_db
8
+ from flowfile_core.auth.jwt import create_access_token, get_current_active_user, get_current_admin_user
9
+ from flowfile_core.auth.models import ChangePassword, Token, User, UserCreate, UserUpdate
10
+ from flowfile_core.auth.password import PASSWORD_REQUIREMENTS, get_password_hash, validate_password, verify_password
13
11
  from flowfile_core.database import models as db_models
12
+ from flowfile_core.database.connection import get_db
14
13
 
15
14
  router = APIRouter()
16
15
 
@@ -19,8 +18,8 @@ router = APIRouter()
19
18
  async def login_for_access_token(
20
19
  request: Request,
21
20
  db: Session = Depends(get_db),
22
- username: Optional[str] = Form(None),
23
- password: Optional[str] = Form(None)
21
+ username: str | None = Form(None),
22
+ password: str | None = Form(None)
24
23
  ):
25
24
  # In Electron mode, auto-authenticate without requiring form data
26
25
  if os.environ.get("FLOWFILE_MODE") == "electron":
@@ -58,7 +57,7 @@ async def read_users_me(current_user=Depends(get_current_active_user)):
58
57
 
59
58
  # ============= Admin User Management Endpoints =============
60
59
 
61
- @router.get("/users", response_model=List[User])
60
+ @router.get("/users", response_model=list[User])
62
61
  async def list_users(
63
62
  current_user: User = Depends(get_current_admin_user),
64
63
  db: Session = Depends(get_db)