dycw-utilities 0.151.7__py3-none-any.whl → 0.151.8__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.151.7
3
+ Version: 0.151.8
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,23 +1,23 @@
1
- utilities/__init__.py,sha256=qjNzBrs-umwg5qN0OFJw9nQdVphNh8Ehs54_cLwEZJk,60
1
+ utilities/__init__.py,sha256=4kiNe54mu65BdlIWO3fy88xeEWBui4WvuRPhgdV-gOA,60
2
2
  utilities/altair.py,sha256=92E2lCdyHY4Zb-vCw6rEJIsWdKipuu-Tu2ab1ufUfAk,9079
3
3
  utilities/asyncio.py,sha256=2m2a2C-Qgc6OHTTHL332-t66A7xDITt_SORT7a1DJWo,16792
4
- utilities/atomicwrites.py,sha256=xcOWenTBRS0oat3kg7Sqe51AohNThMQ2ixPL7QCG8hw,5795
4
+ utilities/atomicwrites.py,sha256=tPo6r-Rypd9u99u66B9z86YBPpnLrlHtwox_8Z7T34Y,5790
5
5
  utilities/atools.py,sha256=6neeCcgXxK2dlsc0xp15Za7nSucbCgFtAJepGI_-WXU,2549
6
6
  utilities/cachetools.py,sha256=v1-9sXHLdOLiwmkq6NB0OUbxeKBuVVN6wmAWefWoaHI,2744
7
- utilities/click.py,sha256=4godcta2Ozm-s3VvIXeNgoBlK2NIz_Q0XfAq64vAfZY,17369
8
- utilities/concurrent.py,sha256=ZdhcNeBl1-HaAPY3h7bZ5ccuYdfdq2ATHplvZdnzlhk,2858
9
- utilities/contextlib.py,sha256=THWVU14w3kgVM7TSxn2oHqVdBbdeliABR9gRXiPpo2U,7440
7
+ utilities/click.py,sha256=NXGzWoFOJqIblGwFqSGgXEDCKoV8E_JR58Lu2xJJFAo,17309
8
+ utilities/concurrent.py,sha256=fHeW2SZ_TEMfFY0C8pyQI6aPlnecvx9x6SuUwBWj_JY,2853
9
+ utilities/contextlib.py,sha256=m2D5bwvtCZLJcJ3IwVqyErYODuwJ1gLrT2UfATAQl-w,7435
10
10
  utilities/contextvars.py,sha256=J8OhC7jqozAGYOCe2KUWysbPXNGe5JYz3HfaY_mIs08,883
11
11
  utilities/cryptography.py,sha256=_CiK_K6c_-uQuUhsUNjNjTL-nqxAh4_1zTfS11Xe120,972
12
12
  utilities/cvxpy.py,sha256=Rv1-fD-XYerosCavRF8Pohop2DBkU3AlFaGTfD8AEAA,13776
13
- utilities/dataclasses.py,sha256=1-REGxtzCo2BbGkjLw5idjbTaiItpOiWvMNbVkJrFXM,32663
13
+ utilities/dataclasses.py,sha256=G05UH-fqUbcRPjQ8arK6K0Ap2fRbzEm0SZahJKCqYfY,32643
14
14
  utilities/dnspython.py,sha256=HfFaxjA_25XhjsTM5Bg03GCFatKzL8dOV4E0c9oMsho,384
15
- utilities/enum.py,sha256=IEPMGiNJBcofGPuoGZErf4bMNSBE4SLs32nvm2r81h0,5791
16
- utilities/errors.py,sha256=k_VvqSi6geTYhlzRRQaGN2j6ZGng-AD8SnX7Znrirm4,1484
17
- utilities/eventkit.py,sha256=s9p3WjGc7h7TdbSgVfHrRNNiuOXcQoVQ5sFCbJyqg48,12646
15
+ utilities/enum.py,sha256=5l6pwZD1cjSlVW4ss-zBPspWvrbrYrdtJWcg6f5_J5w,5781
16
+ utilities/errors.py,sha256=mFlDGSM0LI1jZ1pbqwLAH3ttLZ2JVIxyZLojw8tGVZU,1479
17
+ utilities/eventkit.py,sha256=FRCZisJfY9hAS9GHV4ZO3ZHDs89XZod7Xf99WzBt7jQ,12636
18
18
  utilities/fastapi.py,sha256=3wpd63Tw9paSyy7STpAD7GGe8fLkLaRC6TPCwIGm1BU,1361
19
19
  utilities/fpdf2.py,sha256=776PkEX5xEK-whFOzqaVaQVHPy1Xf01kCSyj7TEp80g,1886
20
- utilities/functions.py,sha256=qefAfW0zz7OEiRuBtKF-3tI3NaufcwAULRIFv24gZ2Q,28533
20
+ utilities/functions.py,sha256=UII45tzfqchSsQs1Tfm1NANFlF11m16gaNeV5MzM1ZY,28528
21
21
  utilities/functools.py,sha256=I00ru2gQPakZw2SHVeKIKXfTv741655s6HI0lUoE0D4,1552
22
22
  utilities/getpass.py,sha256=DfN5UgMAtFCqS3dSfFHUfqIMZX2shXvwphOz_6J6f6A,103
23
23
  utilities/gzip.py,sha256=fkGP3KdsBfXlstodT4wtlp-PwNyUsogpbDCVVVGdsm4,781
@@ -25,40 +25,40 @@ utilities/hashlib.py,sha256=SVTgtguur0P4elppvzOBbLEjVM3Pea0eWB61yg2ilxo,309
25
25
  utilities/http.py,sha256=TsavEfHlRtlLaeV21Z6KZh0qbPw-kvD1zsQdZ7Kep5Q,977
26
26
  utilities/hypothesis.py,sha256=muEtgWd8ZR7z4Iv-demKK3dBJY6dC26FYIzNcDd0ViE,40267
27
27
  utilities/importlib.py,sha256=mV1xT_O_zt_GnZZ36tl3xOmMaN_3jErDWY54fX39F6Y,429
28
- utilities/inflect.py,sha256=UWOsMRJUJXqcR3rgrQmb35mat-Theu5xo-M9E33eTIE,586
28
+ utilities/inflect.py,sha256=v7YkOWSu8NAmVghPcf4F3YBZQoJCS47_DLf9jbfWIs0,581
29
29
  utilities/ipython.py,sha256=V2oMYHvEKvlNBzxDXdLvKi48oUq2SclRg5xasjaXStw,763
30
- utilities/iterables.py,sha256=y7ymCCjCrc-RYwwE3xWWKJO_2zn-_pPe_z2ybM5kpkY,43952
31
- utilities/json.py,sha256=DiqnVZbDVmm0fohQCvFYg-B0QPFI02jaN7wmMjntaoQ,2107
30
+ utilities/iterables.py,sha256=6PFrb2fx1As22iCnlcUv35heGVpnRpiSObJFUmO9GDc,43922
31
+ utilities/json.py,sha256=-WcGtSsCr9Y42wHZzAMnfvU6ihAfVftylFfRUORaDFo,2102
32
32
  utilities/jupyter.py,sha256=ft5JA7fBxXKzP-L9W8f2-wbF0QeYc_2uLQNFDVk4Z-M,2917
