FlowerPower 0.11.5.6__tar.gz → 0.11.5.8__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 (106) hide show
  1. {flowerpower-0.11.5.6/src/FlowerPower.egg-info → flowerpower-0.11.5.8}/PKG-INFO +1 -1
  2. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/pyproject.toml +1 -1
  3. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8/src/FlowerPower.egg-info}/PKG-INFO +1 -1
  4. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/base.py +1 -2
  5. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/metadata.py +8 -11
  6. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/deltatable.py +8 -8
  7. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/LICENSE +0 -0
  8. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/README.md +0 -0
  9. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/setup.cfg +0 -0
  10. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/FlowerPower.egg-info/SOURCES.txt +0 -0
  11. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/FlowerPower.egg-info/dependency_links.txt +0 -0
  12. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/FlowerPower.egg-info/entry_points.txt +0 -0
  13. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/FlowerPower.egg-info/requires.txt +0 -0
  14. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/FlowerPower.egg-info/top_level.txt +0 -0
  15. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/__init__.py +0 -0
  16. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/__init__.py +0 -0
  17. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/base.py +0 -0
  18. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/pipeline/__init__.py +0 -0
  19. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/pipeline/adapter.py +0 -0
  20. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/pipeline/run.py +0 -0
  21. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/pipeline/schedule.py +0 -0
  22. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/project/__init__.py +0 -0
  23. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/project/adapter.py +0 -0
  24. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cfg/project/job_queue.py +0 -0
  25. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/__init__.py +0 -0
  26. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/cfg.py +0 -0
  27. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/job_queue.py +0 -0
  28. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/mqtt.py +0 -0
  29. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/pipeline.py +0 -0
  30. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/cli/utils.py +0 -0
  31. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/flowerpower.py +0 -0
  32. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/fs/__init__.py +0 -0
  33. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/fs/base.py +0 -0
  34. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/fs/ext.py +0 -0
  35. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/fs/storage_options.py +0 -0
  36. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/__init__.py +0 -0
  37. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/__init__.py +0 -0
  38. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -0
  39. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -0
  40. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/manager.py +0 -0
  41. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/setup.py +0 -0
  42. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/trigger.py +0 -0
  43. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/apscheduler/utils.py +0 -0
  44. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/base.py +0 -0
  45. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/__init__.py +0 -0
  46. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/_trigger.py +0 -0
  47. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/concurrent_workers/gevent_worker.py +0 -0
  48. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -0
  49. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/manager.py +0 -0
  50. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/setup.py +0 -0
  51. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/job_queue/rq/utils.py +0 -0
  52. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/mqtt.py +0 -0
  53. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/__init__.py +0 -0
  54. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/base.py +0 -0
  55. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/io.py +0 -0
  56. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/job_queue.py +0 -0
  57. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/manager.py +0 -0
  58. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/registry.py +0 -0
  59. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/runner.py +0 -0
  60. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/pipeline/visualizer.py +0 -0
  61. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/helpers/datetime.py +0 -0
  62. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/helpers/polars.py +0 -0
  63. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/helpers/sql.py +0 -0
  64. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/__init__.py +0 -0
  65. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/csv.py +0 -0
  66. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/deltatable.py +0 -0
  67. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/duckdb.py +0 -0
  68. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/json.py +0 -0
  69. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/mqtt.py +0 -0
  70. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/mssql.py +0 -0
  71. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/mysql.py +0 -0
  72. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/oracle.py +0 -0
  73. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/parquet.py +0 -0
  74. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/postgres.py +0 -0
  75. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/pydala.py +0 -0
  76. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/loader/sqlite.py +0 -0
  77. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/__init__.py +0 -0
  78. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/csv.py +0 -0
  79. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/duckdb.py +0 -0
  80. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/json.py +0 -0
  81. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/mqtt.py +0 -0
  82. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/mssql.py +0 -0
  83. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/mysql.py +0 -0
  84. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/oracle.py +0 -0
  85. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/parquet.py +0 -0
  86. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/postgres.py +0 -0
  87. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/pydala.py +0 -0
  88. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/io/saver/sqlite.py +0 -0
  89. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/mqtt/__init__.py +0 -0
  90. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/mqtt/cfg.py +0 -0
  91. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/plugins/mqtt/manager.py +0 -0
  92. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/__init__.py +0 -0
  93. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/backend.py +0 -0
  94. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/executor.py +0 -0
  95. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/general.py +0 -0
  96. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/hamilton.py +0 -0
  97. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/job_queue.py +0 -0
  98. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/logging.py +0 -0
  99. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/settings/retry.py +0 -0
  100. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/callback.py +0 -0
  101. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/logging.py +0 -0
  102. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/misc.py +0 -0
  103. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/monkey.py +0 -0
  104. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/open_telemetry.py +0 -0
  105. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/src/flowerpower/utils/scheduler.py +0 -0
  106. {flowerpower-0.11.5.6 → flowerpower-0.11.5.8}/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.5.6
3
+ Version: 0.11.5.8
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.5.6"
7
+ version = "0.11.5.8"
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.5.6
3
+ Version: 0.11.5.8
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
@@ -365,7 +365,7 @@ class BaseFileReader(BaseFileIO, gc=False):
365
365
  df = [df.lazy() for df in self._to_polars_dataframe()]
