Flowfile 0.3.0.2__tar.gz → 0.3.1__tar.gz

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.

Files changed (303) hide show
  1. {flowfile-0.3.0.2 → flowfile-0.3.1}/PKG-INFO +23 -11
  2. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/__main__.py +2 -2
  3. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/api.py +20 -10
  4. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/readme.md +3 -6
  5. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/__init__.py +4 -5
  6. flowfile-0.3.1/flowfile/web/static/favicon.ico +0 -0
  7. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/flow_frame.py +1 -1
  8. {flowfile-0.3.0.2 → flowfile-0.3.1}/pyproject.toml +1 -1
  9. {flowfile-0.3.0.2 → flowfile-0.3.1}/readme-pypi.md +22 -10
  10. {flowfile-0.3.0.2 → flowfile-0.3.1}/LICENSE +0 -0
  11. {flowfile-0.3.0.2 → flowfile-0.3.1}/build_backends/build_backends/__init__.py +0 -0
  12. {flowfile-0.3.0.2 → flowfile-0.3.1}/build_backends/build_backends/main.py +0 -0
  13. {flowfile-0.3.0.2 → flowfile-0.3.1}/build_backends/build_backends/main_prd.py +0 -0
  14. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/__init__.py +0 -0
  15. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/AirbyteReader-1ac35765.css +0 -0
  16. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/AirbyteReader-cb0c1d4a.js +0 -0
  17. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/CrossJoin-41efa4cb.css +0 -0
  18. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/CrossJoin-a514fa59.js +0 -0
  19. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css +0 -0
  20. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseConnectionSettings-f2cecf33.js +0 -0
  21. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseManager-30fa27e5.css +0 -0
  22. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseManager-83ee3c98.js +0 -0
  23. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseReader-dc0c6881.js +0 -0
  24. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseReader-f50c6558.css +0 -0
  25. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseWriter-2f570e53.css +0 -0
  26. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/DatabaseWriter-5afe9f8d.js +0 -0
  27. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ExploreData-5bdae813.css +0 -0
  28. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ExploreData-c7ee19cf.js +0 -0
  29. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ExternalSource-17b23a01.js +0 -0
  30. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ExternalSource-e37b6275.css +0 -0
  31. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Filter-90856b4f.js +0 -0
  32. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Filter-a9d08ba1.css +0 -0
  33. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Formula-38b71e9e.js +0 -0
  34. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Formula-d60a74f4.css +0 -0
  35. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/FuzzyMatch-6857de82.css +0 -0
  36. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/FuzzyMatch-d0f1fe81.js +0 -0
  37. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GoogleSheet-854294a4.js +0 -0
  38. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GoogleSheet-92084da7.css +0 -0
  39. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GraphSolver-0c86bbc6.js +0 -0
  40. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -0
  41. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GroupBy-ab1ea74b.css +0 -0
  42. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/GroupBy-f2772e9f.js +0 -0
  43. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Join-41c0f331.css +0 -0
  44. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Join-bc3e1cf7.js +0 -0
  45. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ManualInput-03aa0245.js +0 -0
  46. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/ManualInput-ac7b9972.css +0 -0
  47. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Output-48f81019.css +0 -0
  48. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Output-5b35eee8.js +0 -0
  49. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Pivot-7164087c.js +0 -0
  50. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Pivot-f415e85f.css +0 -0
  51. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/PolarsCode-3abf6507.js +0 -0
  52. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/PolarsCode-650322d1.css +0 -0
  53. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/PopOver-b37ff9be.js +0 -0
  54. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/PopOver-bccfde04.css +0 -0
  55. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Read-65966a3e.js +0 -0
  56. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Read-80dc1675.css +0 -0
  57. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/RecordCount-c66c6d6d.js +0 -0
  58. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/RecordId-826dc095.js +0 -0
  59. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Sample-4ed555c8.js +0 -0
  60. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/SecretManager-eac1e97d.js +0 -0
  61. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Select-085f05cc.js +0 -0
  62. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/SettingsSection-1f5e79c1.js +0 -0
  63. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/SettingsSection-9c836ecc.css +0 -0
  64. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Sort-3e6cb414.js +0 -0
  65. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Sort-7ccfa0fe.css +0 -0
  66. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/TextToRows-606349bc.js +0 -0
  67. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/TextToRows-c92d1ec2.css +0 -0
  68. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/UnavailableFields-5edd5322.css +0 -0
  69. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/UnavailableFields-b41976ed.js +0 -0
  70. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Union-8d9ac7f9.css +0 -0
  71. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Union-fca91665.js +0 -0
  72. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Unique-a59f830e.js +0 -0
  73. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Unique-b5615727.css +0 -0
  74. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -0
  75. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/Unpivot-c3815565.js +0 -0
  76. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/airbyte-292aa232.png +0 -0
  77. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/api-22b338bd.js +0 -0
  78. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/cross_join-d30c0290.png +0 -0
  79. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -0
  80. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -0
  81. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/designer-2394122a.css +0 -0
  82. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/designer-e5bbe26f.js +0 -0
  83. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/documentation-08045cf2.js +0 -0
  84. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/documentation-12216a74.css +0 -0
  85. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/dropDown-35135ba8.css +0 -0
  86. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/dropDown-5e7e9a5a.js +0 -0
  87. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/dropDownGeneric-50a91b99.js +0 -0
  88. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/dropDownGeneric-895680d6.css +0 -0
  89. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
  90. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
  91. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/explore_data-8a0a2861.png +0 -0
  92. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-brands-400-808443ae.ttf +0 -0
  93. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-brands-400-d7236a19.woff2 +0 -0
  94. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-regular-400-54cf6086.ttf +0 -0
  95. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-regular-400-e3456d12.woff2 +0 -0
  96. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-solid-900-aa759986.woff2 +0 -0
  97. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-solid-900-d2f05935.ttf +0 -0
  98. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-v4compatibility-0ce9033c.woff2 +0 -0
  99. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf +0 -0
  100. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/filter-d7708bda.png +0 -0
  101. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/formula-eeeb1611.png +0 -0
  102. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fullEditor-178376bb.css +0 -0
  103. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fullEditor-705c6ccb.js +0 -0
  104. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/fuzzy_match-40c161b2.png +0 -0
  105. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/genericNodeSettings-65587f20.js +0 -0
  106. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/genericNodeSettings-924759c7.css +0 -0
  107. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/graph_solver-8b7888b8.png +0 -0
  108. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/group_by-80561fc3.png +0 -0
  109. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/index-552863fd.js +0 -0
  110. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/index-681a3ed0.css +0 -0
  111. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/input_data-ab2eb678.png +0 -0
  112. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/join-349043ae.png +0 -0
  113. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/manual_input-ae98f31d.png +0 -0
  114. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/nodeTitle-cf9bae3c.js +0 -0
  115. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -0
  116. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/old_join-5d0eb604.png +0 -0
  117. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/output-06ec0371.png +0 -0
  118. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/pivot-9660df51.png +0 -0
  119. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/polars_code-05ce5dc6.png +0 -0
  120. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/record_count-dab44eb5.png +0 -0
  121. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/record_id-0b15856b.png +0 -0
  122. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/sample-693a88b5.png +0 -0
  123. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/secretApi-3ad510e1.js +0 -0
  124. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/select-b0d0437a.png +0 -0
  125. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/selectDynamic-b062bc9b.css +0 -0
  126. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/selectDynamic-bd644891.js +0 -0
  127. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/sort-2aa579f0.png +0 -0
  128. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/summarize-2a099231.png +0 -0
  129. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/text_to_rows-859b29ea.png +0 -0
  130. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/union-2d8609f4.png +0 -0
  131. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/unique-1958b98a.png +0 -0
  132. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/unpivot-d3cb4b5b.png +0 -0
  133. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/view-7a0f0be1.png +0 -0
  134. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/vue-codemirror.esm-dd17b478.js +0 -0
  135. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/assets/vue-content-loader.es-6b36f05e.js +0 -0
  136. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/flowfile.svg +0 -0
  137. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/icons/flowfile.png +0 -0
  138. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/images/airbyte.png +0 -0
  139. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/images/flowfile.svg +0 -0
  140. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/images/google.svg +0 -0
  141. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/images/sheets.png +0 -0
  142. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/index.html +0 -0
  143. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/vite.svg +0 -0
  144. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile/web/static/vue.svg +0 -0
  145. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/__init__.py +0 -0
  146. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/auth/__init__.py +0 -0
  147. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/auth/jwt.py +0 -0
  148. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/auth/models.py +0 -0
  149. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/auth/secrets.py +0 -0
  150. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/configs/__init__.py +0 -0
  151. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/configs/flow_logger.py +0 -0
  152. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/configs/node_store/__init__.py +0 -0
  153. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/configs/node_store/nodes.py +0 -0
  154. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/configs/settings.py +0 -0
  155. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/database/__init__.py +0 -0
  156. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/database/connection.py +0 -0
  157. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/database/init_db.py +0 -0
  158. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/database/models.py +0 -0
  159. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/fileExplorer/__init__.py +0 -0
  160. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/fileExplorer/funcs.py +0 -0
  161. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/fileExplorer/utils.py +0 -0
  162. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/FlowfileFlow.py +0 -0
  163. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/__init__.py +0 -0
  164. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/_extensions/__init__.py +0 -0
  165. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/_extensions/real_time_interface.py +0 -0
  166. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/analytics/__init__.py +0 -0
  167. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/analytics/analytics_processor.py +0 -0
  168. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/analytics/graphic_walker.py +0 -0
  169. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/analytics/schemas/__init__.py +0 -0
  170. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/analytics/utils.py +0 -0
  171. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/__init__.py +0 -0
  172. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/_connection_manager.py +0 -0
  173. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/models.py +0 -0
  174. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/__init__.py +0 -0
  175. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/db_connections.py +0 -0
  176. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/models.py +0 -0
  177. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/extensions.py +0 -0
  178. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/__init__.py +0 -0
  179. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/create/__init__.py +0 -0
  180. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/create/funcs.py +0 -0
  181. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +0 -0
  182. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/__init__.py +0 -0
  183. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +0 -0
  184. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py +0 -0
  185. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +0 -0
  186. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/__init__.py +0 -0
  187. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +0 -0
  188. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/settings_validator.py +0 -0
  189. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/join/__init__.py +0 -0
  190. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py +0 -0
  191. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/pivot_table.py +0 -0
  192. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +0 -0
  193. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/read_excel_tables.py +0 -0
  194. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/sample_data.py +0 -0
  195. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py +0 -0
  196. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +0 -0
  197. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +0 -0
  198. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/threaded_processes.py +0 -0
  199. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/types.py +0 -0
  200. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/utils.py +0 -0
  201. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/__init__.py +0 -0
  202. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/flow_node.py +0 -0
  203. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/models.py +0 -0
  204. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/schema_callback.py +0 -0
  205. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/handler.py +0 -0
  206. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/manage/__init__.py +0 -0
  207. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/manage/compatibility_enhancements.py +0 -0
  208. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/manage/manage_flowfile.py +0 -0
  209. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/manage/open_flowfile.py +0 -0
  210. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/__init__.py +0 -0
  211. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/setting_generator.py +0 -0
  212. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/settings.py +0 -0
  213. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/__init__.py +0 -0
  214. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/__init__.py +0 -0
  215. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/__init__.py +0 -0
  216. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/airbyte.py +0 -0
  217. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/models.py +0 -0
  218. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/settings.py +0 -0
  219. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/base_class.py +0 -0
  220. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/__init__.py +0 -0
  221. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/exchange_rate.py +0 -0
  222. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/external_source.py +0 -0
  223. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/google_sheet.py +0 -0
  224. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/sample_users.py +0 -0
  225. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/factory.py +0 -0
  226. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/__init__.py +0 -0
  227. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/models.py +0 -0
  228. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py +0 -0
  229. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/utils.py +0 -0
  230. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/util/__init__.py +0 -0
  231. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/util/calculate_layout.py +0 -0
  232. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/util/execution_orderer.py +0 -0
  233. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/flowfile/utils.py +0 -0
  234. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/main.py +0 -0
  235. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/__init__.py +0 -0
  236. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/auth.py +0 -0
  237. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/logs.py +0 -0
  238. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/public.py +0 -0
  239. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/routes.py +0 -0
  240. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/routes/secrets.py +0 -0
  241. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/run_lock.py +0 -0
  242. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/__init__.py +0 -0
  243. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/analysis_schemas/__init__.py +0 -0
  244. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py +0 -0
  245. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/defaults.py +0 -0
  246. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/external_sources/__init__.py +0 -0
  247. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/external_sources/airbyte_schemas.py +0 -0
  248. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/input_schema.py +0 -0
  249. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/models.py +0 -0
  250. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/output_model.py +0 -0
  251. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/schemas.py +0 -0
  252. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/schemas/transform_schema.py +0 -0
  253. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/secrets/__init__.py +0 -0
  254. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/secrets/secrets.py +0 -0
  255. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/__init__.py +0 -0
  256. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/arrow_reader.py +0 -0
  257. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/excel_file_manager.py +0 -0
  258. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/fileManager.py +0 -0
  259. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/fl_executor.py +0 -0
  260. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_core/flowfile_core/utils/utils.py +0 -0
  261. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/__init__.py +0 -0
  262. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/adapters.py +0 -0
  263. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/expr.py +0 -0
  264. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/group_frame.py +0 -0
  265. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/join.py +0 -0
  266. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/selectors.py +0 -0
  267. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_frame/flowfile_frame/utils.py +0 -0
  268. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/__init__.py +0 -0
  269. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/configs.py +0 -0
  270. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/__init__.py +0 -0
  271. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/funcs.py +0 -0
  272. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/models.py +0 -0
  273. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/pl_types.py +0 -0
  274. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/read_excel_tables.py +0 -0
  275. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/create/utils.py +0 -0
  276. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/__init__.py +0 -0
  277. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/__init__.py +0 -0
  278. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/cache_manager.py +0 -0
  279. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/main.py +0 -0
  280. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/models.py +0 -0
  281. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/settings.py +0 -0
  282. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/__init__.py +0 -0
  283. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/main.py +0 -0
  284. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/models.py +0 -0
  285. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/flow_logger.py +0 -0
  286. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/funcs.py +0 -0
  287. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/main.py +0 -0
  288. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/models.py +0 -0
  289. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/__init__.py +0 -0
  290. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/matcher.py +0 -0
  291. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/models.py +0 -0
  292. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/pre_process.py +0 -0
  293. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/process.py +0 -0
  294. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/utils.py +0 -0
  295. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/process_manager.py +0 -0
  296. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/routes.py +0 -0
  297. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/secrets.py +0 -0
  298. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/spawner.py +0 -0
  299. {flowfile-0.3.0.2 → flowfile-0.3.1}/flowfile_worker/flowfile_worker/utils.py +0 -0
  300. {flowfile-0.3.0.2 → flowfile-0.3.1}/test_utils/__init__.py +0 -0
  301. {flowfile-0.3.0.2 → flowfile-0.3.1}/test_utils/postgres/__init__.py +0 -0
  302. {flowfile-0.3.0.2 → flowfile-0.3.1}/test_utils/postgres/commands.py +0 -0
  303. {flowfile-0.3.0.2 → flowfile-0.3.1}/test_utils/postgres/fixtures.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: Flowfile