33
- utilities/libcst.py,sha256=XTT8cCYAYfI9ZIdxjiTCqbF45cN-viDNDa7GE5mR2T4,5615
33
+ utilities/libcst.py,sha256=TKgKN4bNmtBNEE-TUfhTyd1BrTncfsl_7tTuhpesGYY,5585
34
34
  utilities/lightweight_charts.py,sha256=YM3ojBvJxuCSUBu_KrhFBmaMCvRPvupKC3qkm-UVZq4,2751
35
35
  utilities/logging.py,sha256=6Rv6Mt7peHWPZ-wYNUvXQt67QXCOpVXdnkgT88XKiKQ,19416
36
- utilities/math.py,sha256=_6vrDyjtaqE_OFE-F2DNWrDG_J_kMl3nFAJsok9v_bY,26862
36
+ utilities/math.py,sha256=7ve4RxX3g-FGGVnWV0K9bBeGnKUEjnTbH13VxdvFtGE,26847
37
37
  utilities/memory_profiler.py,sha256=XzN56jDCa5aqXS_DxEjb_K4L6aIWh_5zyKi6OhcIxw0,853
38
38
  utilities/modules.py,sha256=iuvLluJya-hvl1Q25-Jk3dLgx2Es3ck4SjJiEkAlVTs,3195
39
- utilities/more_itertools.py,sha256=NEGXDT8COaxziaJFTiXYKX0gffwfKhCAMrq-Kgh0w8c,10937
39
+ utilities/more_itertools.py,sha256=rklJ5vpvXr_H5pAGpWmwVpqtBVehoJ0-jBGYsZbux3M,10927
40
40
  utilities/numpy.py,sha256=Xn23sA2ZbVNqwUYEgNJD3XBYH6IbCri_WkHSNhg3NkY,26122
41
41
  utilities/operator.py,sha256=nhxn5q6CFNzUm1wpTwWPCu9JGCqVHSlaJf0o1-efoII,3616
42
42
  utilities/optuna.py,sha256=C-fhWYiXHVPo1l8QctYkFJ4DyhbSrGorzP1dJb_qvd8,1933
43
- utilities/orjson.py,sha256=iJho5gCkTlT2KWSXqopvi24WCxEhM5_fiz17mbNvkGg,40113
44
- utilities/os.py,sha256=y25oqJoyrkdQ7aU5ShePPXKk6YTwd97x6yEx4UcRYu4,3788
43
+ utilities/orjson.py,sha256=Gzxn-s55pGFKV8DdsYXpp-Gr3r-5KdacYUd_GHMBogM,40088
44
+ utilities/os.py,sha256=mFvjydySvjtSXpk7tLStUJcndauAoujxUUmj_CO7LWY,3778
45
45
  utilities/parse.py,sha256=JcJn5yXKhIWXBCwgBdPsyu7Hvcuw6kyEdqvaebCaI9k,17951
46
- utilities/pathlib.py,sha256=FnteXeVeMOSc6QTN7oF6UrobjOX9gXv_5tG1slg83W8,8496
47
- utilities/period.py,sha256=hsHdAKAstfMzB2Ar5EbxjkbMff3CA-B5wtYNVZOXVXI,10127
46
+ utilities/pathlib.py,sha256=77wT9naY2Nnrbar8nJiIYd2r3MfabMQM9VguuuivrdQ,8481
47
+ utilities/period.py,sha256=LMN6gIo4QpkXpYnuXMItWzNqjkb6R47FHV1B-5Rndc0,10117
48
48
  utilities/pickle.py,sha256=MBT2xZCsv0pH868IXLGKnlcqNx2IRVKYNpRcqiQQqxw,653
49
- utilities/platform.py,sha256=Ue9LSxYvg9yUXGKuz5aZoy_qkUEXde-v6B09exgSctU,2813
50
- utilities/polars.py,sha256=D9KzxCeLjqfv3dxplJtUuPKkyLbtPVcMHgMxL_im7tI,73313
49
+ utilities/platform.py,sha256=pTn7gw6N4T6LdKrf0virwarof_mze9WtoQlrGMzhGVI,2798
50
+ utilities/polars.py,sha256=x4x3i08ldcDyKVEa8rcyAyacHKjok30K2v79yhoIn2Y,73243
51
51
  utilities/polars_ols.py,sha256=Uc9V5kvlWZ5cU93lKZ-cfAKdVFFw81tqwLW9PxtUvMs,5618
52
- utilities/postgres.py,sha256=xArnonKtL5IR93LpoUYN2U16YswBCJlU5WQkDbv10A0,12553
52
+ utilities/postgres.py,sha256=juXaOguCCX4oAw4y2JajRVIhhKKZarCyapNyyr4Tn4Q,12538
53
53
  utilities/pottery.py,sha256=u0uvyGgYyujxftEMlsv6ppYTKQoVVjHt5jnVxxYz9s4,6596
54
- utilities/pqdm.py,sha256=BTsYPtbKQWwX-iXF4qCkfPG7DPxIB54J989n83bXrIo,3092
54
+ utilities/pqdm.py,sha256=z8bSMS7QJmWun65FQZruAqT-R3wqPAzNzhWcX9Nvr0A,3087
55
55
  utilities/psutil.py,sha256=KUlu4lrUw9Zg1V7ZGetpWpGb9DB8l_SSDWGbANFNCPU,2104
56
56
  utilities/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  utilities/pyinstrument.py,sha256=E3U4T6qzTGVcGzAiShl9BL3acO-uu_dHZVgSbkSBd7A,864
58
- utilities/pytest.py,sha256=TUguQEeUiftUWW-aLJEQmZr-J6W2bwpkUt9Y-q2ua14,7904
59
- utilities/pytest_regressions.py,sha256=50h6hqX60U6dkYaB6tW-XEDhSH4y_FQ5LgJ0pGF1Wo4,4102
58
+ utilities/pytest.py,sha256=xR-xG5aTfU9U7Qcb8Lle8uhLP1V0zc8EqZFfU0F8zfg,7899
59
+ utilities/pytest_regressions.py,sha256=ocjHTtfOeiGfQAKIei8pKNd61sxN9dawrJJ9gPt2wzA,4097
60
60
  utilities/random.py,sha256=YWYzWxQDeyJRiuHGnO1OxF6dDucpq7qc1tH_ealwCRg,4130
61
- utilities/re.py,sha256=6qxeV0rQZaBDKWcB7apSBmxtg_XzoGY-EdegTkMn-ZY,4578
61
+ utilities/re.py,sha256=S4h-DLL6ScMPqjboZ_uQ1BVTJajrqV06r_81D--_HCE,4573
62
62
  utilities/redis.py,sha256=SyC1TZdQBsQLe7nevX6x-y0CgEFulQ76H1fA_dFfuks,28419
63
63
  utilities/reprlib.py,sha256=ssYTcBW-TeRh3fhCJv57sopTZHF5FrPyyUg9yp5XBlo,3953
64
64
  utilities/scipy.py,sha256=wZJM7fEgBAkLSYYvSmsg5ac-QuwAI0BGqHVetw1_Hb0,947