366
366
 
367
367
  else:
368
- df = self._to_polars_dataframe.lazy()
368
+ df = self._to_polars_dataframe().lazy()
369
369
  if metadata:
370
370
  metadata = get_dataframe_metadata(df, path=self.path, format=self.format)
371
371
  return df, metadata
@@ -1391,7 +1391,6 @@ class BaseDatasetWriter(BaseFileWriter, gc=False):
1391
1391
  mode=mode or self.mode,
1392
1392
  basename=basename or self.basename,
1393
1393
  schema=schema or self.schema_,
1394
- partition_flavor=partitioning_flavor or self.partitioning_flavor,
1395
1394
  partition_by=partition_by or self.partition_by,
1396
1395
  compression=compression or self.compression,
1397
1396
  row_group_size=row_group_size or self.row_group_size,
@@ -1,5 +1,6 @@
1
1
  import datetime as dt
2
2
  import importlib
3
+ import os
3
4
 
4
5
  import duckdb
5
6
  import pandas as pd
@@ -112,10 +113,8 @@ def get_dataframe_metadata(
112
113
  "num_columns": len(schema),
113
114
  "num_rows": num_rows,
114
115
  "num_files": num_files,
115
- "name": kwargs.get("name", None),
116
- "description": kwargs.get("description", None),
117
- "id": kwargs.get("id", None),
118
116
  }
117
+ metadata.update(kwargs)
119
118
  return {k: v for k, v in metadata.items() if v is not None}
120
119
 
121
120
 
@@ -161,10 +160,8 @@ def get_duckdb_metadata(
161
160
  "num_columns": shape[1] if shape else None,
162
161
  "num_rows": shape[0] if shape else None,
163
162
  "num_files": len(fs.glob(path)) if include_num_files else None,
164
- "name": kwargs.get("name", None),
165
- "description": kwargs.get("description", None),
166
- "id": kwargs.get("id", None),
167
163
  }
164
+ metadata.update(kwargs)
168
165
  return {k: v for k, v in metadata.items() if v is not None}
169
166
 
170
167
 
@@ -175,19 +172,19 @@ def get_pyarrow_dataset_metadata(
175
172
  **kwargs,
176
173
  ) -> dict:
177
174
  schema = get_serializable_schema(ds.schema)
175
+ files = ds.files
176
+
178
177
  metadata = {
179
- "path": path,
178
+ "path": path or os.path.dirname(files[0]),
180
179
  "format": format,
181
180
  "timestamp": dt.datetime.now().timestamp(),
182
181
  "schema": schema,
183
182
  "partition_columns": ds.partitioning.schema.names if ds.partitioning else None,
184
183
  "num_columns": len(ds.schema),
185
184
  "num_rows": None,
186
- "num_files": len(ds.files),
187
- "name": kwargs.get("name", None),
188
- "description": kwargs.get("description", None),
189
- "id": kwargs.get("id", None),
185
+ "num_files": len(files),
190
186
  }
187
+ metadata.update(kwargs)
191
188
  return metadata
192
189
 
193
190
 
@@ -60,14 +60,14 @@ class DeltaTableWriter(BaseDatasetWriter, gc=False):
60
60
  )
61
61
  | None = None,
62
62
  mode: str = "append", # "overwrite" | "append" | "error | "ignore"
63
- schema: pa.Schema | None = None,
63
+ # schema: pa.Schema | None = None,
64
64
  schema_mode: str | None = None, # "merge" | "overwrite"
65
65
  partition_by: list[str] | None = None,
66
- partition_filters: list[tuple[str, str, Any]] | None = None,
66
+ # partition_filters: list[tuple[str, str, Any]] | None = None,
67
67
  predicate: str | None = None,
68
68
  target_file_size: int | None = None,
69
- large_dtypes: bool = False,
70
- custom_metadata: dict[str, Any] | None = None,
69
+ # large_dtypes: bool = False,
70
+ # custom_metadata: dict[str, Any] | None = None,
71
71
  post_commithook_properties: PostCommitHookProperties | None = None,
72
72
  commit_properties: CommitProperties | None = None,
73
73
  # writerproperties
@@ -156,16 +156,16 @@ class DeltaTableWriter(BaseDatasetWriter, gc=False):
156
156
  self._base_path,
157
157
  data,
158
158
  mode=mode,
159
- schema=schema or self.schema_,
159
+ # schema=schema or self.schema_,
160
160
  partition_by=partition_by or self.partition_by,
161
161
  storage_options=self.storage_options.to_object_store_kwargs(),
162
162
  description=self.description,
163
163
  schema_mode=schema_mode,
164
- partition_filters=partition_filters,
164
+ # partition_filters=partition_filters,
165
165
  predicate=predicate,
166
166
  target_file_size=target_file_size,
167
- large_dtypes=large_dtypes,
168
- custom_metadata=custom_metadata,
167
+ # large_dtypes=large_dtypes,
168
+ # custom_metadata=custom_metadata,
169
169
  post_commithook_properties=post_commithook_properties,
170
170
  commit_properties=commit_properties,
171
171
  writer_properties=writer_properties,
File without changes
File without changes
File without changes