Flowfile 0.3.3__tar.gz → 0.3.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.
- {flowfile-0.3.3 → flowfile-0.3.3.1}/PKG-INFO +4 -3
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/__init__.py +1 -1
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/flow_frame.py +11 -14
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/flow_frame.pyi +119 -87
- {flowfile-0.3.3 → flowfile-0.3.3.1}/pyproject.toml +6 -3
- {flowfile-0.3.3 → flowfile-0.3.3.1}/LICENSE +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/build_backends/build_backends/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/build_backends/build_backends/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/build_backends/build_backends/main_prd.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/__main__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/api.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/readme.md +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/AirbyteReader-1ac35765.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/AirbyteReader-2b1cf2d8.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/CrossJoin-41efa4cb.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/CrossJoin-cc3ab73c.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseConnectionSettings-0c04b2e5.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseConnectionSettings-307c4652.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseManager-30fa27e5.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseManager-69faa6e1.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseReader-e4134cd0.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseReader-f50c6558.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseWriter-2f570e53.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/DatabaseWriter-d32d75b1.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ExploreData-5bdae813.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ExploreData-5eb48389.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ExternalSource-29489051.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ExternalSource-e37b6275.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Filter-031332bb.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Filter-a9d08ba1.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Formula-3b900540.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Formula-b8cefc31.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/FuzzyMatch-6857de82.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/FuzzyMatch-dee31153.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/GraphSolver-17fd26db.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/GraphSolver-ca74eb47.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/GroupBy-081b6591.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/GroupBy-ab1ea74b.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Join-41c0f331.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Join-b467376f.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ManualInput-ac7b9972.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/ManualInput-ffffb80a.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Output-48f81019.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Output-9a87d4ba.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Pivot-ee3e6093.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Pivot-f415e85f.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/PolarsCode-03921254.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/PolarsCode-650322d1.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/PopOver-3bdf8951.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/PopOver-bccfde04.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Read-67fee3a0.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Read-80dc1675.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/RecordCount-a2acd02d.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/RecordId-0c8bcd77.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Sample-60594a3a.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/SecretManager-bbcec2ac.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Select-9540e6ca.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/SettingsSection-48f28104.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/SettingsSection-9c836ecc.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Sort-6dbe3633.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Sort-7ccfa0fe.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/TextToRows-27aab4a8.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/TextToRows-c92d1ec2.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/UnavailableFields-5edd5322.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/UnavailableFields-8143044b.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Union-52460248.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Union-8d9ac7f9.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Unique-b5615727.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Unique-f6962644.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Unpivot-1ff1e938.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/Unpivot-246e9bbd.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/airbyte-292aa232.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/api-3b345d92.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/cross_join-d30c0290.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/database_reader-ce1e55f3.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/database_writer-b4ad0753.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/designer-2394122a.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/designer-4736134f.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/documentation-12216a74.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/documentation-b9545eba.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/dropDown-35135ba8.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/dropDown-d5a4014c.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/dropDownGeneric-1f4e32ec.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/dropDownGeneric-895680d6.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/element-icons-9c88a535.woff +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/element-icons-de5eb258.ttf +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/explore_data-8a0a2861.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-brands-400-808443ae.ttf +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-brands-400-d7236a19.woff2 +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-regular-400-54cf6086.ttf +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-regular-400-e3456d12.woff2 +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-solid-900-aa759986.woff2 +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-solid-900-d2f05935.ttf +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-v4compatibility-0ce9033c.woff2 +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fa-v4compatibility-30f6abf6.ttf +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/filter-d7708bda.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/formula-eeeb1611.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fullEditor-178376bb.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fullEditor-f4791c23.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/fuzzy_match-40c161b2.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/genericNodeSettings-1d456350.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/genericNodeSettings-924759c7.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/graph_solver-8b7888b8.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/group_by-80561fc3.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/index-681a3ed0.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/index-f25c9283.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/input_data-ab2eb678.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/join-349043ae.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/manual_input-ae98f31d.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/nodeTitle-cad6fd9d.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/nodeTitle-f4b12bcb.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/old_join-5d0eb604.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/output-06ec0371.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/pivot-9660df51.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/polars_code-05ce5dc6.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/record_count-dab44eb5.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/record_id-0b15856b.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/sample-693a88b5.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/secretApi-01f07e2c.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/select-b0d0437a.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/selectDynamic-b062bc9b.css +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/selectDynamic-f46a4e3f.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/sort-2aa579f0.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/summarize-2a099231.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/text_to_rows-859b29ea.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/union-2d8609f4.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/unique-1958b98a.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/unpivot-d3cb4b5b.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/view-7a0f0be1.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/vue-codemirror.esm-eb98fc8b.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/assets/vue-content-loader.es-860c0380.js +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/favicon.ico +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/flowfile.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/icons/flowfile.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/images/airbyte.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/images/flowfile.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/images/google.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/images/sheets.png +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/index.html +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/vite.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile/web/static/vue.svg +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/auth/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/auth/jwt.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/auth/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/auth/secrets.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/flow_logger.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/node_store/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/node_store/nodes.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/settings.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/configs/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/database/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/database/connection.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/database/init_db.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/database/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/fileExplorer/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/fileExplorer/funcs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/fileExplorer/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/FlowfileFlow.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/_extensions/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/_extensions/real_time_interface.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/analytics/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/analytics/analytics_processor.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/analytics/graphic_walker.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/analytics/schemas/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/analytics/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/_connection_manager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/connection_manager/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/db_connections.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/database_connection_manager/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/extensions.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/create/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/create/funcs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_data_engine.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/polars_type.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/flow_file_column/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/prepare_for_fuzzy_match.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/fuzzy_matching/settings_validator.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/join/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/join/verify_integrity.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/pivot_table.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/polars_code_parser.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/read_excel_tables.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/sample_data.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/subprocess_operations/subprocess_operations.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/threaded_processes.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/types.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_data_engine/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_graph_utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/flow_node.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/flow_node/schema_callback.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/handler.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/manage/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/manage/compatibility_enhancements.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/manage/manage_flowfile.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/manage/open_flowfile.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/setting_generator.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/setting_generator/settings.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/airbyte.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/airbyte_sources/settings.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/base_class.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/exchange_rate.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/external_source.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/custom_external_sources/sample_users.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/factory.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/sql_source.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/sources/external_sources/sql_source/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/util/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/util/calculate_layout.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/util/execution_orderer.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/flowfile/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/auth.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/logs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/public.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/routes.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/routes/secrets.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/run_lock.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/analysis_schemas/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/analysis_schemas/graphic_walker_schemas.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/defaults.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/external_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/external_sources/airbyte_schemas.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/input_schema.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/output_model.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/schemas.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/schemas/transform_schema.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/secret_manager/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/secret_manager/secret_manager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/arrow_reader.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/excel_file_manager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/fileManager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/fl_executor.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_core/flowfile_core/utils/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/adapters.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/adding_expr.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/config.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/expr.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/expr.pyi +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/expr_name.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/flow_frame_methods.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/group_frame.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/join.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/lazy.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/lazy_methods.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/list_name_space.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/selectors.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/series.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_frame/flowfile_frame/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/configs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/funcs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/pl_types.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/read_excel_tables.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/create/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/cache_manager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/airbyte_sources/settings.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/external_sources/sql_source/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/flow_logger.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/funcs.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/main.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/matcher.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/models.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/pre_process.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/process.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/polars_fuzzy_match/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/process_manager.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/routes.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/secrets.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/spawner.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/flowfile_worker/flowfile_worker/utils.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/readme-pypi.md +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/test_utils/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/test_utils/postgres/__init__.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.3.1}/test_utils/postgres/commands.py +0 -0
- {flowfile-0.3.3 → flowfile-0.3.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.3
|
|
3
|
+
Version: 0.3.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
|
|
@@ -23,10 +23,11 @@ Requires-Dist: methodtools (>=0.4.7,<0.5.0)
|
|
|
23
23
|
Requires-Dist: openpyxl (>=3.1.2,<3.2.0)
|
|
24
24
|
Requires-Dist: passlib (>=1.7.4,<1.8.0)
|
|
25
25
|
Requires-Dist: pendulum (==2.1.2) ; python_version < "3.12"
|
|
26
|
-
Requires-Dist: polars (
|
|
26
|
+
Requires-Dist: polars (>=1.8.2,<2.0.0) ; sys_platform != "win32"
|
|
27
|
+
Requires-Dist: polars (>=1.8.2,<=1.25.2) ; sys_platform == "win32"
|
|
27
28
|
Requires-Dist: polars-distance (>=0.4.3,<0.5.0)
|
|
28
29
|
Requires-Dist: polars-ds (>=0.6.0)
|
|
29
|
-
Requires-Dist: polars-expr-transformer (
|
|
30
|
+
Requires-Dist: polars-expr-transformer (>=0.4.9.0)
|
|
30
31
|
Requires-Dist: polars-grouper (>=0.3.0,<0.4.0)
|
|
31
32
|
Requires-Dist: polars_simed (>=0.3.4,<0.4.0)
|
|
32
33
|
Requires-Dist: pyairbyte-flowfile (==0.20.2)
|
|
@@ -738,10 +738,9 @@ class FlowFrame:
|
|
|
738
738
|
all_input_expr_objects: List[Expr] = []
|
|
739
739
|
pure_polars_expr_strings_for_select: List[str] = []
|
|
740
740
|
collected_raw_definitions: List[str] = []
|
|
741
|
-
selected_col_names_for_native: List[
|
|
741
|
+
selected_col_names_for_native: List[transform_schema.SelectInput] = [] # For native node
|
|
742
742
|
|
|
743
743
|
can_use_native_node = True
|
|
744
|
-
|
|
745
744
|
if len(columns_iterable) == 1 and isinstance(columns_iterable[0], str) and columns_iterable[0] == '*':
|
|
746
745
|
effective_columns_iterable = [col(c_name) for c_name in self.columns]
|
|
747
746
|
else:
|
|
@@ -752,15 +751,14 @@ class FlowFrame:
|
|
|
752
751
|
|
|
753
752
|
if isinstance(expr_input, str):
|
|
754
753
|
current_expr_obj = col(expr_input)
|
|
755
|
-
selected_col_names_for_native.append(expr_input)
|
|
754
|
+
selected_col_names_for_native.append(transform_schema.SelectInput(old_name=expr_input))
|
|
756
755
|
is_simple_col_for_native = True
|
|
757
|
-
elif isinstance(expr_input, Column)
|
|
758
|
-
selected_col_names_for_native.append(expr_input.
|
|
756
|
+
elif isinstance(expr_input, Column):
|
|
757
|
+
selected_col_names_for_native.append(expr_input.to_select_input())
|
|
759
758
|
is_simple_col_for_native = True
|
|
760
|
-
elif isinstance(expr_input, Selector):
|
|
759
|
+
elif isinstance(expr_input, Selector):
|
|
761
760
|
can_use_native_node = False
|
|
762
|
-
|
|
763
|
-
elif not isinstance(expr_input, Expr): # Includes Column
|
|
761
|
+
elif not isinstance(expr_input, Expr):
|
|
764
762
|
current_expr_obj = lit(expr_input)
|
|
765
763
|
|
|
766
764
|
all_input_expr_objects.append(current_expr_obj) # type: ignore
|
|
@@ -772,20 +770,19 @@ class FlowFrame:
|
|
|
772
770
|
collected_raw_definitions.append(raw_defs_str)
|
|
773
771
|
|
|
774
772
|
if not is_simple_col_for_native and not isinstance(expr_input, Selector):
|
|
775
|
-
can_use_native_node = False
|
|
773
|
+
can_use_native_node = False
|
|
776
774
|
if collected_raw_definitions: # Has to use Polars code if there are definitions
|
|
777
775
|
can_use_native_node = False
|
|
778
776
|
if can_use_native_node:
|
|
779
|
-
select_inputs_for_node = [transform_schema.SelectInput(old_name=name) for name in
|
|
780
|
-
selected_col_names_for_native]
|
|
781
777
|
existing_cols = self.columns
|
|
778
|
+
selected_col_names = {select_col.old_name for select_col in selected_col_names_for_native}
|
|
782
779
|
dropped_columns = [transform_schema.SelectInput(c, keep=False) for c in existing_cols if
|
|
783
|
-
c not in
|
|
784
|
-
|
|
780
|
+
c not in selected_col_names]
|
|
781
|
+
selected_col_names_for_native.extend(dropped_columns)
|
|
785
782
|
select_settings = input_schema.NodeSelect(
|
|
786
783
|
flow_id=self.flow_graph.flow_id,
|
|
787
784
|
node_id=new_node_id,
|
|
788
|
-
select_input=
|
|
785
|
+
select_input=selected_col_names_for_native,
|
|
789
786
|
keep_missing=False,
|
|
790
787
|
pos_x=200,
|
|
791
788
|
pos_y=100,
|
|
@@ -1,27 +1,43 @@
|
|
|
1
|
-
#
|
|
2
|
-
# DO NOT MODIFY THIS FILE MANUALLY
|
|
1
|
+
# Standard library imports
|
|
3
2
|
import collections
|
|
4
|
-
import typing
|
|
5
3
|
import inspect
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
from
|
|
10
|
-
from
|
|
4
|
+
import os
|
|
5
|
+
import sys
|
|
6
|
+
import typing
|
|
7
|
+
from io import IOBase
|
|
8
|
+
from typing import List, Optional, ForwardRef
|
|
9
|
+
from collections.abc import Awaitable
|
|
11
10
|
|
|
11
|
+
# Third-party imports
|
|
12
|
+
import polars as pl
|
|
13
|
+
from polars._typing import * # Consider specifying needed imports
|
|
14
|
+
from polars._utils.async_ import _GeventDataFrameResult
|
|
15
|
+
from polars.dependencies import polars_cloud as pc
|
|
16
|
+
from polars.io.cloud import CredentialProviderFunction
|
|
17
|
+
from polars.lazyframe.frame import LazyGroupBy
|
|
18
|
+
from polars.type_aliases import (Schema, IntoExpr, ClosedInterval, Label, StartBy, RollingInterpolationMethod, IpcCompression, CompatLevel, SyncOnCloseMethod, ExplainFormat, EngineType, SerializationFormat, AsofJoinStrategy)
|
|
19
|
+
|
|
20
|
+
# Local application/library specific imports
|
|
12
21
|
import flowfile_frame
|
|
13
|
-
from flowfile_core.flowfile.flow_node.flow_node import FlowNode
|
|
14
22
|
from flowfile_core.flowfile.FlowfileFlow import FlowGraph
|
|
23
|
+
from flowfile_core.flowfile.flow_node.flow_node import FlowNode
|
|
15
24
|
from flowfile_frame import group_frame
|
|
16
|
-
from flowfile_frame.expr import Expr
|
|
17
|
-
|
|
25
|
+
from flowfile_frame.expr import Expr
|
|
26
|
+
|
|
27
|
+
# Conditional imports
|
|
28
|
+
if sys.version_info >= (3, 10):
|
|
29
|
+
pass # from typing import ParamSpec, Concatenate (if needed)
|
|
30
|
+
else:
|
|
31
|
+
from typing_extensions import Concatenate
|
|
18
32
|
|
|
19
33
|
T = TypeVar('T')
|
|
34
|
+
P = typing.ParamSpec('P')
|
|
35
|
+
LazyFrameT = TypeVar('LazyFrameT', bound='LazyFrame')
|
|
20
36
|
FlowFrameT = TypeVar('FlowFrameT', bound='FlowFrame')
|
|
21
|
-
|
|
37
|
+
Self = TypeVar('Self', bound='FlowFrame')
|
|
22
38
|
NoneType = type(None)
|
|
23
39
|
|
|
24
|
-
# Module-level functions
|
|
40
|
+
# Module-level functions (example from your input)
|
|
25
41
|
def can_be_expr(param: inspect.Parameter) -> bool: ...
|
|
26
42
|
def generate_node_id() -> int: ...
|
|
27
43
|
def get_method_name_from_code(code: str) -> str | None: ...
|
|
@@ -37,7 +53,7 @@ class FlowFrame:
|
|
|
37
53
|
parent_node_id: Optional[int]
|
|
38
54
|
|
|
39
55
|
# This special method determines how the object behaves in boolean contexts.
|
|
40
|
-
def __bool__(self
|
|
56
|
+
def __bool__(self) -> Any: ...
|
|
41
57
|
|
|
42
58
|
# This special method enables the 'in' operator to work with FlowFrame objects.
|
|
43
59
|
def __contains__(self, key) -> Any: ...
|
|
@@ -49,7 +65,7 @@ class FlowFrame:
|
|
|
49
65
|
def __gt__(self, other: Any) -> typing.NoReturn: ...
|
|
50
66
|
|
|
51
67
|
# Initialize the FlowFrame with data and graph references.
|
|
52
|
-
def __init__(self, data: Union[LazyFrame, Mapping, Sequence, ForwardRef('np.ndarray[Any, Any]'), ForwardRef('pa.Table'), ForwardRef('pd.DataFrame'), ForwardRef('ArrowArrayExportable'), ForwardRef('ArrowStreamExportable')]=None, schema: Union[Mapping, Sequence, NoneType]=None, schema_overrides: collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType')]] | None=None, strict: bool=True, orient:
|
|
68
|
+
def __init__(self, data: typing.Union[LazyFrame, collections.abc.Mapping[str, typing.Union[collections.abc.Sequence[object], collections.abc.Mapping[str, collections.abc.Sequence[object]], ForwardRef('Series')]], collections.abc.Sequence[typing.Any], ForwardRef('np.ndarray[Any, Any]'), ForwardRef('pa.Table'), ForwardRef('pd.DataFrame'), ForwardRef('ArrowArrayExportable'), ForwardRef('ArrowStreamExportable')]=None, schema: typing.Union[collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]], collections.abc.Sequence[typing.Union[str, tuple[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]]]], NoneType]=None, schema_overrides: collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType')]] | None=None, strict: bool=True, orient: typing.Optional[typing.Literal['col', 'row']]=None, infer_schema_length: int | None=100, nan_to_null: bool=False, flow_graph=None, node_id=None, parent_node_id=None) -> None: ...
|
|
53
69
|
|
|
54
70
|
def __le__(self, other: Any) -> typing.NoReturn: ...
|
|
55
71
|
|
|
@@ -58,16 +74,16 @@ class FlowFrame:
|
|
|
58
74
|
def __ne__(self, other: object) -> typing.NoReturn: ...
|
|
59
75
|
|
|
60
76
|
# Create a new FlowFrame instance.
|
|
61
|
-
def __new__(
|
|
77
|
+
def __new__(cls, data: typing.Union[LazyFrame, collections.abc.Mapping[str, typing.Union[collections.abc.Sequence[object], collections.abc.Mapping[str, collections.abc.Sequence[object]], ForwardRef('Series')]], collections.abc.Sequence[typing.Any], ForwardRef('np.ndarray[Any, Any]'), ForwardRef('pa.Table'), ForwardRef('pd.DataFrame'), ForwardRef('ArrowArrayExportable'), ForwardRef('ArrowStreamExportable')]=None, schema: typing.Union[collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]], collections.abc.Sequence[typing.Union[str, tuple[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]]]], NoneType]=None, schema_overrides: collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType')]] | None=None, strict: bool=True, orient: typing.Optional[typing.Literal['col', 'row']]=None, infer_schema_length: int | None=100, nan_to_null: bool=False, flow_graph=None, node_id=None, parent_node_id=None) -> Self: ...
|
|
62
78
|
|
|
63
|
-
def __repr__(self
|
|
79
|
+
def __repr__(self) -> Any: ...
|
|
64
80
|
|
|
65
81
|
# Helper method to add a connection between nodes
|
|
66
82
|
def _add_connection(self, from_id, to_id, input_type: typing.Literal['main', 'left', 'right']='main') -> Any: ...
|
|
67
83
|
|
|
68
84
|
def _add_number_of_records(self, new_node_id: int, description: str=None) -> 'FlowFrame': ...
|
|
69
85
|
|
|
70
|
-
def _add_polars_code(self, new_node_id: int, code: str,
|
|
86
|
+
def _add_polars_code(self, new_node_id: int, code: str, depending_on_ids: typing.Optional[typing.List[str]]=None, convertable_to_code: bool=True, method_name: str=None, polars_expr: typing.Union[flowfile_frame.expr.Expr, typing.List[flowfile_frame.expr.Expr], NoneType]=None, group_expr: typing.Union[flowfile_frame.expr.Expr, typing.List[flowfile_frame.expr.Expr], NoneType]=None, kwargs_expr: typing.Optional[typing.Dict]=None, group_kwargs: typing.Optional[typing.Dict]=None, description: str=None) -> Any: ...
|
|
71
87
|
|
|
72
88
|
def _comparison_error(self, operator: str) -> typing.NoReturn: ...
|
|
73
89
|
|
|
@@ -75,7 +91,7 @@ class FlowFrame:
|
|
|
75
91
|
def _create_child_frame(self, new_node_id) -> 'FlowFrame': ...
|
|
76
92
|
|
|
77
93
|
# Detect if the expression is a cum_count operation and use record_id if possible.
|
|
78
|
-
def _detect_cum_count_record_id(self, expr: Any, new_node_id: int, description:
|
|
94
|
+
def _detect_cum_count_record_id(self, expr: Any, new_node_id: int, description: typing.Optional[str]=None) -> 'FlowFrame': ...
|
|
79
95
|
|
|
80
96
|
# Generates the `input_df.sort(...)` Polars code string using pure expression strings.
|
|
81
97
|
def _generate_sort_polars_code(self, pure_sort_expr_strs: typing.List[str], descending_values: typing.List[bool], nulls_last_values: typing.List[bool], multithreaded: bool, maintain_order: bool) -> str: ...
|
|
@@ -83,21 +99,21 @@ class FlowFrame:
|
|
|
83
99
|
def _with_flowfile_formula(self, flowfile_formula: str, output_column_name, description: str=None) -> 'FlowFrame': ...
|
|
84
100
|
|
|
85
101
|
# Approximate count of unique values.
|
|
86
|
-
def approx_n_unique(self, description: Optional[str] = None) ->
|
|
102
|
+
def approx_n_unique(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
87
103
|
|
|
88
104
|
# Return the `k` smallest rows.
|
|
89
|
-
def bottom_k(self, k: int, by: IntoExpr | Iterable[IntoExpr], reverse: bool | Sequence[bool]=False, description: Optional[str] = None) ->
|
|
105
|
+
def bottom_k(self, k: int, by: IntoExpr | Iterable[IntoExpr], reverse: bool | Sequence[bool]=False, description: Optional[str] = None) -> LazyFrame: ...
|
|
90
106
|
|
|
91
107
|
def cache(self, description: Optional[str] = None) -> 'FlowFrame': ...
|
|
92
108
|
|
|
93
109
|
# Cast LazyFrame column(s) to the specified dtype(s).
|
|
94
|
-
def cast(self, dtypes: Mapping[ColumnNameOrSelector | PolarsDataType, PolarsDataType | PythonDataType] | PolarsDataType, strict: bool=True, description: Optional[str] = None) ->
|
|
110
|
+
def cast(self, dtypes: Mapping[ColumnNameOrSelector | PolarsDataType, PolarsDataType | PythonDataType] | PolarsDataType, strict: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
95
111
|
|
|
96
112
|
# Create an empty copy of the current LazyFrame, with zero to 'n' rows.
|
|
97
|
-
def clear(self, n: int=0, description: Optional[str] = None) ->
|
|
113
|
+
def clear(self, n: int=0, description: Optional[str] = None) -> LazyFrame: ...
|
|
98
114
|
|
|
99
115
|
# Create a copy of this LazyFrame.
|
|
100
|
-
def clone(self, description: Optional[str] = None) ->
|
|
116
|
+
def clone(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
101
117
|
|
|
102
118
|
# Collect lazy data into memory.
|
|
103
119
|
def collect(self, *args, **kwargs) -> Any: ...
|
|
@@ -106,55 +122,63 @@ class FlowFrame:
|
|
|
106
122
|
def collect_async(self, gevent: bool=False, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, no_optimization: bool=False, slice_pushdown: bool=True, comm_subplan_elim: bool=True, comm_subexpr_elim: bool=True, cluster_with_columns: bool=True, collapse_joins: bool=True, engine: EngineType='auto', _check_order: bool=True) -> Awaitable[DataFrame] | _GeventDataFrameResult[DataFrame]: ...
|
|
107
123
|
|
|
108
124
|
# Resolve the schema of this LazyFrame.
|
|
109
|
-
def collect_schema(self
|
|
125
|
+
def collect_schema(self) -> Schema: ...
|
|
126
|
+
|
|
127
|
+
# Get the column names.
|
|
128
|
+
@property
|
|
129
|
+
def columns(self) -> typing.List[str]: ...
|
|
110
130
|
|
|
111
131
|
# Combine multiple FlowFrames into a single FlowFrame.
|
|
112
|
-
def concat(self, other: Union[ForwardRef('FlowFrame'), List], how: str='vertical', rechunk: bool=False, parallel: bool=True, description: str=None) -> 'FlowFrame': ...
|
|
132
|
+
def concat(self, other: typing.Union[ForwardRef('FlowFrame'), typing.List[ForwardRef('FlowFrame')]], how: str='vertical', rechunk: bool=False, parallel: bool=True, description: str=None) -> 'FlowFrame': ...
|
|
113
133
|
|
|
114
134
|
# Return the number of non-null elements for each column.
|
|
115
|
-
def count(self, description: Optional[str] = None) ->
|
|
135
|
+
def count(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
116
136
|
|
|
117
137
|
# Simple naive implementation of creating the frame from any type. It converts the data to a polars frame,
|
|
118
|
-
def create_from_any_type(self, data: Union[Mapping, Sequence, ForwardRef('np.ndarray[Any, Any]'), ForwardRef('pa.Table'), ForwardRef('pd.DataFrame'), ForwardRef('ArrowArrayExportable'), ForwardRef('ArrowStreamExportable')]=None, schema: Union[Mapping, Sequence, NoneType]=None, schema_overrides: collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType')]] | None=None, strict: bool=True, orient:
|
|
138
|
+
def create_from_any_type(self, data: typing.Union[collections.abc.Mapping[str, typing.Union[collections.abc.Sequence[object], collections.abc.Mapping[str, collections.abc.Sequence[object]], ForwardRef('Series')]], collections.abc.Sequence[typing.Any], ForwardRef('np.ndarray[Any, Any]'), ForwardRef('pa.Table'), ForwardRef('pd.DataFrame'), ForwardRef('ArrowArrayExportable'), ForwardRef('ArrowStreamExportable')]=None, schema: typing.Union[collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]], collections.abc.Sequence[typing.Union[str, tuple[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType'), type[int], type[float], type[bool], type[str], type['date'], type['time'], type['datetime'], type['timedelta'], type[list[typing.Any]], type[tuple[typing.Any, ...]], type[bytes], type[object], type['Decimal'], type[None], NoneType]]]], NoneType]=None, schema_overrides: collections.abc.Mapping[str, typing.Union[ForwardRef('DataTypeClass'), ForwardRef('DataType')]] | None=None, strict: bool=True, orient: typing.Optional[typing.Literal['col', 'row']]=None, infer_schema_length: int | None=100, nan_to_null: bool=False, flow_graph=None, node_id=None, parent_node_id=None, description: Optional[str] = None) -> Any: ...
|
|
119
139
|
|
|
120
140
|
# Creates a summary of statistics for a LazyFrame, returning a DataFrame.
|
|
121
141
|
def describe(self, percentiles: Sequence[float] | float | None=(0.25, 0.5, 0.75), interpolation: RollingInterpolationMethod='nearest') -> DataFrame: ...
|
|
122
142
|
|
|
123
143
|
# Read a logical plan from a file to construct a LazyFrame.
|
|
124
|
-
def deserialize(self, source: str | Path | IOBase, format: SerializationFormat='binary', description: Optional[str] = None) ->
|
|
144
|
+
def deserialize(self, source: str | Path | IOBase, format: SerializationFormat='binary', description: Optional[str] = None) -> LazyFrame: ...
|
|
125
145
|
|
|
126
146
|
# Remove columns from the DataFrame.
|
|
127
|
-
def drop(self, *columns, strict: bool=True, description: Optional[str] = None) ->
|
|
147
|
+
def drop(self, *columns, strict: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
128
148
|
|
|
129
149
|
# Drop all rows that contain one or more NaN values.
|
|
130
|
-
def drop_nans(self, subset: ColumnNameOrSelector | Collection[ColumnNameOrSelector] | None=None, description: Optional[str] = None) ->
|
|
150
|
+
def drop_nans(self, subset: ColumnNameOrSelector | Collection[ColumnNameOrSelector] | None=None, description: Optional[str] = None) -> LazyFrame: ...
|
|
131
151
|
|
|
132
152
|
# Drop all rows that contain one or more null values.
|
|
133
|
-
def drop_nulls(self, subset: ColumnNameOrSelector | Collection[ColumnNameOrSelector] | None=None, description: Optional[str] = None) ->
|
|
153
|
+
def drop_nulls(self, subset: ColumnNameOrSelector | Collection[ColumnNameOrSelector] | None=None, description: Optional[str] = None) -> LazyFrame: ...
|
|
154
|
+
|
|
155
|
+
# Get the column data types.
|
|
156
|
+
@property
|
|
157
|
+
def dtypes(self) -> typing.List[pl.classes.DataType]: ...
|
|
134
158
|
|
|
135
159
|
# Create a string representation of the query plan.
|
|
136
160
|
def explain(self, format: ExplainFormat='plain', optimized: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, comm_subplan_elim: bool=True, comm_subexpr_elim: bool=True, cluster_with_columns: bool=True, collapse_joins: bool=True, streaming: bool=False, engine: EngineType='auto', tree_format: bool | None=None, _check_order: bool=True) -> str: ...
|
|
137
161
|
|
|
138
162
|
# Explode the dataframe to long format by exploding the given columns.
|
|
139
|
-
def explode(self, columns: Union[str, Column, Iterable], *more_columns, description: str=None) -> 'FlowFrame': ...
|
|
163
|
+
def explode(self, columns: typing.Union[str, flowfile_frame.expr.Column, typing.Iterable[str | flowfile_frame.expr.Column]], *more_columns, description: str=None) -> 'FlowFrame': ...
|
|
140
164
|
|
|
141
165
|
# Collect a small number of rows for debugging purposes.
|
|
142
166
|
def fetch(self, n_rows: int=500, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, no_optimization: bool=False, slice_pushdown: bool=True, comm_subplan_elim: bool=True, comm_subexpr_elim: bool=True, cluster_with_columns: bool=True, collapse_joins: bool=True) -> DataFrame: ...
|
|
143
167
|
|
|
144
168
|
# Fill floating point NaN values.
|
|
145
|
-
def fill_nan(self, value: int | float | Expr | None, description: Optional[str] = None) ->
|
|
169
|
+
def fill_nan(self, value: int | float | Expr | None, description: Optional[str] = None) -> LazyFrame: ...
|
|
146
170
|
|
|
147
171
|
# Fill null values using the specified value or strategy.
|
|
148
|
-
def fill_null(self, value: Any | Expr | None=None, strategy: FillNullStrategy | None=None, limit: int | None=None, matches_supertype: bool=True, description: Optional[str] = None) ->
|
|
172
|
+
def fill_null(self, value: Any | Expr | None=None, strategy: FillNullStrategy | None=None, limit: int | None=None, matches_supertype: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
149
173
|
|
|
150
174
|
# Filter rows based on a predicate.
|
|
151
|
-
def filter(self, *predicates, flowfile_formula:
|
|
175
|
+
def filter(self, *predicates, flowfile_formula: typing.Optional[str]=None, description: typing.Optional[str]=None, **constraints) -> 'FlowFrame': ...
|
|
152
176
|
|
|
153
177
|
# Get the first row of the DataFrame.
|
|
154
|
-
def first(self, description: Optional[str] = None) ->
|
|
178
|
+
def first(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
155
179
|
|
|
156
180
|
# Take every nth row in the LazyFrame and return as a new LazyFrame.
|
|
157
|
-
def gather_every(self, n: int, offset: int=0, description: Optional[str] = None) ->
|
|
181
|
+
def gather_every(self, n: int, offset: int=0, description: Optional[str] = None) -> LazyFrame: ...
|
|
158
182
|
|
|
159
183
|
def get_node_settings(self, description: Optional[str] = None) -> FlowNode: ...
|
|
160
184
|
|
|
@@ -164,57 +188,57 @@ class FlowFrame:
|
|
|
164
188
|
# Group based on a time value (or index value of type Int32, Int64).
|
|
165
189
|
def group_by_dynamic(self, index_column: IntoExpr, every: str | timedelta, period: str | timedelta | None=None, offset: str | timedelta | None=None, include_boundaries: bool=False, closed: ClosedInterval='left', label: Label='left', group_by: IntoExpr | Iterable[IntoExpr] | None=None, start_by: StartBy='window', description: Optional[str] = None) -> LazyGroupBy: ...
|
|
166
190
|
|
|
167
|
-
def head(self, n: int, description: str=None) ->
|
|
191
|
+
def head(self, n: int, description: str=None) -> Any: ...
|
|
168
192
|
|
|
169
193
|
# Inspect a node in the computation graph.
|
|
170
|
-
def inspect(self, fmt: str='{}', description: Optional[str] = None) ->
|
|
194
|
+
def inspect(self, fmt: str='{}', description: Optional[str] = None) -> LazyFrame: ...
|
|
171
195
|
|
|
172
196
|
# Interpolate intermediate values. The interpolation method is linear.
|
|
173
|
-
def interpolate(self, description: Optional[str] = None) ->
|
|
197
|
+
def interpolate(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
174
198
|
|
|
175
199
|
# Add a join operation to the Logical Plan.
|
|
176
|
-
def join(self, other, on: Union[List, str, Column]=None, how: str='inner', left_on: Union[List, str, Column]=None, right_on: Union[List, str, Column]=None, suffix: str='_right', validate: str=None, nulls_equal: bool=False, coalesce: bool=None, maintain_order: typing.Literal[None, 'left', 'right', 'left_right', 'right_left']=None, description: str=None) ->
|
|
200
|
+
def join(self, other, on: typing.Union[typing.List[str | flowfile_frame.expr.Column], str, flowfile_frame.expr.Column]=None, how: str='inner', left_on: typing.Union[typing.List[str | flowfile_frame.expr.Column], str, flowfile_frame.expr.Column]=None, right_on: typing.Union[typing.List[str | flowfile_frame.expr.Column], str, flowfile_frame.expr.Column]=None, suffix: str='_right', validate: str=None, nulls_equal: bool=False, coalesce: bool=None, maintain_order: typing.Literal[None, 'left', 'right', 'left_right', 'right_left']=None, description: str=None) -> Any: ...
|
|
177
201
|
|
|
178
202
|
# Perform an asof join.
|
|
179
|
-
def join_asof(self, other: LazyFrame, left_on: str | None | Expr=None, right_on: str | None | Expr=None, on: str | None | Expr=None, by_left: str | Sequence[str] | None=None, by_right: str | Sequence[str] | None=None, by: str | Sequence[str] | None=None, strategy: AsofJoinStrategy='backward', suffix: str='_right', tolerance: str | int | float | timedelta | None=None, allow_parallel: bool=True, force_parallel: bool=False, coalesce: bool=True, allow_exact_matches: bool=True, check_sortedness: bool=True, description: Optional[str] = None) ->
|
|
203
|
+
def join_asof(self, other: LazyFrame, left_on: str | None | Expr=None, right_on: str | None | Expr=None, on: str | None | Expr=None, by_left: str | Sequence[str] | None=None, by_right: str | Sequence[str] | None=None, by: str | Sequence[str] | None=None, strategy: AsofJoinStrategy='backward', suffix: str='_right', tolerance: str | int | float | timedelta | None=None, allow_parallel: bool=True, force_parallel: bool=False, coalesce: bool=True, allow_exact_matches: bool=True, check_sortedness: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
180
204
|
|
|
181
205
|
# Perform a join based on one or multiple (in)equality predicates.
|
|
182
|
-
def join_where(self, other: LazyFrame, *predicates, suffix: str='_right', description: Optional[str] = None) ->
|
|
206
|
+
def join_where(self, other: LazyFrame, *predicates, suffix: str='_right', description: Optional[str] = None) -> LazyFrame: ...
|
|
183
207
|
|
|
184
208
|
# Get the last row of the DataFrame.
|
|
185
|
-
def last(self, description: Optional[str] = None) ->
|
|
209
|
+
def last(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
186
210
|
|
|
187
211
|
# Return lazy representation, i.e. itself.
|
|
188
|
-
def lazy(self, description: Optional[str] = None) ->
|
|
212
|
+
def lazy(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
189
213
|
|
|
190
|
-
def limit(self, n: int, description: str=None) ->
|
|
214
|
+
def limit(self, n: int, description: str=None) -> Any: ...
|
|
191
215
|
|
|
192
216
|
# Apply a custom function.
|
|
193
|
-
def map_batches(self, function: Callable[[DataFrame], DataFrame], predicate_pushdown: bool=True, projection_pushdown: bool=True, slice_pushdown: bool=True, no_optimizations: bool=False, schema: None | SchemaDict=None, validate_output_schema: bool=True, streamable: bool=False, description: Optional[str] = None) ->
|
|
217
|
+
def map_batches(self, function: Callable[[DataFrame], DataFrame], predicate_pushdown: bool=True, projection_pushdown: bool=True, slice_pushdown: bool=True, no_optimizations: bool=False, schema: None | SchemaDict=None, validate_output_schema: bool=True, streamable: bool=False, description: Optional[str] = None) -> LazyFrame: ...
|
|
194
218
|
|
|
195
219
|
# Aggregate the columns in the LazyFrame to their maximum value.
|
|
196
|
-
def max(self, description: Optional[str] = None) ->
|
|
220
|
+
def max(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
197
221
|
|
|
198
222
|
# Aggregate the columns in the LazyFrame to their mean value.
|
|
199
|
-
def mean(self, description: Optional[str] = None) ->
|
|
223
|
+
def mean(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
200
224
|
|
|
201
225
|
# Aggregate the columns in the LazyFrame to their median value.
|
|
202
|
-
def median(self, description: Optional[str] = None) ->
|
|
226
|
+
def median(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
203
227
|
|
|
204
228
|
# Unpivot a DataFrame from wide to long format.
|
|
205
|
-
def melt(self, id_vars: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None=None, value_vars: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None=None, variable_name: str | None=None, value_name: str | None=None, streamable: bool=True, description: Optional[str] = None) ->
|
|
229
|
+
def melt(self, id_vars: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None=None, value_vars: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None=None, variable_name: str | None=None, value_name: str | None=None, streamable: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
206
230
|
|
|
207
231
|
# Take two sorted DataFrames and merge them by the sorted key.
|
|
208
|
-
def merge_sorted(self, other: LazyFrame, key: str, description: Optional[str] = None) ->
|
|
232
|
+
def merge_sorted(self, other: LazyFrame, key: str, description: Optional[str] = None) -> LazyFrame: ...
|
|
209
233
|
|
|
210
234
|
# Aggregate the columns in the LazyFrame to their minimum value.
|
|
211
|
-
def min(self, description: Optional[str] = None) ->
|
|
235
|
+
def min(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
212
236
|
|
|
213
237
|
# Aggregate the columns in the LazyFrame as the sum of their null value count.
|
|
214
|
-
def null_count(self, description: Optional[str] = None) ->
|
|
238
|
+
def null_count(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
215
239
|
|
|
216
240
|
# Offers a structured way to apply a sequence of user-defined functions (UDFs).
|
|
217
|
-
def pipe(self, function: Callable[Concatenate[LazyFrame, P], T], *args, **kwargs) -> T: ...
|
|
241
|
+
def pipe(self, function: Callable[Concatenate[LazyFrame, P], T], *args, description: Optional[str] = None, **kwargs) -> T: ...
|
|
218
242
|
|
|
219
243
|
# Pivot a DataFrame from long to wide format.
|
|
220
244
|
def pivot(self, on: str | list[str], index: str | list[str] | None=None, values: str | list[str] | None=None, aggregate_function: str | None='first', maintain_order: bool=True, sort_columns: bool=False, separator: str='_', description: str=None) -> 'FlowFrame': ...
|
|
@@ -223,40 +247,44 @@ class FlowFrame:
|
|
|
223
247
|
def profile(self, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, no_optimization: bool=False, slice_pushdown: bool=True, comm_subplan_elim: bool=True, comm_subexpr_elim: bool=True, cluster_with_columns: bool=True, collapse_joins: bool=True, show_plot: bool=False, truncate_nodes: int=0, figsize: tuple[int, int]=(18, 8), engine: EngineType='auto', _check_order: bool=True, **_kwargs) -> tuple[DataFrame, DataFrame]: ...
|
|
224
248
|
|
|
225
249
|
# Aggregate the columns in the LazyFrame to their quantile value.
|
|
226
|
-
def quantile(self, quantile: float | Expr, interpolation: RollingInterpolationMethod='nearest', description: Optional[str] = None) ->
|
|
250
|
+
def quantile(self, quantile: float | Expr, interpolation: RollingInterpolationMethod='nearest', description: Optional[str] = None) -> LazyFrame: ...
|
|
227
251
|
|
|
228
252
|
# Run a query remotely on Polars Cloud.
|
|
229
|
-
def remote(self, context: pc.ComputeContext | None=None, plan_type: pc._typing.PlanTypePreference='dot', description: Optional[str] = None) ->
|
|
253
|
+
def remote(self, context: pc.ComputeContext | None=None, plan_type: pc._typing.PlanTypePreference='dot', description: Optional[str] = None) -> pc.LazyFrameExt: ...
|
|
230
254
|
|
|
231
255
|
# Remove rows, dropping those that match the given predicate expression(s).
|
|
232
|
-
def remove(self, *predicates, **constraints) ->
|
|
256
|
+
def remove(self, *predicates, description: Optional[str] = None, **constraints) -> LazyFrame: ...
|
|
233
257
|
|
|
234
258
|
# Rename column names.
|
|
235
|
-
def rename(self, mapping: dict[str, str] | Callable[[str], str], strict: bool=True, description: Optional[str] = None) ->
|
|
259
|
+
def rename(self, mapping: dict[str, str] | Callable[[str], str], strict: bool=True, description: Optional[str] = None) -> LazyFrame: ...
|
|
236
260
|
|
|
237
261
|
# Reverse the DataFrame.
|
|
238
|
-
def reverse(self, description: Optional[str] = None) ->
|
|
262
|
+
def reverse(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
239
263
|
|
|
240
264
|
# Create rolling groups based on a temporal or integer column.
|
|
241
265
|
def rolling(self, index_column: IntoExpr, period: str | timedelta, offset: str | timedelta | None=None, closed: ClosedInterval='right', group_by: IntoExpr | Iterable[IntoExpr] | None=None, description: Optional[str] = None) -> LazyGroupBy: ...
|
|
242
266
|
|
|
243
267
|
# Save the graph
|
|
244
|
-
def save_graph(self, file_path: str, auto_arrange: bool=True, description: Optional[str] = None) ->
|
|
268
|
+
def save_graph(self, file_path: str, auto_arrange: bool=True, description: Optional[str] = None) -> Any: ...
|
|
269
|
+
|
|
270
|
+
# Get an ordered mapping of column names to their data type.
|
|
271
|
+
@property
|
|
272
|
+
def schema(self) -> pl.Schema: ...
|
|
245
273
|
|
|
246
274
|
# Select columns from the frame.
|
|
247
|
-
def select(self, *columns, description:
|
|
275
|
+
def select(self, *columns, description: typing.Optional[str]=None) -> 'FlowFrame': ...
|
|
248
276
|
|
|
249
277
|
# Select columns from this LazyFrame.
|
|
250
|
-
def select_seq(self, *exprs, **named_exprs) ->
|
|
278
|
+
def select_seq(self, *exprs, description: Optional[str] = None, **named_exprs) -> LazyFrame: ...
|
|
251
279
|
|
|
252
280
|
# Serialize the logical plan of this LazyFrame to a file or string in JSON format.
|
|
253
281
|
def serialize(self, file: IOBase | str | Path | None=None, format: SerializationFormat='binary', description: Optional[str] = None) -> bytes | str | None: ...
|
|
254
282
|
|
|
255
283
|
# Flag a column as sorted.
|
|
256
|
-
def set_sorted(self, column: str, descending: bool=False, description: Optional[str] = None) ->
|
|
284
|
+
def set_sorted(self, column: str, descending: bool=False, description: Optional[str] = None) -> LazyFrame: ...
|
|
257
285
|
|
|
258
286
|
# Shift values by the given number of indices.
|
|
259
|
-
def shift(self, n: int | IntoExprColumn=1, fill_value: IntoExpr | None=None, description: Optional[str] = None) ->
|
|
287
|
+
def shift(self, n: int | IntoExprColumn=1, fill_value: IntoExpr | None=None, description: Optional[str] = None) -> LazyFrame: ...
|
|
260
288
|
|
|
261
289
|
# Show a plot of the query plan.
|
|
262
290
|
def show_graph(self, optimized: bool=True, show: bool=True, output_path: str | Path | None=None, raw_output: bool=False, figsize: tuple[float, float]=(16.0, 12.0), type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, comm_subplan_elim: bool=True, comm_subexpr_elim: bool=True, cluster_with_columns: bool=True, collapse_joins: bool=True, streaming: bool=False, engine: EngineType='auto', _check_order: bool=True) -> str | None: ...
|
|
@@ -265,72 +293,76 @@ class FlowFrame:
|
|
|
265
293
|
def sink_csv(self, file: str, *args, separator: str=',', encoding: str='utf-8', description: str=None) -> 'FlowFrame': ...
|
|
266
294
|
|
|
267
295
|
# Evaluate the query in streaming mode and write to an IPC file.
|
|
268
|
-
def sink_ipc(self, path: str | Path, compression: IpcCompression | None='zstd', compat_level: CompatLevel | None=None, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) ->
|
|
296
|
+
def sink_ipc(self, path: str | Path, compression: IpcCompression | None='zstd', compat_level: CompatLevel | None=None, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) -> LazyFrame | None: ...
|
|
269
297
|
|
|
270
298
|
# Evaluate the query in streaming mode and write to an NDJSON file.
|
|
271
|
-
def sink_ndjson(self, path: str | Path, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) ->
|
|
299
|
+
def sink_ndjson(self, path: str | Path, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) -> LazyFrame | None: ...
|
|
272
300
|
|
|
273
301
|
# Evaluate the query in streaming mode and write to a Parquet file.
|
|
274
|
-
def sink_parquet(self, path: str | Path, compression: str='zstd', compression_level: int | None=None, statistics: bool | str | dict[str, bool]=True, row_group_size: int | None=None, data_page_size: int | None=None, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) ->
|
|
302
|
+
def sink_parquet(self, path: str | Path, compression: str='zstd', compression_level: int | None=None, statistics: bool | str | dict[str, bool]=True, row_group_size: int | None=None, data_page_size: int | None=None, maintain_order: bool=True, type_coercion: bool=True, _type_check: bool=True, predicate_pushdown: bool=True, projection_pushdown: bool=True, simplify_expression: bool=True, slice_pushdown: bool=True, collapse_joins: bool=True, no_optimization: bool=False, storage_options: dict[str, Any] | None=None, credential_provider: CredentialProviderFunction | Literal['auto'] | None='auto', retries: int=2, sync_on_close: SyncOnCloseMethod | None=None, mkdir: bool=False, lazy: bool=False, engine: EngineType='auto', description: Optional[str] = None) -> LazyFrame | None: ...
|
|
275
303
|
|
|
276
304
|
# Get a slice of this DataFrame.
|
|
277
|
-
def slice(self, offset: int, length: int | None=None, description: Optional[str] = None) ->
|
|
305
|
+
def slice(self, offset: int, length: int | None=None, description: Optional[str] = None) -> LazyFrame: ...
|
|
278
306
|
|
|
279
307
|
# Sort the dataframe by the given columns.
|
|
280
|
-
def sort(self, by: Union[List, Expr, str], *more_by, descending: Union[bool, List]=False, nulls_last: Union[bool, List]=False, multithreaded: bool=True, maintain_order: bool=False, description:
|
|
308
|
+
def sort(self, by: typing.Union[typing.List[typing.Union[flowfile_frame.expr.Expr, str]], flowfile_frame.expr.Expr, str], *more_by, descending: typing.Union[bool, typing.List[bool]]=False, nulls_last: typing.Union[bool, typing.List[bool]]=False, multithreaded: bool=True, maintain_order: bool=False, description: typing.Optional[str]=None) -> 'FlowFrame': ...
|
|
281
309
|
|
|
282
310
|
# Execute a SQL query against the LazyFrame.
|
|
283
|
-
def sql(self, query: str, table_name: str='self', description: Optional[str] = None) ->
|
|
311
|
+
def sql(self, query: str, table_name: str='self', description: Optional[str] = None) -> LazyFrame: ...
|
|
284
312
|
|
|
285
313
|
# Aggregate the columns in the LazyFrame to their standard deviation value.
|
|
286
|
-
def std(self, ddof: int=1, description: Optional[str] = None) ->
|
|
314
|
+
def std(self, ddof: int=1, description: Optional[str] = None) -> LazyFrame: ...
|
|
287
315
|
|
|
288
316
|
# Aggregate the columns in the LazyFrame to their sum value.
|
|
289
|
-
def sum(self, description: Optional[str] = None) ->
|
|
317
|
+
def sum(self, description: Optional[str] = None) -> LazyFrame: ...
|
|
290
318
|
|
|
291
319
|
# Get the last `n` rows.
|
|
292
|
-
def tail(self, n: int=5, description: Optional[str] = None) ->
|
|
320
|
+
def tail(self, n: int=5, description: Optional[str] = None) -> LazyFrame: ...
|
|
293
321
|
|
|
294
322
|
# Split text in a column into multiple rows.
|
|
295
323
|
def text_to_rows(self, column: str | flowfile_frame.expr.Column, output_column: str=None, delimiter: str=None, split_by_column: str=None, description: str=None) -> 'FlowFrame': ...
|
|
296
324
|
|
|
297
325
|
# Get the underlying ETL graph.
|
|
298
|
-
def to_graph(self, description: Optional[str] = None) ->
|
|
326
|
+
def to_graph(self, description: Optional[str] = None) -> Any: ...
|
|
299
327
|
|
|
300
328
|
# Return the `k` largest rows.
|
|
301
|
-
def top_k(self, k: int, by: IntoExpr | Iterable[IntoExpr], reverse: bool | Sequence[bool]=False, description: Optional[str] = None) ->
|
|
329
|
+
def top_k(self, k: int, by: IntoExpr | Iterable[IntoExpr], reverse: bool | Sequence[bool]=False, description: Optional[str] = None) -> LazyFrame: ...
|
|
302
330
|
|
|
303
331
|
# Drop duplicate rows from this dataframe.
|
|
304
|
-
def unique(self, subset: Union[str, ForwardRef('Expr'), List]=None, keep: typing.Literal['first', 'last', 'any', 'none']='any', maintain_order: bool=False, description: str=None) -> 'FlowFrame': ...
|
|
332
|
+
def unique(self, subset: typing.Union[str, ForwardRef('Expr'), typing.List[typing.Union[ForwardRef('Expr'), str]]]=None, keep: typing.Literal['first', 'last', 'any', 'none']='any', maintain_order: bool=False, description: str=None) -> 'FlowFrame': ...
|
|
305
333
|
|
|
306
334
|
# Decompose struct columns into separate columns for each of their fields.
|
|
307
|
-
def unnest(self, columns: ColumnNameOrSelector | Collection[ColumnNameOrSelector], *more_columns, description: Optional[str] = None) ->
|
|
335
|
+
def unnest(self, columns: ColumnNameOrSelector | Collection[ColumnNameOrSelector], *more_columns, description: Optional[str] = None) -> LazyFrame: ...
|
|
308
336
|
|
|
309
337
|
# Unpivot a DataFrame from wide to long format.
|
|
310
338
|
def unpivot(self, on: list[str | flowfile_frame.selectors.Selector] | str | None | flowfile_frame.selectors.Selector=None, index: list[str] | str | None=None, variable_name: str='variable', value_name: str='value', description: str=None) -> 'FlowFrame': ...
|
|
311
339
|
|
|
312
340
|
# Update the values in this `LazyFrame` with the values in `other`.
|
|
313
|
-
def update(self, other: LazyFrame, on: str | Sequence[str] | None=None, how: Literal['left', 'inner', 'full']='left', left_on: str | Sequence[str] | None=None, right_on: str | Sequence[str] | None=None, include_nulls: bool=False, description: Optional[str] = None) ->
|
|
341
|
+
def update(self, other: LazyFrame, on: str | Sequence[str] | None=None, how: Literal['left', 'inner', 'full']='left', left_on: str | Sequence[str] | None=None, right_on: str | Sequence[str] | None=None, include_nulls: bool=False, description: Optional[str] = None) -> LazyFrame: ...
|
|
314
342
|
|
|
315
343
|
# Aggregate the columns in the LazyFrame to their variance value.
|
|
316
|
-
def var(self, ddof: int=1, description: Optional[str] = None) ->
|
|
344
|
+
def var(self, ddof: int=1, description: Optional[str] = None) -> LazyFrame: ...
|
|
345
|
+
|
|
346
|
+
# Get the number of columns.
|
|
347
|
+
@property
|
|
348
|
+
def width(self) -> int: ...
|
|
317
349
|
|
|
318
350
|
# Add or replace columns in the DataFrame.
|
|
319
|
-
def with_columns(self, exprs: Union[Expr,
|
|
351
|
+
def with_columns(self, *exprs: Union[Expr, Iterable[Expr], Any], flowfile_formulas: Optional[List[str]] = None, output_column_names: Optional[List[str]] = None, description: Optional[str] = None, **named_exprs: Union[Expr, Any]) -> 'FlowFrame': ...
|
|
320
352
|
|
|
321
353
|
# Add columns to this LazyFrame.
|
|
322
|
-
def with_columns_seq(self, *exprs, **named_exprs) ->
|
|
354
|
+
def with_columns_seq(self, *exprs, description: Optional[str] = None, **named_exprs) -> LazyFrame: ...
|
|
323
355
|
|
|
324
356
|
# Add an external context to the computation graph.
|
|
325
|
-
def with_context(self, other: Self | list[Self], description: Optional[str] = None) ->
|
|
357
|
+
def with_context(self, other: Self | list[Self], description: Optional[str] = None) -> LazyFrame: ...
|
|
326
358
|
|
|
327
359
|
# Add a column at index 0 that counts the rows.
|
|
328
|
-
def with_row_count(self, name: str='row_nr', offset: int=0, description: Optional[str] = None) ->
|
|
360
|
+
def with_row_count(self, name: str='row_nr', offset: int=0, description: Optional[str] = None) -> LazyFrame: ...
|
|
329
361
|
|
|
330
362
|
# Add a row index as the first column in the DataFrame.
|
|
331
363
|
def with_row_index(self, name: str='index', offset: int=0, description: str=None) -> 'FlowFrame': ...
|
|
332
364
|
|
|
333
|
-
def write_csv(self, file: str | os.PathLike, separator: str=',', encoding: str='utf-8',
|
|
365
|
+
def write_csv(self, file: str | os.PathLike, separator: str=',', encoding: str='utf-8', convert_to_absolute_path: bool=True, description: str=None, **kwargs) -> 'FlowFrame': ...
|
|
334
366
|
|
|
335
367
|
# Write the data to a Parquet file. Creates a standard Output node if only
|
|
336
|
-
def write_parquet(self, path: str | os.PathLike,
|
|
368
|
+
def write_parquet(self, path: str | os.PathLike, convert_to_absolute_path: bool=True, description: str=None, **kwargs) -> 'FlowFrame': ...
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "Flowfile"
|
|
3
|
-
version = "0.3.3"
|
|
3
|
+
version = "0.3.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>"]
|
|
@@ -27,7 +27,10 @@ databases = "~0.9.0"
|
|
|
27
27
|
passlib = "~1.7.4"
|
|
28
28
|
pyarrow = "^18.0.0"
|
|
29
29
|
python-multipart = "~0.0.12"
|
|
30
|
-
polars =
|
|
30
|
+
polars = [
|
|
31
|
+
{ version = ">=1.8.2, <=1.25.2", markers = "sys_platform == 'win32'" }, # For Windows, max version 1.25.2 due to failing issues in greater versions
|
|
32
|
+
{ version = ">=1.8.2, <2.0.0", markers = "sys_platform != 'win32'" }
|
|
33
|
+
]
|
|
31
34
|
methodtools = "~0.4.7"
|
|
32
35
|
faker = "~23.1.0"
|
|
33
36
|
XlsxWriter = "~3.2.0"
|
|
@@ -35,7 +38,7 @@ loky = "~3.4.1"
|
|
|
35
38
|
fastexcel = "~0.12.0"
|
|
36
39
|
openpyxl = "~3.1.2"
|
|
37
40
|
polars-distance = "~0.4.3"
|
|
38
|
-
polars-expr-transformer = "
|
|
41
|
+
polars-expr-transformer = ">=0.4.9.0"
|
|
39
42
|
polars-grouper = "~0.3.0"
|
|
40
43
|
polars-ds = ">=0.6.0"
|
|
41
44
|
pyairbyte-flowfile = "0.20.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|