dycw-utilities 0.166.23__py3-none-any.whl → 0.166.25__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.166.23
3
+ Version: 0.166.25
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -14,10 +14,10 @@ Provides-Extra: test
14
14
  Requires-Dist: dycw-pytest-only<2.2,>=2.1.1; extra == 'test'
15
15
  Requires-Dist: hypothesis<6.139,>=6.138.15; extra == 'test'
16
16
  Requires-Dist: pytest-asyncio<1.2,>=1.1.0; extra == 'test'
17
- Requires-Dist: pytest-cov<6.4,>=6.3.0; extra == 'test'
17
+ Requires-Dist: pytest-cov<7.1,>=7.0.0; extra == 'test'
18
18
  Requires-Dist: pytest-instafail<0.6,>=0.5.0; extra == 'test'
19
19
  Requires-Dist: pytest-lazy-fixtures<1.4,>=1.3.4; extra == 'test'
20
- Requires-Dist: pytest-randomly<3.17,>=3.16.0; extra == 'test'
20
+ Requires-Dist: pytest-randomly<4.1,>=4.0.0; extra == 'test'
21
21
  Requires-Dist: pytest-regressions<2.9,>=2.8.3; extra == 'test'
22
22
  Requires-Dist: pytest-repeat<0.10,>=0.9.4; extra == 'test'
23
23
  Requires-Dist: pytest-rerunfailures<16.1,>=16.0.1; extra == 'test'
@@ -1,4 +1,4 @@
1
- utilities/__init__.py,sha256=bk0QO84CJiwKQ3U2qEWReJnO-W8UKJ42NjrqjUG53m4,61
1
+ utilities/__init__.py,sha256=fL7L5NcU2VlfJNJyCxs7C80bVNLJxll7jMI8a_YQKIY,61
2
2
  utilities/aeventkit.py,sha256=ddoleSwW9zdc2tjX5Ge0pMKtYwV_JMxhHYOxnWX2AGM,12609
3
3
  utilities/altair.py,sha256=nHdpWt8ZwdUwRQN970MvHd5bRWokNqzHcZQEdSHKRuE,9033
4
4
  utilities/asyncio.py,sha256=PUedzQ5deqlSECQ33sam9cRzI9TnygHz3FdOqWJWPTM,15288
@@ -23,7 +23,7 @@ utilities/git.py,sha256=U1RFvCTANGENgx9wVBDvllioqBQZM2ns12ivKhOsaO4,414
23
23
  utilities/gzip.py,sha256=fkGP3KdsBfXlstodT4wtlp-PwNyUsogpbDCVVVGdsm4,781
24
24
  utilities/hashlib.py,sha256=SVTgtguur0P4elppvzOBbLEjVM3Pea0eWB61yg2ilxo,309
25
25
  utilities/http.py,sha256=TsavEfHlRtlLaeV21Z6KZh0qbPw-kvD1zsQdZ7Kep5Q,977
26
- utilities/hypothesis.py,sha256=VdVjsFiTl4E6JKHW764iseuySw8JUTsIvotW2qBQfak,45533
26
+ utilities/hypothesis.py,sha256=CSCJFek07g71iSND7PCty7gyaOT_49QSbnTHn1wWidQ,45535
27
27
  utilities/importlib.py,sha256=mV1xT_O_zt_GnZZ36tl3xOmMaN_3jErDWY54fX39F6Y,429
28
28
  utilities/inflect.py,sha256=v7YkOWSu8NAmVghPcf4F3YBZQoJCS47_DLf9jbfWIs0,581
29
29
  utilities/ipython.py,sha256=V2oMYHvEKvlNBzxDXdLvKi48oUq2SclRg5xasjaXStw,763
@@ -49,7 +49,7 @@ utilities/platform.py,sha256=pTn7gw6N4T6LdKrf0virwarof_mze9WtoQlrGMzhGVI,2798
49
49
  utilities/polars.py,sha256=qsiYY9p_41fORGnc7HNkA4zhlsycK7sgD74xuigMDAc,87466
50
50
  utilities/polars_ols.py,sha256=LNTFNLPuYW7fcAHymlbnams_DhitToblYvib3mhKbwI,5615
51
51
  utilities/postgres.py,sha256=ynCTTaF-bVEOSW-KEAR-dlLh_hYjeVVjm__-4pEU8Zk,12269
52
- utilities/pottery.py,sha256=ggMN72Y7wx7Js8VN6eyNyodpm8TIYqZHGghkDPXIVWk,3949
52
+ utilities/pottery.py,sha256=nA0SsF9irvfC0tk68YAr08tuL9lGRSlBKihSx7Ibk84,3963
53
53
  utilities/pqdm.py,sha256=idv2seRVP2f6NeSfpeEnT5A-tQezaHZKDyeu16g2-0E,3091
54
54
  utilities/psutil.py,sha256=KUlu4lrUw9Zg1V7ZGetpWpGb9DB8l_SSDWGbANFNCPU,2104
55
55
  utilities/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -60,7 +60,7 @@ utilities/pytest.py,sha256=pl4j9-GReiYQMZkAFOGxsHIO_DcTHbJ_VaiLPFrw57g,8370
60
60
  utilities/pytest_regressions.py,sha256=ocjHTtfOeiGfQAKIei8pKNd61sxN9dawrJJ9gPt2wzA,4097
61
61
  utilities/random.py,sha256=hZlH4gnAtoaofWswuJYjcygejrY8db4CzP-z_adO2Mo,4165
