FlowerPower 0.11.6.14__py3-none-any.whl → 0.11.6.15__py3-none-any.whl

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.
@@ -46,15 +46,27 @@ def _can_downcast_to_float32(series: pl.Series) -> bool:
46
46
  return F32_MIN <= min_val <= max_val <= F32_MAX
47
47
 
48
48
 
49
- def _optimize_numeric_column(series: pl.Series, col_name: str, shrink: bool) -> pl.Expr:
50
- """Optimize numeric column types."""
49
+ def _optimize_numeric_column(
50
+ series: pl.Series, col_name: str, shrink: bool, allow_unsigned: bool = False
51
+ ) -> pl.Expr:
52
+ """Optimize numeric column types, optionally converting to unsigned if all values >= 0."""
53
+ expr = pl.col(col_name)
54
+ dtype = series.dtype
55
+
56
+ if allow_unsigned and dtype.is_integer() and (series.min() is not None) and series.min() >= 0:
57
+ # Convert to unsigned integer type, shrink if requested
58
+ if shrink:
59
+ return expr.cast(pl.UInt64).shrink_dtype()
60
+ else:
61
+ return expr.cast(pl.UInt64)
62
+
51
63
  if not shrink:
52
- return pl.col(col_name)
64
+ return expr
53
65
 
54
- if series.dtype == pl.Float64 and not _can_downcast_to_float32(series):
55
- return pl.col(col_name)
66
+ if dtype == pl.Float64 and not _can_downcast_to_float32(series):
67
+ return expr
56
68
 
57
- return pl.col(col_name).shrink_dtype()
69
+ return expr.shrink_dtype()
58
70
 
59
71
 
60
72
  def _optimize_string_column(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FlowerPower
3
- Version: 0.11.6.14
3
+ Version: 0.11.6.15
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
@@ -47,7 +47,7 @@ flowerpower/pipeline/visualizer.py,sha256=amjMrl5NetErE198HzZBPWVZBi_t5jj9ydxWpu
47
47
  flowerpower/plugins/io/base.py,sha256=oGxTKobs0M19hPV842EelAeJ01EBz6kDdGv_4GTyFzk,97098
48
48
  flowerpower/plugins/io/metadata.py,sha256=PCrepLilXRWKDsB5BKFF_-OFs712s1zBeitW-84lDLQ,7005
49
49
  flowerpower/plugins/io/helpers/datetime.py,sha256=1WBUg2ywcsodJQwoF6JiIGc9yhVobvE2IErWp4i95m4,10649
50
- flowerpower/plugins/io/helpers/polars.py,sha256=6YbPg1UDeZaWLSnXatgvzCNJI8Ui2GhTegYsbV5VgrM,27463
50
+ flowerpower/plugins/io/helpers/polars.py,sha256=B4eg0GZUWh5Mbd1auC8SMmkCznR07q3sHDcgnwRmSNU,27856
51
51
  flowerpower/plugins/io/helpers/pyarrow.py,sha256=lYZHbPklzYvd7L5XqDjoTUV42cHi_c9Wh8xf1HYtS2M,18592
52
52
  flowerpower/plugins/io/helpers/sql.py,sha256=BPIxjarKF3p93EdtUu-md8KislE9q8IWNSeZ5toFU6U,7298
53
53
  flowerpower/plugins/io/loader/__init__.py,sha256=MKH42nvVokaWas0wFgX1yrpU5iLpvHjRqqF-KzwLHCg,780
@@ -94,9 +94,9 @@ flowerpower/utils/monkey.py,sha256=VPl3yimoWhwD9kI05BFsjNvtyQiDyLfY4Q85Bb6Ma0w,2
94
94
  flowerpower/utils/open_telemetry.py,sha256=fQWJWbIQFtKIxMBjAWeF12NGnqT0isO3A3j-DSOv_vE,949
95
95
  flowerpower/utils/scheduler.py,sha256=2zJ_xmLXpvXUQNF1XS2Gqm3Ogo907ctZ50GtvQB_rhE,9354
96
96
  flowerpower/utils/templates.py,sha256=ouyEeSDqa9PjW8c32fGpcINlpC0WToawRFZkMPtwsLE,1591
97
- flowerpower-0.11.6.14.dist-info/licenses/LICENSE,sha256=9AkLexxrmr0aBgSHiqxpJk9wgazpP1CTJyiDyr56J9k,1063
98
- flowerpower-0.11.6.14.dist-info/METADATA,sha256=XbPfuXRqDDFH6pT7FgUBC_Z1CiOBAw-EhtFYlGQwPfI,21613
99
- flowerpower-0.11.6.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- flowerpower-0.11.6.14.dist-info/entry_points.txt,sha256=61X11i5a2IwC9LBiP20XCDl5zMOigGCjMCx17B7bDbQ,52
101
- flowerpower-0.11.6.14.dist-info/top_level.txt,sha256=VraH4WtEUfSxs5L-rXwDQhzQb9eLHTUtgvmFZ2dAYnA,12
102
- flowerpower-0.11.6.14.dist-info/RECORD,,
97
+ flowerpower-0.11.6.15.dist-info/licenses/LICENSE,sha256=9AkLexxrmr0aBgSHiqxpJk9wgazpP1CTJyiDyr56J9k,1063
98
+ flowerpower-0.11.6.15.dist-info/METADATA,sha256=QIkBDvwIdawIRdDJDxx0a9xSbBUzX4X-vjQwKjY8Fh8,21613
99
+ flowerpower-0.11.6.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ flowerpower-0.11.6.15.dist-info/entry_points.txt,sha256=61X11i5a2IwC9LBiP20XCDl5zMOigGCjMCx17B7bDbQ,52
101
+ flowerpower-0.11.6.15.dist-info/top_level.txt,sha256=VraH4WtEUfSxs5L-rXwDQhzQb9eLHTUtgvmFZ2dAYnA,12
102
+ flowerpower-0.11.6.15.dist-info/RECORD,,