3
- Version: 0.3.0.2
3
+ Version: 0.3.1
4
4
  Summary: Project combining flowfile core (backend) and flowfile_worker (compute offloader) and flowfile_frame (api)
5
5
  Author: Edward van Eechoud
6
6
  Author-email: evaneechoud@gmail.com
@@ -41,13 +41,25 @@ Requires-Dist: python-multipart (>=0.0.12,<0.1.0)
41
41
  Requires-Dist: uvicorn (>=0.32.0,<0.33.0)
42
42
  Description-Content-Type: text/markdown
43
43
 
44
- # Flowfile
45
-
46
- ![Flowfile Logo](https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/logo.png)
47
-
44
+ <h1 align="center">
45
+ <img src="https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/logo.png" alt="Flowfile Logo" width="100">
46
+ <br>
47
+ Flowfile
48
+ </h1>
49
+
50
+ <p align="center">
51
+ <b>Main Repository</b>: <a href="https://github.com/Edwardvaneechoud/Flowfile">Edwardvaneechoud/Flowfile</a><br>
52
+ <b>Documentation</b>:
53
+ <a href="https://edwardvaneechoud.github.io/Flowfile/">Website</a> -
54
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_core/README.md">Core</a> -
55
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_worker/README.md">Worker</a> -
56
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_frontend/README.md">Frontend</a> -
57
+ <a href="https://dev.to/edwardvaneechoud/building-flowfile-architecting-a-visual-etl-tool-with-polars-576c">Technical Architecture</a>
58
+ </p>
59
+
60
+ <p>
48
61
  Flowfile is a visual ETL tool and Python library suite that combines drag-and-drop workflow building with the speed of Polars dataframes. Build data pipelines visually, transform data using powerful nodes, or define data flows programmatically with Python and analyze results - all with high-performance data processing.