@@ -67,30 +67,30 @@ utilities/shelve.py,sha256=4OzjQI6kGuUbJciqf535rwnao-_IBv66gsT6tRGiUt0,759
67
67
  utilities/slack_sdk.py,sha256=ppFBvKgfg5IRWiIoKPtpTyzBtBF4XmwEvU3I5wLJikM,2140
68
68
  utilities/socket.py,sha256=K77vfREvzoVTrpYKo6MZakol0EYu2q1sWJnnZqL0So0,118
69
69
  utilities/sqlalchemy.py,sha256=QbCFKefrkkqL23iDF5WdOKRfISMj6c-SyrI3rvBATE4,39641
70
- utilities/sqlalchemy_polars.py,sha256=TqNLQz85ow3gMjf17T_3WKL0MWYgSi0sXOgMYMxdNSU,14249
70
+ utilities/sqlalchemy_polars.py,sha256=Mm-sShZfqqgnzTrupMQdCfSM2akrybXHXAErTs-ofM8,14244
71
71
  utilities/statsmodels.py,sha256=koyiBHvpMcSiBfh99wFUfSggLNx7cuAw3rwyfAhoKpQ,3410
72
- utilities/string.py,sha256=MB0X6UPTUc06JdAdj-PctZ238IXeCjE5dAJibNw6ZrU,587
72
+ utilities/string.py,sha256=shmBK87zZwzGyixuNuXCiUbqzfeZ9xlrFwz6JTaRvDk,582
73
73
  utilities/tempfile.py,sha256=HxB2BF28CcecDJLQ3Bx2Ej-Pb6RJc6W9ngSpB9CnP4k,2018
74
74
  utilities/text.py,sha256=4EOtSnfU0z09WANxjVO8Td54VNNe1sS4dWCa7VUo4HI,11794
75
75
  utilities/threading.py,sha256=GvBOp4CyhHfN90wGXZuA2VKe9fGzMaEa7oCl4f3nnPU,1009
76
76
  utilities/timer.py,sha256=oXfTii6ymu57niP0BDGZjFD55LEHi2a19kqZKiTgaFQ,2588
77
77
  utilities/traceback.py,sha256=zofhzIedpUHrzDNiRJDVzm_wuu_tlTQvVqK4quxVlgM,9151
78
- utilities/typed_settings.py,sha256=98OQQsXyfjxbGPjWqG45P_DoNgrzS4gZ7062oD2lgtE,4481
78
+ utilities/typed_settings.py,sha256=ZzzlMgPntnGv6kAn0mGp43nHJCnU99V_8152QmpH9tY,4476
79
79
  utilities/types.py,sha256=4bHcAF4OVMjnaY9SAj8_bKiHfj6YurD6Y3cipV-5yFE,18551
80
80
  utilities/typing.py,sha256=Z-_XDaWyT_6wIo3qfNK-hvRlzxP2Jxa9PgXzm5rDYRA,13790
81
81
  utilities/tzdata.py,sha256=fgNVj66yUbCSI_-vrRVzSD3gtf-L_8IEJEPjP_Jel5Y,266
82
82
  utilities/tzlocal.py,sha256=KyCXEgCTjqGFx-389JdTuhMRUaT06U1RCMdWoED-qro,728
83
83
  utilities/uuid.py,sha256=32p7DGHGM2Btx6PcBvCZvERSWbpupMXqx6FppPoSoTU,612
84
- utilities/version.py,sha256=ufhJMmI6KPs1-3wBI71aj5wCukd3sP_m11usLe88DNA,5117
84
+ utilities/version.py,sha256=A8iLeY2kfj1mxjFyKJowiYrWKstJ5smoBj9QM93cUwI,5112
85
85
  utilities/warnings.py,sha256=un1LvHv70PU-LLv8RxPVmugTzDJkkGXRMZTE2-fTQHw,1771
86
- utilities/whenever.py,sha256=iOaUvbc1hjZGtKOvruuOelxZl7Fd203lv77zxMWZ7a0,44773
86
+ utilities/whenever.py,sha256=oBQziaMsvIozFfpwaJ8nm2oFrAkhnN6Zm4ypMuwBqiA,44678
87
87
  utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
88
- utilities/zoneinfo.py,sha256=oEH-nL3t4h9uawyZqWDtNtDAl6M-CLpLYGI_nI6DulM,1971
88
+ utilities/zoneinfo.py,sha256=FBMcUQ4662Aq8SsuCL1OAhDQiyANmVjtb-C30DRrWoE,1966
89
89
  utilities/pytest_plugins/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
90
90
  utilities/pytest_plugins/pytest_randomly.py,sha256=NXzCcGKbpgYouz5yehKb4jmxmi2SexKKpgF4M65bi10,414
91
91
  utilities/pytest_plugins/pytest_regressions.py,sha256=Iwhfv_OJH7UCPZCfoh7ugZ2Xjqjil-BBBsOb8sDwiGI,1471
