FlowerPower 0.11.6.5__tar.gz → 0.11.6.6__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.5/src/FlowerPower.egg-info → flowerpower-0.11.6.6}/PKG-INFO +1 -1
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/pyproject.toml +1 -1
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6/src/FlowerPower.egg-info}/PKG-INFO +1 -1
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/helpers/polars.py +6 -6
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/helpers/pyarrow.py +3 -3
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/LICENSE +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/README.md +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/setup.cfg +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/FlowerPower.egg-info/SOURCES.txt +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/FlowerPower.egg-info/dependency_links.txt +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/FlowerPower.egg-info/entry_points.txt +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/FlowerPower.egg-info/requires.txt +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/FlowerPower.egg-info/top_level.txt +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/base.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/pipeline/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/pipeline/adapter.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/pipeline/run.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/pipeline/schedule.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/project/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/project/adapter.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cfg/project/job_queue.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/cfg.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/job_queue.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/mqtt.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/pipeline.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/cli/utils.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/flowerpower.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/fs/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/fs/base.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/fs/ext.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/fs/storage_options.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/manager.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/setup.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/trigger.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/utils.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/base.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/_trigger.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/concurrent_workers/gevent_worker.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/manager.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/setup.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/rq/utils.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/mqtt.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/base.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/io.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/job_queue.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/manager.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/registry.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/runner.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/pipeline/visualizer.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/base.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/helpers/datetime.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/helpers/sql.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/csv.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/deltatable.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/duckdb.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/json.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/mqtt.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/mssql.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/mysql.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/oracle.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/parquet.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/postgres.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/pydala.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/loader/sqlite.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/metadata.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/csv.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/deltatable.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/duckdb.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/json.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/mqtt.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/mssql.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/mysql.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/oracle.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/parquet.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/postgres.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/pydala.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/saver/sqlite.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/mqtt/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/mqtt/cfg.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/mqtt/manager.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/__init__.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/backend.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/executor.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/general.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/hamilton.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/job_queue.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/logging.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/settings/retry.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/callback.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/logging.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/misc.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/monkey.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/open_telemetry.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/utils/scheduler.py +0 -0
- {flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/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.6
|
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.6"
|
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.6
|
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
|
@@ -68,20 +68,20 @@ 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(series.dtype)
|
72
72
|
|
73
73
|
stripped = non_null.str.strip_chars()
|
74
74
|
lowercase = stripped.str.to_lowercase()
|
75
75
|
|
76
76
|
# Check for boolean values
|
77
|
-
if lowercase.str.contains(BOOLEAN_REGEX).all():
|
77
|
+
if lowercase.str.contains(BOOLEAN_REGEX).all(ignore_nulls=False):
|
78
78
|
return (
|
79
79
|
cleaned_expr.str.to_lowercase()
|
80
80
|
.str.contains(BOOLEAN_TRUE_REGEX)
|
81
81
|
.alias(col_name)
|
82
82
|
)
|
83
83
|
|
84
|
-
elif stripped.str.contains(INTEGER_REGEX).all():
|
84
|
+
elif stripped.str.contains(INTEGER_REGEX).all(ignore_nulls=False):
|
85
85
|
int_expr = cleaned_expr.cast(pl.Int64)
|
86
86
|
return (
|
87
87
|
int_expr.shrink_dtype().alias(col_name)
|
@@ -90,7 +90,7 @@ def _optimize_string_column(
|
|
90
90
|
)
|
91
91
|
|
92
92
|
# Check for numeric values
|
93
|
-
elif stripped.str.contains(FLOAT_REGEX).all():
|
93
|
+
elif stripped.str.contains(FLOAT_REGEX).all(ignore_nulls=False):
|
94
94
|
float_expr = cleaned_expr.str.replace_all(",", ".").cast(pl.Float64)
|
95
95
|
|
96
96
|
if shrink_numerics:
|
@@ -104,7 +104,7 @@ def _optimize_string_column(
|
|
104
104
|
return float_expr.alias(col_name)
|
105
105
|
|
106
106
|
try:
|
107
|
-
if stripped.str.contains(DATETIME_REGEX).all():
|
107
|
+
if stripped.str.contains(DATETIME_REGEX).all(ignore_nulls=False):
|
108
108
|
return cleaned_expr.str.to_datetime(
|
109
109
|
strict=False, time_unit="us", time_zone=time_zone
|
110
110
|
).alias(col_name)
|
@@ -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(series.dtype)
|
127
127
|
|
128
128
|
# Process based on current type
|
129
129
|
if series.dtype.is_numeric():
|
@@ -255,7 +255,7 @@ def _all_match_regex(array: pa.Array, pattern: str) -> bool:
|
|
255
255
|
Uses pyarrow.compute.match_substring_regex for vectorized evaluation.
|
256
256
|
"""
|
257
257
|
if len(array) == 0 or array.null_count == len(array):
|
258
|
-
return
|
258
|
+
return False
|
259
259
|
|
260
260
|
# Check if al values match the pattern
|
261
261
|
return pc.all(pc.match_substring_regex(array, pattern, ignore_case=True)).as_py()
|
@@ -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=array.type)
|
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=array.type)
|
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
|
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
|
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/manager.py
RENAMED
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/setup.py
RENAMED
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/src/flowerpower/job_queue/apscheduler/trigger.py
RENAMED
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/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.5 → flowerpower-0.11.6.6}/src/flowerpower/plugins/io/helpers/datetime.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{flowerpower-0.11.6.5 → flowerpower-0.11.6.6}/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
|
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.5 → flowerpower-0.11.6.6}/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
|
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
|