FlowerPower 0.11.6.10__tar.gz → 0.11.6.12__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.
- {flowerpower-0.11.6.10/src/FlowerPower.egg-info → flowerpower-0.11.6.12}/PKG-INFO +1 -1
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/pyproject.toml +1 -1
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12/src/FlowerPower.egg-info}/PKG-INFO +1 -1
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/fs/ext.py +16 -4
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/polars.py +2 -2
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/pyarrow.py +2 -2
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/LICENSE +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/README.md +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/setup.cfg +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/SOURCES.txt +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/dependency_links.txt +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/entry_points.txt +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/requires.txt +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/top_level.txt +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/base.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/pipeline/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/pipeline/adapter.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/pipeline/run.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/pipeline/schedule.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/project/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/project/adapter.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cfg/project/job_queue.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/cfg.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/job_queue.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/mqtt.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/pipeline.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/cli/utils.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/flowerpower.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/fs/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/fs/base.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/fs/storage_options.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/manager.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/setup.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/trigger.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/utils.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/base.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/_trigger.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/concurrent_workers/gevent_worker.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/manager.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/setup.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/rq/utils.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/mqtt.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/base.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/io.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/job_queue.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/manager.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/registry.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/runner.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/pipeline/visualizer.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/base.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/datetime.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/sql.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/csv.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/deltatable.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/duckdb.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/json.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/mqtt.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/mssql.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/mysql.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/oracle.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/parquet.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/postgres.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/pydala.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/sqlite.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/metadata.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/csv.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/deltatable.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/duckdb.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/json.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/mqtt.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/mssql.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/mysql.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/oracle.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/parquet.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/postgres.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/pydala.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/sqlite.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/mqtt/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/mqtt/cfg.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/mqtt/manager.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/__init__.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/backend.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/executor.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/general.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/hamilton.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/job_queue.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/logging.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/settings/retry.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/callback.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/logging.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/misc.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/monkey.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/open_telemetry.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/scheduler.py +0 -0
- {flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/utils/templates.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: FlowerPower
|
3
|
-
Version: 0.11.6.
|
3
|
+
Version: 0.11.6.12
|
4
4
|
Summary: A simple workflow framework. Hamilton + APScheduler = FlowerPower
|
5
5
|
Author-email: "Volker L." <ligno.blades@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/legout/flowerpower
|
@@ -4,7 +4,7 @@ description = "A simple workflow framework. Hamilton + APScheduler = FlowerPower
|
|
4
4
|
authors = [{ name = "Volker L.", email = "ligno.blades@gmail.com" }]
|
5
5
|
readme = "README.md"
|
6
6
|
requires-python = ">= 3.11"
|
7
|
-
version = "0.11.6.
|
7
|
+
version = "0.11.6.12"
|
8
8
|
keywords = [
|
9
9
|
"hamilton",
|
10
10
|
"workflow",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: FlowerPower
|
3
|
-
Version: 0.11.6.
|
3
|
+
Version: 0.11.6.12
|
4
4
|
Summary: A simple workflow framework. Hamilton + APScheduler = FlowerPower
|
5
5
|
Author-email: "Volker L." <ligno.blades@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/legout/flowerpower
|
@@ -953,8 +953,13 @@ def _read_parquet(
|
|
953
953
|
schemas = [t.schema for t in tables]
|
954
954
|
unified_schema = unify_schemas_pa(schemas)
|
955
955
|
tables = [cast_schema(t, unified_schema) for t in tables]
|
956
|
+
|
957
|
+
tables = [table for table in tables if table.num_rows > 0]
|
958
|
+
if not tables:
|
959
|
+
return unified_schema.empty_table()
|
960
|
+
|
956
961
|
result = pa.concat_tables(
|
957
|
-
|
962
|
+
tables,
|
958
963
|
promote_options="permissive",
|
959
964
|
)
|
960
965
|
# if opt_dtypes:
|
@@ -965,8 +970,12 @@ def _read_parquet(
|
|
965
970
|
# tables = opt_dtype_pa(tables, strict=False)
|
966
971
|
return tables
|
967
972
|
else:
|
968
|
-
|
969
|
-
|
973
|
+
tables = [table for table in tables if table.num_rows > 0]
|
974
|
+
if not tables:
|
975
|
+
return unified_schema.empty_table()
|
976
|
+
|
977
|
+
result = pa.concat_tables(
|
978
|
+
tables,
|
970
979
|
promote_options="permissive",
|
971
980
|
)
|
972
981
|
return tables
|
@@ -1088,8 +1097,11 @@ def _read_parquet_batches(
|
|
1088
1097
|
schemas = [t.schema for t in batch_tables]
|
1089
1098
|
unified_schema = unify_schemas_pa(schemas)
|
1090
1099
|
batch_tables = [cast_schema(t, unified_schema) for t in batch_tables]
|
1100
|
+
batch_tables = [table for table in batch_tables if table.num_rows > 0]
|
1101
|
+
if not batch_tables:
|
1102
|
+
yield unified_schema.empty_table()
|
1091
1103
|
batch_table = pa.concat_tables(
|
1092
|
-
|
1104
|
+
batch_tables,
|
1093
1105
|
promote_options="permissive",
|
1094
1106
|
)
|
1095
1107
|
# if opt_dtypes:
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/polars.py
RENAMED
@@ -68,7 +68,7 @@ def _optimize_string_column(
|
|
68
68
|
cleaned_expr = _clean_string_expr(col_name)
|
69
69
|
non_null = series.drop_nulls().replace({"-": None, "": None, "None": None})
|
70
70
|
if len(non_null) == 0:
|
71
|
-
return pl.col(col_name).cast(
|
71
|
+
return pl.col(col_name).cast(pl.Null()) # Fix: Cast to Null type
|
72
72
|
|
73
73
|
stripped = non_null.str.strip_chars()
|
74
74
|
lowercase = stripped.str.to_lowercase()
|
@@ -123,7 +123,7 @@ def _get_column_expr(
|
|
123
123
|
|
124
124
|
# Handle all-null columns
|
125
125
|
if series.is_null().all():
|
126
|
-
return pl.col(col_name).cast(
|
126
|
+
return pl.col(col_name).cast(pl.Null())
|
127
127
|
|
128
128
|
# Process based on current type
|
129
129
|
if series.dtype.is_numeric():
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/pyarrow.py
RENAMED
@@ -272,7 +272,7 @@ def _optimize_string_array(
|
|
272
272
|
if len(array) == 0:
|
273
273
|
return pa.array([], type=pa.int8())
|
274
274
|
if array.null_count == len(array):
|
275
|
-
return pa.array([None] * len(array), type=
|
275
|
+
return pa.array([None] * len(array), type=pa.null())
|
276
276
|
|
277
277
|
# Clean string values
|
278
278
|
cleaned_array = _clean_string_array(array)
|
@@ -342,7 +342,7 @@ def _process_column(
|
|
342
342
|
|
343
343
|
# Handle all-null columns
|
344
344
|
if array.null_count == len(array):
|
345
|
-
return pa.array([None] * len(array), type=
|
345
|
+
return pa.array([None] * len(array), type=pa.null())
|
346
346
|
|
347
347
|
# Process based on current type
|
348
348
|
if pa.types.is_floating(array.type) or pa.types.is_integer(array.type):
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/FlowerPower.egg-info/dependency_links.txt
RENAMED
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
|
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
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/manager.py
RENAMED
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/setup.py
RENAMED
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/trigger.py
RENAMED
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/job_queue/apscheduler/utils.py
RENAMED
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/helpers/datetime.py
RENAMED
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/__init__.py
RENAMED
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/deltatable.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/parquet.py
RENAMED
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/loader/postgres.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/__init__.py
RENAMED
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/deltatable.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.10 → flowerpower-0.11.6.12}/src/flowerpower/plugins/io/saver/postgres.py
RENAMED
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
|
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
|