dycw-utilities 0.109.22__py3-none-any.whl → 0.109.23__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.109.22
3
+ Version: 0.109.23
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,4 +1,4 @@
1
- utilities/__init__.py,sha256=8f1PKZxzDeABQ7A4zZsmHKuHRkJKy1jboB_m42AXKxw,61
1
+ utilities/__init__.py,sha256=4lEn-RM4k4cprCQpv11-dCWVShqTEywTV3oeqqUTdtc,61
2
2
  utilities/altair.py,sha256=Gpja-flOo-Db0PIPJLJsgzAlXWoKUjPU1qY-DQ829ek,9156
3
3
  utilities/astor.py,sha256=xuDUkjq0-b6fhtwjhbnebzbqQZAjMSHR1IIS5uOodVg,777
4
4
  utilities/asyncio.py,sha256=41oQUurWMvadFK5gFnaG21hMM0Vmfn2WS6OpC0R9mas,14757
@@ -46,7 +46,7 @@ utilities/pathlib.py,sha256=31WPMXdLIyXgYOMMl_HOI2wlo66MGSE-cgeelk-Lias,1410
46
46
  utilities/period.py,sha256=ikHXsWtDLr553cfH6p9mMaiCnIAP69B7q84ckWV3HaA,10884
47
47
  utilities/pickle.py,sha256=Bhvd7cZl-zQKQDFjUerqGuSKlHvnW1K2QXeU5UZibtg,657
48
48
  utilities/platform.py,sha256=NU7ycTvAXAG-fdYmDXaM1m4EOml2cGiaYwaUzfzSqyU,1767
49
- utilities/polars.py,sha256=pFUEkCzHh01M84fm4upFc4UKrUFMKz6WeWYvAlFLAPw,58009
49
+ utilities/polars.py,sha256=woTGhyzXNLN30SQgwXz54-I1aJp1oWATJ2rpmke7gKI,58419
50
50
  utilities/polars_ols.py,sha256=efhXf0gjrHUpQrvS6a7g8yJQJWf_ATKtJnqqF2inCOU,5680
51
51
  utilities/pqdm.py,sha256=foRytQybmOQ05pjt5LF7ANyzrIa--4ScDE3T2wd31a4,3118
52
52
  utilities/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -87,7 +87,7 @@ utilities/warnings.py,sha256=yUgjnmkCRf6QhdyAXzl7u0qQFejhQG3PrjoSwxpbHrs,1819
87
87
  utilities/whenever.py,sha256=TjoTAJ1R27-rKXiXzdE4GzPidmYqm0W58XydDXp-QZM,17786
88
88
  utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
89
89
  utilities/zoneinfo.py,sha256=-DQz5a0Ikw9jfSZtL0BEQkXOMC9yGn_xiJYNCLMiqEc,1989
90
- dycw_utilities-0.109.22.dist-info/METADATA,sha256=Q17jtIGlAaCIIt5pD-cHWOB9Uvq8i9yRQtNP0q8NmLI,13005
91
- dycw_utilities-0.109.22.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
- dycw_utilities-0.109.22.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
93
- dycw_utilities-0.109.22.dist-info/RECORD,,
90
+ dycw_utilities-0.109.23.dist-info/METADATA,sha256=fMol_EYcAIARY4nGcAjYEe1AXs-5dAorn3vGy27XdBY,13005
91
+ dycw_utilities-0.109.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
+ dycw_utilities-0.109.23.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
93
+ dycw_utilities-0.109.23.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.109.22"
3
+ __version__ = "0.109.23"
utilities/polars.py CHANGED
@@ -1228,6 +1228,21 @@ class _GetDataTypeOrSeriesTimeZoneNotZonedError(GetDataTypeOrSeriesTimeZoneError
1228
1228
  ##
1229
1229
 
1230
1230
 
1231
+ def get_expr_name(obj: Series | DataFrame, expr: Expr, /) -> str:
1232
+ """Get the name of an expression."""
1233
+ match obj:
1234
+ case Series() as series:
1235
+ return get_expr_name(series.to_frame(), expr)
1236
+ case DataFrame() as df:
1237
+ selected = df.select(expr)
1238
+ return one(selected.columns)
1239
+ case _ as never:
1240
+ assert_never(never)
1241
+
1242
+
1243
+ ##
1244
+
1245
+
1231
1246
  def get_frequency_spectrum(series: Series, /, *, d: int = 1) -> DataFrame:
1232
1247
  """Get the frequency spectrum."""
1233
1248
  import utilities.numpy
@@ -1970,6 +1985,7 @@ __all__ = [
1970
1985
  "finite_ewm_mean",
1971
1986
  "floor_datetime",
1972
1987
  "get_data_type_or_series_time_zone",
1988
+ "get_expr_name",
1973
1989
  "get_frequency_spectrum",
1974
1990
  "get_series_number_of_decimals",
1975
1991
  "insert_after",