FlowerPower 0.11.2__tar.gz → 0.11.4__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.2/src/FlowerPower.egg-info → flowerpower-0.11.4}/PKG-INFO +1 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/pyproject.toml +1 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4/src/FlowerPower.egg-info}/PKG-INFO +1 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/base.py +21 -11
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/helpers/polars.py +13 -4
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/oracle.py +0 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/postgres.py +0 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/pydala.py +0 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/sqlite.py +0 -1
- {flowerpower-0.11.2 → flowerpower-0.11.4}/LICENSE +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/README.md +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/setup.cfg +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/FlowerPower.egg-info/SOURCES.txt +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/FlowerPower.egg-info/dependency_links.txt +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/FlowerPower.egg-info/entry_points.txt +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/FlowerPower.egg-info/requires.txt +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/FlowerPower.egg-info/top_level.txt +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/base.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/pipeline/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/pipeline/adapter.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/pipeline/run.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/pipeline/schedule.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/project/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/project/adapter.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cfg/project/job_queue.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/cfg.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/job_queue.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/mqtt.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/pipeline.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/cli/utils.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/flowerpower.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/fs/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/fs/base.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/fs/ext.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/fs/storage_options.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/_setup/datastore.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/_setup/eventbroker.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/manager.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/setup.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/trigger.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/utils.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/base.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/_trigger.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/concurrent_workers/gevent_worker.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/concurrent_workers/thread_worker.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/manager.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/setup.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/rq/utils.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/mqtt.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/base.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/io.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/job_queue.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/manager.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/registry.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/runner.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/pipeline/visualizer.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/helpers/datetime.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/helpers/sql.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/csv.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/deltatable.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/duckdb.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/json.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/mqtt.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/mssql.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/mysql.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/oracle.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/parquet.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/postgres.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/pydala.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/loader/sqlite.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/metadata.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/csv.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/deltatable.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/duckdb.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/json.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/mqtt.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/mssql.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/mysql.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/io/saver/parquet.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/mqtt/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/mqtt/cfg.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/plugins/mqtt/manager.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/__init__.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/backend.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/executor.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/general.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/hamilton.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/job_queue.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/logging.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/settings/retry.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/callback.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/logging.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/misc.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/monkey.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/open_telemetry.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/utils/scheduler.py +0 -0
- {flowerpower-0.11.2 → flowerpower-0.11.4}/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.
|
3
|
+
Version: 0.11.4
|
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.
|
7
|
+
version = "0.11.4"
|
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.
|
3
|
+
Version: 0.11.4
|
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
|
@@ -276,7 +276,7 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
276
276
|
return df
|
277
277
|
|
278
278
|
def iter_pandas(
|
279
|
-
self,
|
279
|
+
self, reload: bool = False, **kwargs
|
280
280
|
) -> Generator[pd.DataFrame, None, None]:
|
281
281
|
"""Iterate over Pandas DataFrames.
|
282
282
|
|
@@ -287,7 +287,10 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
287
287
|
Returns:
|
288
288
|
Generator[pd.DataFrame, None, None]: Generator of Pandas DataFrames.
|
289
289
|
"""
|
290
|
-
self.
|
290
|
+
if self.batch_size is None and "batch_size" not in kwargs:
|
291
|
+
self.batch_size = 1
|
292
|
+
|
293
|
+
self._load(reload=reload, **kwargs)
|
291
294
|
if isinstance(self._data, list | Generator):
|
292
295
|
for df in self._data:
|
293
296
|
yield df if isinstance(df, pd.DataFrame) else df.to_pandas()
|
@@ -324,14 +327,17 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
324
327
|
return df
|
325
328
|
|
326
329
|
def _iter_polars_dataframe(
|
327
|
-
self,
|
330
|
+
self, reload: bool = False, **kwargs
|
328
331
|
) -> Generator[pl.DataFrame, None, None]:
|
329
332
|
"""Iterate over Polars DataFrames.
|
330
333
|
|
331
334
|
Returns:
|
332
335
|
Generator[pl.DataFrame, None, None]: Generator of Polars DataFrames.
|
333
336
|
"""
|
334
|
-
self.
|
337
|
+
if self.batch_size is None and "batch_size" not in kwargs:
|
338
|
+
self.batch_size = 1
|
339
|
+
|
340
|
+
self._load(reload=reload, **kwargs)
|
335
341
|
if isinstance(self._data, list | Generator):
|
336
342
|
for df in self._data:
|
337
343
|
yield df if isinstance(df, pl.DataFrame) else pl.from_arrow(df)
|
@@ -361,7 +367,7 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
361
367
|
return df
|
362
368
|
|
363
369
|
def _iter_polars_lazyframe(
|
364
|
-
self,
|
370
|
+
self, reload: bool = False, **kwargs
|
365
371
|
) -> Generator[pl.LazyFrame, None, None]:
|
366
372
|
"""Iterate over Polars LazyFrames.
|
367
373
|
|
@@ -372,7 +378,9 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
372
378
|
Returns:
|
373
379
|
Generator[pl.LazyFrame, None, None]: Generator of Polars LazyFrames.
|
374
380
|
"""
|
375
|
-
self.
|
381
|
+
if self.batch_size is None and "batch_size" not in kwargs:
|
382
|
+
self.batch_size = 1
|
383
|
+
self._load(reload=reload, **kwargs)
|
376
384
|
if isinstance(self._data, list | Generator):
|
377
385
|
for df in self._data:
|
378
386
|
yield (
|
@@ -420,12 +428,11 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
420
428
|
def iter_polars(
|
421
429
|
self,
|
422
430
|
lazy: bool = False,
|
423
|
-
batch_size: int = 1,
|
424
431
|
**kwargs,
|
425
432
|
) -> Generator[pl.DataFrame | pl.LazyFrame, None, None]:
|
426
433
|
if lazy:
|
427
|
-
yield from self._iter_polars_lazyframe(
|
428
|
-
yield from self._iter_polars_dataframe(
|
434
|
+
yield from self._iter_polars_lazyframe(**kwargs)
|
435
|
+
yield from self._iter_polars_dataframe(**kwargs)
|
429
436
|
|
430
437
|
def to_pyarrow_table(
|
431
438
|
self, metadata: bool = False, reload: bool = False, **kwargs
|
@@ -459,14 +466,17 @@ class BaseFileReader(BaseFileIO, gc=False):
|
|
459
466
|
return df
|
460
467
|
|
461
468
|
def iter_pyarrow_table(
|
462
|
-
self,
|
469
|
+
self, reload: bool = False, **kwargs
|
463
470
|
) -> Generator[pa.Table, None, None]:
|
464
471
|
"""Iterate over PyArrow Tables.
|
465
472
|
|
466
473
|
Returns:
|
467
474
|
Generator[pa.Table, None, None]: Generator of PyArrow Tables.
|
468
475
|
"""
|
469
|
-
self.
|
476
|
+
if self.batch_size is None and "batch_size" not in kwargs:
|
477
|
+
self.batch_size = 1
|
478
|
+
|
479
|
+
self._load(reload=reload, **kwargs)
|
470
480
|
if isinstance(self._data, list | Generator):
|
471
481
|
for df in self._data:
|
472
482
|
yield df.to_arrow(**kwargs) if isinstance(df, pl.DataFrame) else df
|
@@ -68,8 +68,12 @@ def _opt_dtype(
|
|
68
68
|
if s.str.contains(r"\.").any() | s.str.contains("NaN").any():
|
69
69
|
s = s.cast(pl.Float64(), strict=True)
|
70
70
|
if shrink_dtype:
|
71
|
-
|
72
|
-
s
|
71
|
+
try:
|
72
|
+
if s.min() >= -16777216 and s.max() <= 16777216:
|
73
|
+
s = s.cast(pl.Float32(), strict=True)
|
74
|
+
except TypeError:
|
75
|
+
# if min or max is None, we cannot cast to Float32
|
76
|
+
pass
|
73
77
|
else:
|
74
78
|
s = s.cast(pl.Int64(), strict=True)
|
75
79
|
if shrink_dtype:
|
@@ -115,8 +119,13 @@ def _opt_dtype(
|
|
115
119
|
else:
|
116
120
|
if shrink_dtype:
|
117
121
|
if s.dtype == pl.Float64():
|
118
|
-
|
119
|
-
s
|
122
|
+
try:
|
123
|
+
if s.min() >= -16777216 and s.max() <= 16777216:
|
124
|
+
s = s.cast(pl.Float32(), strict=True)
|
125
|
+
except TypeError:
|
126
|
+
# if min or max is None, we cannot cast to Float32
|
127
|
+
pass
|
128
|
+
|
120
129
|
else:
|
121
130
|
s = s.shrink_dtype()
|
122
131
|
|
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
|
File without changes
|
{flowerpower-0.11.2 → flowerpower-0.11.4}/src/flowerpower/job_queue/apscheduler/_setup/datastore.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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|