49
-
50
- ![Flowfile Interface](https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/group_by_screenshot.png)
62
+ </p>
51
63
 
52
64
  ## 🚀 Getting Started
53
65
 
@@ -75,8 +87,8 @@ This will:
75
87
 
76
88
  **Options:**
77
89
  ```bash
78
- # Customize host and port
79
- flowfile run ui --host 0.0.0.0 --port 8080
90
+ # Customize host
91
+ flowfile run ui --host 0.0.0.0
80
92
 
81
93
  # Start without opening a browser
82
94
  flowfile run ui --no-browser
@@ -212,8 +224,8 @@ flowfile
212
224
  flowfile run ui [options]
213
225
 
214
226
  # Run individual services
215
- flowfile run core --host 0.0.0.0 --port 8080
216
- flowfile run worker --host 0.0.0.0 --port 8079
227
+ flowfile run core --host 0.0.0.0 --port 63578
228
+ flowfile run worker --host 0.0.0.0 --port 63579
217
229
  ```
218
230
 
219
231
  ## 📚 Resources
@@ -9,8 +9,8 @@ def main():
9
9
 
10
10
  parser = argparse.ArgumentParser(description="FlowFile: A visual ETL tool with a Polars-like API")
11
11
  parser.add_argument("command", nargs="?", choices=["run"], help="Command to execute")