92
- dycw_utilities-0.151.7.dist-info/METADATA,sha256=PiD8TxK9Vtm6l2eEgT70feFKRj_GSiK56aRRmeMYwJA,1696
93
- dycw_utilities-0.151.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
94
- dycw_utilities-0.151.7.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
95
- dycw_utilities-0.151.7.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
96
- dycw_utilities-0.151.7.dist-info/RECORD,,
92
+ dycw_utilities-0.151.8.dist-info/METADATA,sha256=_O8sp46Zj82B4X3XXMKjrRoSPcCxTj-uG_ulUBEaXKc,1696
93
+ dycw_utilities-0.151.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
94
+ dycw_utilities-0.151.8.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
95
+ dycw_utilities-0.151.8.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
96
+ dycw_utilities-0.151.8.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.151.7"
3
+ __version__ = "0.151.8"
utilities/atomicwrites.py CHANGED
@@ -57,7 +57,7 @@ def move(
57
57
  raise ImpossibleCaseError(
58
58
  case=[f"{source.is_file()=}", f"{source.is_dir()=}"]
59
59
  )
60
- case _ as never:
60
+ case never:
61
61
  assert_never(never)
62
62
 
63
63
 
utilities/click.py CHANGED
@@ -85,7 +85,7 @@ class Date(ParamType):
85
85
  return whenever.Date.parse_common_iso(value)
86
86
  except ValueError as error:
87
87
  self.fail(str(error), param, ctx)
88
- case _ as never:
88
+ case never:
89
89
  assert_never(never)
90
90
 
91
91
 
@@ -111,7 +111,7 @@ class DateDelta(ParamType):
111
111
  return whenever.DateDelta.parse_common_iso(value)
112
112
  except ValueError as error:
113
113
  self.fail(str(error), param, ctx)
114
- case _ as never:
114
+ case never:
115
115
  assert_never(never)
116
116
 
117
117
 
@@ -137,7 +137,7 @@ class DateTimeDelta(ParamType):
137
137
  return whenever.DateTimeDelta.parse_common_iso(value)
138
138
  except ValueError as error:
139
139
  self.fail(str(error), param, ctx)
140
- case _ as never:
140
+ case never:
141
141
  assert_never(never)
142
142
 
143
143
 
@@ -196,7 +196,7 @@ class IPv4Address(ParamType):
196
196
  return parse_object(ipaddress.IPv4Address, value)
197
197
  except ParseObjectError as error:
198
198
  self.fail(str(error), param, ctx)
199
- case _ as never:
199
+ case never:
200
200
  assert_never(never)
201
201
 
202
202
 
@@ -222,7 +222,7 @@ class IPv6Address(ParamType):
222
222
  return parse_object(ipaddress.IPv6Address, value)
223
223
  except ParseObjectError as error:
224
224
  self.fail(str(error), param, ctx)
225
- case _ as never:
225
+ case never:
226
226
  assert_never(never)
227
227
 
228
228
 
@@ -248,7 +248,7 @@ class MonthDay(ParamType):
248
248
  return whenever.MonthDay.parse_common_iso(value)
249
249
  except ValueError as error:
250
250
  self.fail(str(error), param, ctx)
251
- case _ as never:
251
+ case never:
252
252
  assert_never(never)
253
253
 
254
254
 
@@ -274,7 +274,7 @@ class PlainDateTime(ParamType):
274
274
  return whenever.PlainDateTime.parse_common_iso(value)
275
275
  except ValueError as error:
276
276
  self.fail(str(error), param, ctx)
277
- case _ as never:
277
+ case never:
278
278
  assert_never(never)
279
279
 
280
280
 
@@ -300,7 +300,7 @@ class Time(ParamType):
300
300
  return whenever.Time.parse_common_iso(value)
301
301
  except ValueError as error:
302
302
  self.fail(str(error), param, ctx)
303
- case _ as never:
303
+ case never:
304
304
  assert_never(never)
305
305
 
306
306
 
@@ -326,7 +326,7 @@ class TimeDelta(ParamType):
326
326
  return whenever.TimeDelta.parse_common_iso(value)
327
327
  except ValueError as error:
328
328
  self.fail(str(error), param, ctx)
329
- case _ as never:
329
+ case never:
330
330
  assert_never(never)
331
331
 
332
332
 
@@ -352,7 +352,7 @@ class UUID(ParamType):
352
352
  return uuid.UUID(value)
353
353
  except ValueError as error:
354
354
  self.fail(str(error), param, ctx)
355
- case _ as never:
355
+ case never:
356
356
  assert_never(never)
357
357
 
358
358
 
@@ -378,7 +378,7 @@ class YearMonth(ParamType):
378
378
  return whenever.YearMonth.parse_common_iso(value)
379
379
  except ValueError as error:
380
380
  self.fail(str(error), param, ctx)
381
- case _ as never:
381
+ case never:
382
382
  assert_never(never)
383
383
 
384
384
 
@@ -404,7 +404,7 @@ class ZonedDateTime(ParamType):
404
404
  return whenever.ZonedDateTime.parse_common_iso(value)
405
405
  except ValueError as error:
406
406
  self.fail(str(error), param, ctx)
407
- case _ as never:
407
+ case never:
408
408
  assert_never(never)
409
409
 
410
410
 
utilities/concurrent.py CHANGED
@@ -84,7 +84,7 @@ def concurrent_starmap[T](
84
84
  initargs=initargs,
85
85
  ) as pool:
86
86
  result = pool.map(apply, iterable, timeout=timeout, chunksize=chunksize)
87
- case _ as never:
87
+ case never:
88
88
  assert_never(never)
89
89
  return list(result)
90
90
 
utilities/contextlib.py CHANGED
@@ -210,7 +210,7 @@ def _make_handler(
210
210
  _ = loop.call_soon_threadsafe(
211
211
  create_task, agcm.__aexit__(None, None, None)
212
212
  )
213
- case _ as never:
213
+ case never:
214
214
  assert_never(never)
215
215
  if callable(orig_handler): # pragma: no cover
216
216
  orig_handler(signum, frame)
utilities/dataclasses.py CHANGED
@@ -214,7 +214,7 @@ def is_nullable_lt[T: SupportsLT](x: T | None, y: T | None, /) -> bool | None:
214
214
  return True
215
215
  case 0:
216
216
  return None
217
- case _ as never:
217
+ case never:
218
218
  assert_never(never)
219
219
 
220
220
 
@@ -520,7 +520,7 @@ def parse_dataclass[T: Dataclass](
520
520
  )
521
521
  case Mapping() as keys_to_serializes:
522
522
  ...
523
- case _ as never:
523
+ case never:
524
524
  assert_never(never)
525
525
  fields = list(
526
526
  yield_fields(
@@ -1002,7 +1002,7 @@ def _empty_error_str_core(
1002
1002
  return f"any field starting with {key!r}"
1003
1003
  case True, False:
1004
1004
  return f"any field starting with {key!r} (modulo case)"
1005
- case _ as never:
1005
+ case never:
1006
1006
  assert_never(never)
1007
1007
 
1008
1008
 
@@ -1043,7 +1043,7 @@ def _non_unique_error_str_core(
1043
1043
  head_msg = f"exactly one field starting with {key!r}"
1044
1044
  case True, False:
1045
1045
  head_msg = f"exactly one field starting with {key!r} (modulo case)"
1046
- case _ as never:
1046
+ case never:
1047
1047
  assert_never(never)
1048
1048
  return f"{head_msg}; got {first!r}, {second!r} and perhaps more"
1049
1049
 
utilities/enum.py CHANGED
@@ -95,7 +95,7 @@ def parse_enum[E: Enum](
95
95
  by_name=by_name.name,
96
96
  by_value=by_value.name,
97
97
  )
98
- case _ as never:
98
+ case never:
99
99
  assert_never(never)
100
100
 
101
101
 
@@ -116,7 +116,7 @@ def _parse_enum_one[E: Enum](
116
116
  names = [e.name for e in enum]
117
117
  case "values":
118
118
  names = [ensure_str(e.value) for e in enum]
119
- case _ as never:
119
+ case never:
120
120
  assert_never(never)
121
121
  try:
122
122
  name = one_str(names, value, case_sensitive=case_sensitive)
utilities/errors.py CHANGED
@@ -46,7 +46,7 @@ def repr_error(error: MaybeType[BaseException], /) -> str:
46
46
  return f"{error_obj.__class__.__name__}({error_obj})"
47
47
  case type() as error_cls:
48
48
  return error_cls.__name__
49
- case _ as never:
49
+ case never:
50
50
  assert_never(never)
51
51
 
52
52
 
utilities/eventkit.py CHANGED
@@ -359,9 +359,9 @@ def lift_listener[F1: Callable[..., MaybeCoro[None]], F2: Callable](
359
359
  error_typed(event, exc)
360
360
 
361
361
  lifted = listener_have_error_async
362
- case _ as never:
362
+ case never:
363
363
  assert_never(never)
364
- case _ as never:
364
+ case never:
365
365
  assert_never(never)
366
366
 
367
367
  if decorators is not None:
utilities/functions.py CHANGED
@@ -960,7 +960,7 @@ def to_bool(
960
960
  return bool_
961
961
  case Callable() as func:
962
962
  return to_bool(bool_=func())
963
- case _ as never:
963
+ case never:
964
964
  assert_never(never)
965
965
 
966
966
 
utilities/inflect.py CHANGED
@@ -15,7 +15,7 @@ def counted_noun(obj: int | Sized, noun: str, /) -> str:
15
15
  ...
16
16
  case Sized() as sized:
17
17
  count = len(sized)
18
- case _ as never:
18
+ case never:
19
19
  assert_never(never)
20
20
  word = cast("Word", noun)
21
21
  sin_or_plu = _ENGINE.plural_noun(word, count=count)
utilities/iterables.py CHANGED
@@ -295,7 +295,7 @@ class CheckIterablesEqualError[T](Exception):
295
295
  yield "right was longer"
296
296
  case None:
297
297
  pass
298
- case _ as never:
298
+ case never:
299
299
  assert_never(never)
300
300
 
301
301
 
@@ -690,7 +690,7 @@ def cmp_nullable[T: SupportsLT](x: T | None, y: T | None, /) -> Sign:
690
690
  return 1
691
691
  case _, _:
692
692
  return cast("Sign", (x > y) - (x < y))
693
- case _ as never:
693
+ case never:
694
694
  assert_never(never)
695
695
 
696
696
 
@@ -1068,7 +1068,7 @@ def one_str(
1068
1068
  it = (t for t in as_list if t.startswith(text))
1069
1069
  case True, False:
1070
1070
  it = (t for t in as_list if t.lower().startswith(text.lower()))
1071
- case _ as never:
1071
+ case never:
1072
1072
  assert_never(never)
1073
1073
  try:
1074
1074
  return one(it)
@@ -1109,7 +1109,7 @@ class OneStrEmptyError(OneStrError):
1109
1109
  tail = f"any string starting with {self.text!r}"
1110
1110
  case True, False:
1111
1111
  tail = f"any string starting with {self.text!r} (modulo case)"
1112
- case _ as never:
1112
+ case never:
1113
1113
  assert_never(never)
1114
1114
  return f"{head} {tail}"
1115
1115
 
@@ -1131,7 +1131,7 @@ class OneStrNonUniqueError(OneStrError):
1131
1131
  mid = f"exactly one string starting with {self.text!r}"
1132
1132
  case True, False:
1133
1133
  mid = f"exactly one string starting with {self.text!r} (modulo case)"
1134
- case _ as never:
1134
+ case never:
1135
1135
  assert_never(never)
1136
1136
  return f"{head} {mid}; got {self.first!r}, {self.second!r} and perhaps more"
1137
1137
 
@@ -1382,7 +1382,7 @@ def _sort_iterable_cmp_floats(x: float, y: float, /) -> Sign:
1382
1382
  return -1
1383
1383
  case False, False:
1384
1384
  return cast("Sign", (x > y) - (x < y))
1385
- case _ as never:
1385
+ case never:
1386
1386
  assert_never(never)
1387
1387
 
1388
1388
 
utilities/json.py CHANGED
@@ -36,7 +36,7 @@ def run_prettier(source: bytes | str | Path, /) -> bytes | str | None:
36
36
  with writer(path, overwrite=True) as temp:
37
37
  _ = temp.write_bytes(result)
38
38
  return None
39
- case _ as never:
39
+ case never:
40
40
  assert_never(never)
41
41
 
42
42
 
utilities/libcst.py CHANGED
@@ -54,7 +54,7 @@ def generate_import_from(
54
54
  case _, str():
55
55
  alias = ImportAlias(name=Name(name), asname=AsName(Name(asname)))
56
56
  names = [alias]
57
- case _ as never:
57
+ case never:
58
58
  assert_never(never)
59
59
  return ImportFrom(module=split_dotted_str(module), names=names)
60
60
 
@@ -92,9 +92,9 @@ def parse_import(import_: Import | ImportFrom, /) -> Sequence[_ParseImportOutput
92
92
  return [_parse_import_from_one(module, n) for n in names]
93
93
  case ImportStar():
94
94
  return [_ParseImportOutput(module=module, name="*")]
95
- case _ as never:
95
+ case never:
96
96
  assert_never(never)
97
- case _ as never:
97
+ case never:
98
98
  assert_never(never)
99
99
 
100
100
 
@@ -108,7 +108,7 @@ def _parse_import_from_one(module: str, alias: ImportAlias, /) -> _ParseImportOu
108
108
  return _ParseImportOutput(module=module, name=name)
109
109
  case Attribute() as attr:
110
110
  raise _ParseImportAliasError(module=module, attr=attr)
111
- case _ as never:
111
+ case never:
112
112
  assert_never(never)
113
113
 
114
114
 
@@ -162,7 +162,7 @@ def join_dotted_str(name_or_attr: Name | Attribute, /) -> str:
162
162
  curr = value
163
163
  case BaseExpression(): # pragma: no cover
164
164
  raise ImpossibleCaseError(case=[f"{curr=}"])
165
- case _ as never:
165
+ case never:
166
166
  assert_never(never)
167
167
  return ".".join(reversed(parts))
168
168
 
@@ -180,7 +180,7 @@ def render_module(source: str | Module, /) -> str:
180
180
  return text
181
181
  case Module() as module:
182
182
  return render_module(module.code)
183
- case _ as never:
183
+ case never:
184
184
  assert_never(never)
185
185
 
186
186
 
utilities/math.py CHANGED
@@ -731,7 +731,7 @@ def round_(
731
731
  return 0
732
732
  case -1:
733
733
  return floor(x)
734
- case _ as never:
734
+ case never:
735
735
  assert_never(never)
736
736
  case "standard-tie-floor":
737
737
  return _round_tie_standard(x, "floor", rel_tol=rel_tol, abs_tol=abs_tol)
@@ -743,7 +743,7 @@ def round_(
743
743
  )
744
744
  case "standard-tie-away-zero":
745
745
  return _round_tie_standard(x, "away-zero", rel_tol=rel_tol, abs_tol=abs_tol)
746
- case _ as never:
746
+ case never:
747
747
  assert_never(never)
748
748
 
749
749
 
@@ -876,7 +876,7 @@ def sign(
876
876
  if is_negative(x, rel_tol=rel_tol, abs_tol=abs_tol):
877
877
  return -1
878
878
  return 0
879
- case _ as never:
879
+ case never:
880
880
  assert_never(never)
881
881
 
882
882
 
@@ -206,7 +206,7 @@ def bucket_mapping[T, U, UH: Hashable](
206
206
  return {k: frozenset(map(pre, v)) for k, v in mapping.items()}
207
207
  case Callable(), "unique":
208
208
  return _bucket_mapping_unique({k: map(pre, v) for k, v in mapping.items()})
209
- case _ as never:
209
+ case never:
210
210
  assert_never(never)
211
211
 
212
212
 
@@ -374,7 +374,7 @@ def _yield_splits2[T](
374
374
  len_tail = max(len_win - head, 0)
375
375
  if len_tail >= 1:
376
376
  yield window, head, len_tail
377
- case _ as never:
377
+ case never:
378
378
  assert_never(never)
379
379
 
380
380
 
utilities/orjson.py CHANGED
@@ -564,7 +564,7 @@ def _object_hook(
564
564
  )
565
565
  for k, v in mapping.items()
566
566
  }
567
- case _ as never:
567
+ case never:
568
568
  assert_never(never)
569
569
 
570
570
 
@@ -1006,7 +1006,7 @@ class GetLogRecordsOutput:
1006
1006
  for r in records
1007
1007
  if (r.func_name is not None) and search(func_name, r.func_name)
1008
1008
  ]
1009
- case _ as never:
1009
+ case never:
1010
1010
  assert_never(never)
1011
1011
  if extra is not None:
1012
1012
  match extra:
@@ -1019,7 +1019,7 @@ class GetLogRecordsOutput:
1019
1019
  if (r.extra is not None)
1020
1020
  and set(r.extra).issuperset(always_iterable(keys))
1021
1021
  ]
1022
- case _ as never:
1022
+ case never:
1023
1023
  assert_never(never)
1024
1024
  if log_file is not None:
1025
1025
  match log_file:
@@ -1034,7 +1034,7 @@ class GetLogRecordsOutput:
1034
1034
  if (r.log_file is not None)
1035
1035
  and search(str(log_file), str(r.log_file))
1036
1036
  ]
1037
- case _ as never:
1037
+ case never:
1038
1038
  assert_never(never)
1039
1039
  if log_file_line_num is not None:
1040
1040
  match log_file_line_num:
@@ -1048,7 +1048,7 @@ class GetLogRecordsOutput:
1048
1048
  records = [
1049
1049
  r for r in records if r.log_file_line_num == log_file_line_num
1050
1050
  ]
1051
- case _ as never:
1051
+ case never:
1052
1052
  assert_never(never)
1053
1053
  if min_log_file_line_num is not None:
1054
1054
  records = [
utilities/os.py CHANGED
@@ -48,7 +48,7 @@ def get_cpu_use(*, n: IntOrAll = "all") -> int:
48
48
  raise GetCPUUseError(n=n)
49
49
  case "all":
50
50
  return CPU_COUNT
51
- case _ as never:
51
+ case never:
52
52
  assert_never(never)
53
53
 
54
54
 
@@ -105,7 +105,7 @@ def get_env_var(
105
105
  return None
106
106
  case str(), _:
107
107
  return default
108
- case _ as never:
108
+ case never:
109
109
  assert_never(never)
110
110
  return environ[key_use]
111
111
 
utilities/pathlib.py CHANGED
@@ -69,7 +69,7 @@ def get_path(
69
69
  return Path.cwd()
70
70
  case Callable() as func:
71
71
  return get_path(path=func())
72
- case _ as never:
72
+ case never:
73
73
  assert_never(never)
74
74
 
75
75
 
@@ -164,7 +164,7 @@ def get_root(*, path: MaybeCallablePathLike | None = None) -> Path:
164
164
  raise ImpossibleCaseError( # pragma: no cover
165
165
  case=[f"{repo=}", f"{package=}"]
166
166
  )
167
- case _ as never:
167
+ case never:
168
168
  assert_never(never)
169
169
 
170
170
 
@@ -213,7 +213,7 @@ def get_tail(
213
213
  return _get_tail_core(path, next(iter(matches)))
214
214
  case _, "later":
215
215
  return _get_tail_core(path, next(iter(reversed(matches))))
216
- case _ as never:
216
+ case never:
217
217
  assert_never(never)
218
218
 
219
219
 
utilities/period.py CHANGED
@@ -58,7 +58,7 @@ class DatePeriod:
58
58
  start = end = time
59
59
  case Time() as start, Time() as end:
60
60
  ...
61
- case _ as never:
61
+ case never:
62
62
  assert_never(never)
63
63
  tz = ensure_time_zone(time_zone).key
64
64
  return ZonedDateTimePeriod(
@@ -119,7 +119,7 @@ class TimePeriod:
119
119
  start = end = date
120
120
  case Date() as start, Date() as end:
121
121
  ...
122
- case _ as never:
122
+ case never:
123
123
  assert_never(never)
124
124
  return DatePeriod(start, end).at((self.start, self.end), time_zone=time_zone)
125
125
 
utilities/platform.py CHANGED
@@ -61,7 +61,7 @@ def get_max_pid() -> int | None:
61
61
  return int(path.read_text())
62
62
  except FileNotFoundError: # pragma: no cover
63
63
  return None
64
- case _ as never:
64
+ case never:
65
65
  assert_never(never)
66
66
 
67
67
 
@@ -80,7 +80,7 @@ def get_strftime(text: str, /) -> str:
80
80
  return text
81
81
  case "linux": # skipif-not-linux
82
82
  return sub("%Y", "%4Y", text)
83
- case _ as never:
83
+ case never:
84
84
  assert_never(never)
85
85
 
86
86
 
@@ -96,7 +96,7 @@ def maybe_yield_lower_case(text: Iterable[str], /) -> Iterator[str]:
96
96
  yield from (t.lower() for t in text)
97
97
  case "linux": # skipif-not-linux
98
98
  yield from text
99
- case _ as never:
99
+ case never:
100
100
  assert_never(never)
101
101
 
102
102
 
utilities/polars.py CHANGED
@@ -208,7 +208,7 @@ def acf(
208
208
  df_confints = _acf_process_confints(confints)
209
209
  df_qstats_pvalues = _acf_process_qstats_pvalues(qstats, pvalues)
210
210
  return join(df_acfs, df_confints, df_qstats_pvalues, on=["lag"], how="left")
211
- case _ as never:
211
+ case never:
212
212
  assert_never(never)
213
213
 
214
214
 
@@ -345,7 +345,7 @@ def bernoulli(
345
345
  return bernoulli(series.len(), true=true, seed=seed, name=name)
346
346
  case DataFrame() as df:
347
347
  return bernoulli(df.height, true=true, seed=seed, name=name)
348
- case _ as never:
348
+ case never:
349
349
  assert_never(never)
350
350
 
351
351
 
@@ -379,7 +379,7 @@ def boolean_value_counts(
379
379
  (false / total).alias("false (%)"),
380
380
  (null / total).alias("null (%)"),
381
381
  )
382
- case _ as never:
382
+ case never:
383
383
  assert_never(never)
384
384
 
385
385
 
@@ -763,7 +763,7 @@ def choice(
763
763
  name=name,
764
764
  dtype=dtype,
765
765
  )
766
- case _ as never:
766
+ case never:
767
767
  assert_never(never)
768
768
 
769
769
 
@@ -899,7 +899,7 @@ def _cross_or_touch(
899
899
  ...
900
900
  case str() | Expr() | Series():
901
901
  other = ensure_expr_or_series(other)
902
- case _ as never:
902
+ case never:
903
903
  assert_never(never)
904
904
  enough = int_range(end=pl.len()) >= 1
905
905
  match cross_or_touch, up_or_down:
@@ -911,7 +911,7 @@ def _cross_or_touch(
911
911
  current = expr >= other
912
912
  case "touch", "down":
913
913
  current = expr <= other
914
- case _ as never:
914
+ case never:
915
915
  assert_never(never)
916
916
  prev = current.shift()
917
917
  result = when(enough & expr.is_finite()).then(current & ~prev)
@@ -1338,7 +1338,7 @@ def get_data_type_or_series_time_zone(
1338
1338
  dtype = dtype_cls()
1339
1339
  case Series() as series:
1340
1340
  dtype = series.dtype
1341
- case _ as never:
1341
+ case never:
1342
1342
  assert_never(never)
1343
1343
  match dtype:
1344
1344
  case Datetime() as datetime:
@@ -1400,7 +1400,7 @@ def get_expr_name(obj: Series | DataFrame, expr: IntoExprColumn, /) -> str:
1400
1400
  case DataFrame() as df:
1401
1401
  selected = df.select(expr)
1402
1402
  return one(selected.columns)
1403
- case _ as never:
1403
+ case never:
1404
1404
  assert_never(never)
1405
1405
 
1406
1406
 
@@ -1598,7 +1598,7 @@ def integers(
1598
1598
  name=name,
1599
1599
  dtype=dtype,
1600
1600
  )
1601
- case _ as never:
1601
+ case never:
1602
1602
  assert_never(never)
1603
1603
 
1604
1604
 
@@ -1903,7 +1903,7 @@ def map_over_columns(
1903
1903
  return _map_over_series_one(func, series)
1904
1904
  case DataFrame() as df:
1905
1905
  return df.select(*(_map_over_series_one(func, df[c]) for c in df.columns))
1906
- case _ as never:
1906
+ case never:
1907
1907
  assert_never(never)
1908
1908
 
1909
1909
 
@@ -1983,7 +1983,7 @@ def normal(
1983
1983
  return normal(
1984
1984
  df.height, loc=loc, scale=scale, seed=seed, name=name, dtype=dtype
1985
1985
  )
1986
- case _ as never:
1986
+ case never:
1987
1987
  assert_never(never)
1988
1988
 
1989
1989
 
@@ -2215,7 +2215,7 @@ def _reconstruct_dtype(obj: _DeconDType, /) -> PolarsDataType:
2215
2215
  return List(_reconstruct_dtype(inner))
2216
2216
  case "Struct", inner:
2217
2217
  return Struct(_reconstruct_schema(inner))
2218
- case _ as never:
2218
+ case never:
2219
2219
  assert_never(never)
2220
2220
 
2221
2221
 
@@ -2345,7 +2345,7 @@ def try_reify_expr(
2345
2345
  return series
2346
2346
  case DataFrame() as df:
2347
2347
  return df[get_expr_name(df, expr)]
2348
- case _ as never:
2348
+ case never:
2349
2349
  assert_never(never)
2350
2350
 
2351
2351
 
@@ -2378,7 +2378,7 @@ def uniform(
2378
2378
  return uniform(
2379
2379
  df.height, low=low, high=high, seed=seed, name=name, dtype=dtype
2380
2380
  )
2381
- case _ as never:
2381
+ case never:
2382
2382
  assert_never(never)
2383
2383
 
2384
2384
 
utilities/postgres.py CHANGED
@@ -190,7 +190,7 @@ def _path_pg_dump(path: PathLike, /, *, format_: _PGDumpFormat = "plain") -> Pat
190
190
  suffix = None
191
191
  case "tar":
192
192
  suffix = ".tar"
193
- case _ as never:
193
+ case never:
194
194
  assert_never(never)
195
195
  path = Path(path)
196
196
  if suffix is not None:
@@ -379,7 +379,7 @@ def _get_table_name(obj: TableOrORMInstOrClass | str, /) -> str:
379
379
  return get_table_name(table_or_orm)
380
380
  case str() as name:
381
381
  return name
382
- case _ as never:
382
+ case never:
383
383
  assert_never(never)
384
384
 
385
385
 
@@ -395,7 +395,7 @@ def _resolve_data_only_and_clean(
395
395
  return ["--clean", "--if-exists"]
396
396
  case True, True:
397
397
  raise _ResolveDataOnlyAndCleanError
398
- case _ as never:
398
+ case never:
399
399
  assert_never(never)
400
400
 
401
401
 
utilities/pqdm.py CHANGED
@@ -90,7 +90,7 @@ def pqdm_starmap[T](
90
90
  **_get_desc(desc, func),
91
91
  **kwargs,
92
92
  )
93
- case _ as never:
93
+ case never:
94
94
  assert_never(never)
95
95
  return list(result)
96
96
 
utilities/pytest.py CHANGED
@@ -207,7 +207,7 @@ def _throttle_inner[F: Callable[..., MaybeCoro[None]]](
207
207
 
208
208
  return cast("Any", throttle_async_on_try)
209
209
 
210
- case _ as never:
210
+ case never:
211
211
  assert_never(never)
212
212
 
213
213
 
@@ -117,7 +117,7 @@ class PolarsRegressionFixture:
117
117
  data["approx_n_unique"] = approx_n_unique
118
118
  data["glimpse"] = df.glimpse(return_as_string=True)
119
119
  data["null_count"] = df.null_count().row(0, named=True)
120
- case _ as never:
120
+ case never:
121
121
  assert_never(never)
122
122
  self._fixture.check(data, suffix=suffix)
123
123
 
utilities/re.py CHANGED
@@ -16,7 +16,7 @@ def ensure_pattern(pattern: PatternLike, /, *, flags: int = 0) -> Pattern[str]:
16
16
  return pattern
17
17
  case str():
18
18
  return re.compile(pattern, flags=flags)
19
- case _ as never:
19
+ case never:
20
20
  assert_never(never)
21
21
 
22
22
 
@@ -122,7 +122,7 @@ async def insert_dataframe(
122
122
  timeout_insert=timeout_insert,
123
123
  error_insert=error_insert,
124
124
  )
125
- case _ as never:
125
+ case never:
126
126
  assert_never(never)
127
127
 
128
128
 
utilities/string.py CHANGED
@@ -13,7 +13,7 @@ def substitute_environ(path_or_text: Path | str, /, **kwargs: Any) -> str:
13
13
  return substitute_environ(path.read_text(), **kwargs)
14
14
  case str() as text:
15
15
  return Template(text).substitute(environ, **kwargs)
16
- case _ as never:
16
+ case never:
17
17
  assert_never(never)
18
18
 
19
19
 
@@ -94,7 +94,7 @@ def _parse_path(
94
94
  return get_path(path=pwd).joinpath(path).resolve()
95
95
  case False:
96
96
  return Path(path)
97
- case _ as never:
97
+ case never:
98
98
  assert_never(never)
99
99
 
100
100
 
utilities/version.py CHANGED
@@ -148,7 +148,7 @@ def get_version(
148
148
  return parse_version(version)
149
149
  case Callable() as func:
150
150
  return get_version(version=func())
151
- case _ as never:
151
+ case never:
152
152
  assert_never(never)
153
153
 
154
154
 
utilities/whenever.py CHANGED
@@ -214,7 +214,7 @@ def format_compact(
214
214
  fmt_use = "%Y%m%dT%H%M%S" if fmt is None else fmt
215
215
  case ZonedDateTime() as datetime:
216
216
  return f"{format_compact(datetime.to_plain(), fmt=fmt)}[{datetime.tz}]"
217
- case _ as never:
217
+ case never:
218
218
  assert_never(never)
219
219
  return obj_use.strftime(get_strftime(fmt_use))
220
220
 
@@ -396,7 +396,7 @@ def round_date_or_date_time[T: Date | PlainDateTime | ZonedDateTime](
396
396
  raise _RoundDateOrDateTimeDateTimeIntraDayWithWeekdayError(
397
397
  date_time=date_time, delta=delta, weekday=weekday
398
398
  )
399
- case _ as never:
399
+ case never:
400
400
  assert_never(never)
401
401
 
402
402
 
@@ -490,7 +490,7 @@ def _round_date_weekly_or_daily(
490
490
  return _round_date_daily(date, increment, mode=mode)
491
491
  case "D", Weekday():
492
492
  raise _RoundDateOrDateTimeDateWithWeekdayError(weekday=weekday)
493
- case _ as never:
493
+ case never:
494
494
  assert_never(never)
495
495
 
496
496
 
@@ -536,7 +536,7 @@ def _round_date_daily(
536
536
  threshold = increment // 2 + 1
537
537
  case "half_ceil":
538
538
  threshold = increment // 2 or 1
539
- case _ as never:
539
+ case never:
540
540
  assert_never(never)
541
541
  round_up = remainder >= threshold
542
542
  return base.add(days=(quotient + round_up) * increment)
@@ -563,7 +563,7 @@ def _round_date_time_intraday[T: PlainDateTime | ZonedDateTime](
563
563
  unit_use = "microsecond"
564
564
  case "ns":
565
565
  unit_use = "nanosecond"
566
- case _ as never:
566
+ case never:
567
567
  assert_never(never)
568
568
  return date_time.round(unit_use, increment=increment, mode=mode)
569
569
 
@@ -662,7 +662,7 @@ def to_date(
662
662
  return date
663
663
  case Callable() as func:
664
664
  return to_date(date=func())
665
- case _ as never:
665
+ case never:
666
666
  assert_never(never)
667
667
 
668
668
 
@@ -729,7 +729,7 @@ def to_days(delta: Delta, /) -> int:
729
729
  raise _ToDaysNanosecondsError(
730
730
  delta=delta, nanoseconds=error.nanoseconds
731
731
  ) from None
732
- case _ as never:
732
+ case never:
733
733
  assert_never(never)
734
734
 
735
735
 
@@ -785,7 +785,7 @@ def to_hours(delta: Delta, /) -> int:
785
785
  raise _ToHoursNanosecondsError(
786
786
  delta=delta, nanoseconds=error.nanoseconds
787
787
  ) from None
788
- case _ as never:
788
+ case never:
789
789
  assert_never(never)
790
790
 
791
791
 
@@ -856,7 +856,7 @@ def to_microseconds(delta: Delta, /) -> int:
856
856
  raise _ToMicrosecondsNanosecondsError(
857
857
  delta=delta, nanoseconds=error.nanoseconds
858
858
  ) from None
859
- case _ as never:
859
+ case never:
860
860
  assert_never(never)
861
861
 
862
862
 
@@ -919,7 +919,7 @@ def to_milliseconds(delta: Delta, /) -> int:
919
919
  raise _ToMillisecondsNanosecondsError(
920
920
  delta=delta, nanoseconds=error.nanoseconds
921
921
  ) from None
922
- case _ as never:
922
+ case never:
923
923
  assert_never(never)
924
924
 
925
925
 
@@ -974,7 +974,7 @@ def to_minutes(delta: Delta, /) -> int:
974
974
  raise _ToMinutesNanosecondsError(
975
975
  delta=delta, nanoseconds=error.nanoseconds
976
976
  ) from None
977
- case _ as never:
977
+ case never:
978
978
  assert_never(never)
979
979
 
980
980
 
@@ -1020,7 +1020,7 @@ def to_months(delta: DateOrDateTimeDelta, /) -> int:
1020
1020
  return to_months(delta.date_part())
1021
1021
  except _ToMonthsDaysError as error:
1022
1022
  raise _ToMonthsDaysError(delta=delta, days=error.days) from None
1023
- case _ as never:
1023
+ case never:
1024
1024
  assert_never(never)
1025
1025
 
1026
1026
 
@@ -1059,7 +1059,7 @@ def to_months_and_days(delta: DateOrDateTimeDelta, /) -> tuple[int, int]:
1059
1059
  if delta.time_part() != TimeDelta():
1060
1060
  raise ToMonthsAndDaysError(delta=delta)
1061
1061
  return to_months_and_days(delta.date_part())
1062
- case _ as never:
1062
+ case never:
1063
1063
  assert_never(never)
1064
1064
 
1065
1065
 
@@ -1093,7 +1093,7 @@ def to_nanoseconds(delta: Delta, /) -> int:
1093
1093
  )
1094
1094
  except ToNanosecondsError as error:
1095
1095
  raise ToNanosecondsError(delta=delta, months=error.months) from None
1096
- case _ as never:
1096
+ case never:
1097
1097
  assert_never(never)
1098
1098
 
1099
1099
 
@@ -1127,7 +1127,7 @@ def to_py_date_or_date_time(
1127
1127
  return date_time.py_datetime()
1128
1128
  case None:
1129
1129
  return None
1130
- case _ as never:
1130
+ case never:
1131
1131
  assert_never(never)
1132
1132
 
1133
1133
 
@@ -1155,7 +1155,7 @@ def to_py_time_delta(delta: Delta | None, /) -> dt.timedelta | None:
1155
1155
  )
1156
1156
  case None:
1157
1157
  return None
1158
- case _ as never:
1158
+ case never:
1159
1159
  assert_never(never)
1160
1160
 
1161
1161
 
@@ -1273,7 +1273,7 @@ def to_seconds(delta: Delta, /) -> int:
1273
1273
  raise _ToSecondsNanosecondsError(
1274
1274
  delta=delta, nanoseconds=error.nanoseconds
1275
1275
  ) from None
1276
- case _ as never:
1276
+ case never:
1277
1277
  assert_never(never)
1278
1278
 
1279
1279
 
@@ -1376,7 +1376,7 @@ def to_years(delta: DateOrDateTimeDelta, /) -> int:
1376
1376
  raise _ToYearsMonthsError(delta=delta, months=error.months) from None
1377
1377
  except _ToYearsDaysError as error:
1378
1378
  raise _ToYearsDaysError(delta=delta, days=error.days) from None
1379
- case _ as never:
1379
+ case never:
1380
1380
  assert_never(never)
1381
1381
 
1382
1382
 
@@ -1439,7 +1439,7 @@ def to_zoned_date_time(
1439
1439
  raise ToZonedDateTimeError(date_time=date_time)
1440
1440
  case Callable() as func:
1441
1441
  return to_zoned_date_time(date_time=func())
1442
- case _ as never:
1442
+ case never:
1443
1443
  assert_never(never)
1444
1444
  return None
1445
1445
 
utilities/zoneinfo.py CHANGED
@@ -38,7 +38,7 @@ def ensure_time_zone(obj: TimeZoneLike, /) -> ZoneInfo:
38
38
  if datetime.tzinfo is None:
39
39
  raise _EnsureTimeZonePlainDateTimeError(datetime=datetime)
40
40
  return ensure_time_zone(datetime.tzinfo)
41
- case _ as never:
41
+ case never:
42
42
  assert_never(never)
43
43
 
44
44