62
62
  utilities/re.py,sha256=S4h-DLL6ScMPqjboZ_uQ1BVTJajrqV06r_81D--_HCE,4573
63
- utilities/redis.py,sha256=f16zuOabP_rFDFtan7x1S-d8KOjBK93pS8OEyp7T9Is,30156
63
+ utilities/redis.py,sha256=gybjqKea33Jy50n4dHTS14JdquqHaJqHF2dixQljYWQ,30172
64
64
  utilities/reprlib.py,sha256=ssYTcBW-TeRh3fhCJv57sopTZHF5FrPyyUg9yp5XBlo,3953
65
65
  utilities/scipy.py,sha256=wZJM7fEgBAkLSYYvSmsg5ac-QuwAI0BGqHVetw1_Hb0,947
66
66
  utilities/sentinel.py,sha256=A_p5jX2K0Yc5XBfoYHyBLqHsEWzE1ByOdDuzzA2pZnE,1434
@@ -91,8 +91,8 @@ utilities/zoneinfo.py,sha256=tdIScrTB2-B-LH0ukb1HUXKooLknOfJNwHk10MuMYvA,3619
91
91
  utilities/pytest_plugins/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
92
92
  utilities/pytest_plugins/pytest_randomly.py,sha256=B1qYVlExGOxTywq2r1SMi5o7btHLk2PNdY_b1p98dkE,409
93
93
  utilities/pytest_plugins/pytest_regressions.py,sha256=mnHYBfdprz50UGVkVzV1bZERZN5CFfoF8YbokGxdFwU,1639
94
- dycw_utilities-0.166.23.dist-info/METADATA,sha256=SH6b6oNPMbEmu7Ki3eaRi9we8_XBGOePakLIb-YAP20,1702
95
- dycw_utilities-0.166.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
96
- dycw_utilities-0.166.23.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
97
- dycw_utilities-0.166.23.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
98
- dycw_utilities-0.166.23.dist-info/RECORD,,
94
+ dycw_utilities-0.166.25.dist-info/METADATA,sha256=UJ8C-f8asTCuavSnBhUwlsfGvgeEGXS5jdYY_gDwKBo,1700
95
+ dycw_utilities-0.166.25.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
96
+ dycw_utilities-0.166.25.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
97
+ dycw_utilities-0.166.25.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
98
+ dycw_utilities-0.166.25.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.166.23"
3
+ __version__ = "0.166.25"
utilities/hypothesis.py CHANGED
@@ -1570,10 +1570,10 @@ def zoned_date_times(
1570
1570
  with (
1571
1571
  assume_does_not_raise(RepeatedTime),
1572
1572
  assume_does_not_raise(SkippedTime),
1573
- assume_does_not_raise(ValueError, match="Resulting datetime is out of range"),
1573
+ assume_does_not_raise(ValueError, match=r"Resulting datetime is out of range"),
1574
1574
  ):
1575
1575
  zoned = plain.assume_tz(time_zone_.key, disambiguate="raise")
1576
- with assume_does_not_raise(OverflowError, match="date value out of range"):
1576
+ with assume_does_not_raise(OverflowError, match=r"date value out of range"):
1577
1577
  if not ((Date.MIN + DAY) <= zoned.date() <= (Date.MAX - DAY)):
1578
1578
  _ = zoned.py_datetime()
1579
1579
  return zoned
utilities/pottery.py CHANGED
@@ -12,7 +12,7 @@ from redis.asyncio import Redis
12
12
  from utilities.asyncio import sleep_td, timeout_td
13
13
  from utilities.contextlib import enhanced_async_context_manager
14
14
  from utilities.iterables import always_iterable
15
- from utilities.whenever import MILLISECOND, SECOND, to_seconds
15
+ from utilities.whenever import MILLISECOND, SECOND, to_nanoseconds
16
16
 
17
17
  if TYPE_CHECKING:
18
18
  from collections.abc import AsyncIterator, Iterable
@@ -63,7 +63,7 @@ async def yield_access(
63
63
  AIORedlock(
64
64
  key=f"{key}_{i}_of_{num}",
65
65
  masters=masters,
66
- auto_release_time=to_seconds(timeout_release),
66
+ auto_release_time=to_nanoseconds(timeout_release) / 1e9,
67
67
  num_extensions=maxsize if num_extensions is None else num_extensions,
68
68
  )
69
69
  for i in range(1, num + 1)
utilities/redis.py CHANGED
@@ -27,7 +27,7 @@ from utilities.functions import ensure_int, identity
27
27
  from utilities.iterables import always_iterable, one
28
28
  from utilities.os import is_pytest
29
29
  from utilities.typing import is_instance_gen
30
- from utilities.whenever import MILLISECOND, SECOND, to_milliseconds, to_seconds
30
+ from utilities.whenever import MILLISECOND, SECOND, to_milliseconds, to_nanoseconds
31
31
 
32
32
  if TYPE_CHECKING:
33
33
  from collections.abc import AsyncIterator, Awaitable, Collection, Iterable
@@ -765,7 +765,7 @@ async def _subscribe_core[T](
765
765
  sleep: Delta = _SUBSCRIBE_SLEEP,
766
766
  ) -> None:
767
767
  timeout_use = ( # skipif-ci-and-not-linux
768
- None if timeout is None else to_seconds(timeout)
768
+ None if timeout is None else (to_nanoseconds(timeout) / 1e9)
769
769
  )
770
770
  is_subscribe_message = partial( # skipif-ci-and-not-linux
771
771
  _is_message, channels={c.encode() for c in channels}