12
- parser.add_argument("component", nargs="?", choices=["web", "core", "worker"],
13
- help="Component to run (web, core, or worker)")
12
+ parser.add_argument("component", nargs="?", choices=["ui", "core", "worker"],
13
+ help="Component to run (ui, core, or worker)")
14
14
  parser.add_argument("--host", default="127.0.0.1", help="Host to bind the server to")
15
15
  parser.add_argument("--port", type=int, default=63578, help="Port to bind the server to")
16
16
  parser.add_argument("--no-browser", action="store_true", help="Don't open a browser window")
@@ -142,7 +142,14 @@ def build_server_command(module_name: str) -> List[str]:
142
142
  return command
143
143
 
144
144
 
145
- def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> bool:
145
+ def check_if_in_single_mode() -> bool:
146
+ response: requests.Response = requests.get(f"{FLOWFILE_BASE_URL}/single_mode", timeout=1)
147
+ if response.ok:
148
+ return response.json() == "1"
149
+ return False
150
+
151
+
152
+ def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> Tuple[bool, bool]:
146
153
  """
147
154
  Start the Flowfile server as a background process if it's not already running.
148
155
  Automatically detects and uses Poetry if in a Poetry environment.
@@ -153,7 +160,8 @@ def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> boo
153
160
  """
