FlowerPower 0.11.6.9__tar.gz → 0.11.6.11__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.
Files changed (107) hide show
  1. {flowerpower-0.11.6.9/src/FlowerPower.egg-info → flowerpower-0.11.6.11}/PKG-INFO +1 -1
  2. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/pyproject.toml +1 -1
  3. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11/src/FlowerPower.egg-info}/PKG-INFO +1 -1
  4. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/fs/ext.py +4 -4
  5. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/helpers/polars.py +2 -2
  6. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/helpers/pyarrow.py +2 -2
  7. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/LICENSE +0 -0
  8. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/README.md +0 -0
  9. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/setup.cfg +0 -0
  10. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/FlowerPower.egg-info/SOURCES.txt +0 -0
  11. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/FlowerPower.egg-info/dependency_links.txt +0 -0
  12. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/FlowerPower.egg-info/entry_points.txt +0 -0
  13. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/FlowerPower.egg-info/requires.txt +0 -0
  14. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/FlowerPower.egg-info/top_level.txt +0 -0
  15. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/__init__.py +0 -0
  16. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/__init__.py +0 -0
  17. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/base.py +0 -0
  18. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/pipeline/__init__.py +0 -0
  19. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/pipeline/adapter.py +0 -0
  20. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/pipeline/run.py +0 -0
  21. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/pipeline/schedule.py +0 -0
  22. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/project/__init__.py +0 -0
  23. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/project/adapter.py +0 -0
  24. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cfg/project/job_queue.py +0 -0
  25. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/__init__.py +0 -0
  26. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/cfg.py +0 -0
  27. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/job_queue.py +0 -0
  28. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/mqtt.py +0 -0
  29. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/pipeline.py +0 -0
  30. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/cli/utils.py +0 -0
  31. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/flowerpower.py +0 -0
  32. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/fs/__init__.py +0 -0
  33. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/fs/base.py +0 -0
  34. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/fs/storage_options.py +0 -0
  35. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/__init__.py +0 -0
  36. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/__init__.py +0 -0
  37. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -0
  38. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -0
  39. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/manager.py +0 -0
  40. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/setup.py +0 -0
  41. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/trigger.py +0 -0
  42. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/apscheduler/utils.py +0 -0
  43. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/base.py +0 -0
  44. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/__init__.py +0 -0
  45. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/_trigger.py +0 -0
  46. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/concurrent_workers/gevent_worker.py +0 -0
  47. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -0
  48. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/manager.py +0 -0
  49. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/setup.py +0 -0
  50. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/job_queue/rq/utils.py +0 -0
  51. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/mqtt.py +0 -0
  52. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/__init__.py +0 -0
  53. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/base.py +0 -0
  54. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/io.py +0 -0
  55. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/job_queue.py +0 -0
  56. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/manager.py +0 -0
  57. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/registry.py +0 -0
  58. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/runner.py +0 -0
  59. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/pipeline/visualizer.py +0 -0
  60. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/base.py +0 -0
  61. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/helpers/datetime.py +0 -0
  62. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/helpers/sql.py +0 -0
  63. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/__init__.py +0 -0
  64. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/csv.py +0 -0
  65. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/deltatable.py +0 -0
  66. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/duckdb.py +0 -0
  67. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/json.py +0 -0
  68. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/mqtt.py +0 -0
  69. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/mssql.py +0 -0
  70. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/mysql.py +0 -0
  71. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/oracle.py +0 -0
  72. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/parquet.py +0 -0
  73. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/postgres.py +0 -0
  74. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/pydala.py +0 -0
  75. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/loader/sqlite.py +0 -0
  76. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/metadata.py +0 -0
  77. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/__init__.py +0 -0
  78. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/csv.py +0 -0
  79. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/deltatable.py +0 -0
  80. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/duckdb.py +0 -0
  81. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/json.py +0 -0
  82. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/mqtt.py +0 -0
  83. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/mssql.py +0 -0
  84. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/mysql.py +0 -0
  85. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/oracle.py +0 -0
  86. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/parquet.py +0 -0
  87. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/postgres.py +0 -0
  88. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/pydala.py +0 -0
  89. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/io/saver/sqlite.py +0 -0
  90. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/mqtt/__init__.py +0 -0
  91. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/mqtt/cfg.py +0 -0
  92. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/plugins/mqtt/manager.py +0 -0
  93. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/__init__.py +0 -0
  94. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/backend.py +0 -0
  95. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/executor.py +0 -0
  96. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/general.py +0 -0
  97. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/hamilton.py +0 -0
  98. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/job_queue.py +0 -0
  99. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/logging.py +0 -0
  100. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/settings/retry.py +0 -0
  101. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/callback.py +0 -0
  102. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/logging.py +0 -0
  103. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/misc.py +0 -0
  104. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/monkey.py +0 -0
  105. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/open_telemetry.py +0 -0
  106. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/src/flowerpower/utils/scheduler.py +0 -0
  107. {flowerpower-0.11.6.9 → flowerpower-0.11.6.11}/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.9
3
+ Version: 0.11.6.11
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.9"
7
+ version = "0.11.6.11"
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.9
3
+ Version: 0.11.6.11
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
@@ -949,10 +949,10 @@ def _read_parquet(
949
949
  if concat:
950
950
  # Unify schemas before concatenation if opt_dtypes or multiple tables
951
951
  if isinstance(tables, list):
952
- # if len(tables) > 1:
953
- # schemas = [t.schema for t in tables]
954
- # unified_schema = unify_schemas_pa(schemas)
955
- # tables = [cast_schema(t, unified_schema) for t in tables]
952
+ if len(tables) > 1:
953
+ schemas = [t.schema for t in tables]
954
+ unified_schema = unify_schemas_pa(schemas)
955
+ tables = [cast_schema(t, unified_schema) for t in tables]
956
956
  result = pa.concat_tables(
957
957
  [table for table in tables if table.num_rows > 0],
958
958
  promote_options="permissive",
@@ -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(series.dtype)
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(series.dtype)
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():
@@ -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=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=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