154
161
  global _server_process
155
162
  if is_flowfile_running():
156
- return True
163
+ return True, check_if_in_single_mode()
164
+
157
165
 
158
166
  if _server_process and _server_process.poll() is None:
159
167
  logger.warning("Server process object exists but API not responding. Attempting to restart.")
@@ -179,7 +187,7 @@ def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> boo
179
187
  time.sleep(1)
180
188
  if is_flowfile_running():
181
189
  logger.info("Server started successfully.")
182
- return True
190
+ return True, check_if_in_single_mode()
183
191
  else:
184
192
  logger.error("Failed to start server: API did not become responsive.")
185
193
  if _server_process and _server_process.stderr:
@@ -189,16 +197,16 @@ def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> boo
189
197
  except Exception as read_err:
190
198
  logger.error(f"Could not read stderr from server process: {read_err}")
191
199
  stop_flowfile_server_process()
192
- return False
200
+ return False, check_if_in_single_mode()
193
201
  else:
194
202
  stop_flowfile_server_process()
195
- return False
203
+ return False, check_if_in_single_mode()
196
204
 
197
205
  except FileNotFoundError:
198
206
  logger.error(f"Error: Could not execute command: '{' '.join(command)}'.")
199
207
  logger.error(f"Ensure '{module_name}' is installed correctly.")
200
208
  _server_process = None
201
- return False
209
+ return False, False
202
210
  except Exception as e:
203
211
  logger.error(f"An unexpected error occurred while starting the server process: {e}")
204
212
  if _server_process and _server_process.stderr:
@@ -209,7 +217,7 @@ def start_flowfile_server_process(module_name: str = DEFAULT_MODULE_NAME) -> boo
209
217
  logger.error(f"Could not read stderr from server process: {read_err}")
210
218
  stop_flowfile_server_process()
211
219
  _server_process = None
212
- return False
220
+ return False, False
213
221
 
214
222
 
215
223
  def get_auth_token() -> Optional[str]:
@@ -361,7 +369,8 @@ def open_graph_in_editor(flow_graph: FlowGraph, storage_location: Optional[str]
361
369
  if not flow_file_path:
362
370
  return False
363
371
  flow_graph.flow_settings = original_execution_settings
364
- if not start_flowfile_server_process(module_name):
372
+ flow_running, flow_in_single_mode = start_flowfile_server_process(module_name)
373
+ if not flow_running:
365
374
  return False
366
375
 
367
376
  auth_token = get_auth_token()
@@ -371,7 +380,8 @@ def open_graph_in_editor(flow_graph: FlowGraph, storage_location: Optional[str]
371
380
  flow_id = import_flow_to_editor(flow_file_path, auth_token)
372
381
 
373
382
  if flow_id is not None:
374
- _open_flow_in_browser(flow_id)
383
+ if flow_in_single_mode:
384
+ _open_flow_in_browser(flow_id)
375
385
  return True
376
386
  else:
377
387
  return False
@@ -380,4 +390,4 @@ def open_graph_in_editor(flow_graph: FlowGraph, storage_location: Optional[str]
380
390
  logger.error(f"An unexpected error occurred in open_graph_in_editor: {e}", exc_info=True)
381
391
  return False
382
392
  finally:
383
- _cleanup_temporary_storage(temp_dir_obj)
393
+ _cleanup_temporary_storage(temp_dir_obj)
@@ -29,9 +29,6 @@ You can start the Flowfile web UI using either the Python module or the command-
29
29
  # Start the web UI with default settings
30
30
  flowfile run ui
31
31
 
32
- # Customize host and port
33
- flowfile run ui --host 0.0.0.0 --port 8080
34
-
35
32
  # Start without automatically opening a browser window
36
33
  flowfile run ui --no-browser
37
34
  ```
@@ -45,7 +42,7 @@ import flowfile
45
42
  flowfile.start_web_ui()
46
43
 
47
44
  # Customize host, port, and browser launch
48
- flowfile.start_web_ui(host="0.0.0.0", port=8080, open_browser=False)
45
+ flowfile.start_web_ui(host="0.0.0.0", port=63578, open_browser=False)
49
46
  ```
50
47
 
51
48
  ## Architecture Overview
@@ -107,10 +104,10 @@ For development or specialized deployments, you can run the components separatel
107
104
 
108
105
  ```bash
109
106
  # Run only the core service
110
- flowfile run core --host 0.0.0.0 --port 8080
107
+ flowfile run core --host 0.0.0.0 --port 63578
111
108
 
112
109
  # Run only the worker service
113
- flowfile run worker --host 0.0.0.0 --port 8081
110
+ flowfile run worker --host 0.0.0.0 --port 63579
114
111
  ```
115
112
 
116
113
  ## Troubleshooting
@@ -49,10 +49,9 @@ def extend_app(app: FastAPI):
49
49
  return FileResponse(svg_path, media_type="image/svg+xml")
50
50
  return Response(status_code=404)
51
51
 
52
- @app.get("/test")
53
- async def get_worker_host():
54
- from flowfile_core.configs.settings import WORKER_URL
55
- return WORKER_URL
52
+ @app.get("/single_mode")
53
+ async def in_single_mode():
54
+ return os.environ.get('SINGLE_FILE_MODE', "0")
56
55
 
57
56
  @app.get("/ui", include_in_schema=False)
58
57
  async def web_ui_root():
@@ -142,7 +141,7 @@ def start_server(host="127.0.0.1", port=63578, open_browser=True):
142
141
 
143
142
  # Open browser if requested
144
143
  if open_browser:
145
- time.sleep(2)
144
+ time.sleep(5)
146
145
  webbrowser.open_new_tab(f"http://{host}:{port}/ui")
147
146
 
148
147
  print("\n" + "=" * 60)
@@ -1801,7 +1801,7 @@ class FlowFrame:
1801
1801
  @property
1802
1802
  def columns(self) -> List[str]:
1803
1803
  """Get the column names."""
1804
- return self.data.columns
1804
+ return self.data.collect_schema().names()
1805
1805
 
1806
1806
  @property
1807
1807
  def dtypes(self) -> List[pl.DataType]:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "Flowfile"
3
- version = "0.3.0.2"
3
+ version = "0.3.1"
4
4
  description = "Project combining flowfile core (backend) and flowfile_worker (compute offloader) and flowfile_frame (api)"
5
5
  readme = "readme-pypi.md"
6
6
  authors = ["Edward van Eechoud <evaneechoud@gmail.com>"]
@@ -1,10 +1,22 @@
1
- # Flowfile
2
-
3
- ![Flowfile Logo](https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/logo.png)
4
-
1
+ <h1 align="center">
2
+ <img src="https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/logo.png" alt="Flowfile Logo" width="100">
3
+ <br>
4
+ Flowfile
5
+ </h1>
6
+
7
+ <p align="center">
8
+ <b>Main Repository</b>: <a href="https://github.com/Edwardvaneechoud/Flowfile">Edwardvaneechoud/Flowfile</a><br>
9
+ <b>Documentation</b>:
10
+ <a href="https://edwardvaneechoud.github.io/Flowfile/">Website</a> -
11
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_core/README.md">Core</a> -
12
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_worker/README.md">Worker</a> -
13
+ <a href="https://github.com/Edwardvaneechoud/Flowfile/blob/main/flowfile_frontend/README.md">Frontend</a> -
14
+ <a href="https://dev.to/edwardvaneechoud/building-flowfile-architecting-a-visual-etl-tool-with-polars-576c">Technical Architecture</a>
15
+ </p>
16
+
17
+ <p>
5
18
  Flowfile is a visual ETL tool and Python library suite that combines drag-and-drop workflow building with the speed of Polars dataframes. Build data pipelines visually, transform data using powerful nodes, or define data flows programmatically with Python and analyze results - all with high-performance data processing.
6
-
7
- ![Flowfile Interface](https://raw.githubusercontent.com/Edwardvaneechoud/Flowfile/main/.github/images/group_by_screenshot.png)
19
+ </p>
8
20
 
9
21
  ## 🚀 Getting Started
10
22
 
@@ -32,8 +44,8 @@ This will:
32
44
 
33
45
  **Options:**
34
46
  ```bash
35
- # Customize host and port
36
- flowfile run ui --host 0.0.0.0 --port 8080
47
+ # Customize host
48
+ flowfile run ui --host 0.0.0.0
37
49
 
38
50
  # Start without opening a browser
39
51
  flowfile run ui --no-browser
@@ -169,8 +181,8 @@ flowfile
169
181
  flowfile run ui [options]
170
182
 
171
183
  # Run individual services
172
- flowfile run core --host 0.0.0.0 --port 8080
173
- flowfile run worker --host 0.0.0.0 --port 8079
184
+ flowfile run core --host 0.0.0.0 --port 63578
185
+ flowfile run worker --host 0.0.0.0 --port 63579
174
186
  ```
175
187
 
176
188
  ## 📚 Resources
File without changes