dycw-utilities 0.161.1__py3-none-any.whl → 0.162.0__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.161.1
3
+ Version: 0.162.0
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,4 +1,5 @@
1
- utilities/__init__.py,sha256=jY0RY-L8TPNjene684G3NClFiC50ebICzq4ZwFdaOpY,60
1
+ utilities/__init__.py,sha256=fzBkmVoVjZhXoXvWqy-KtoEh9n5zeC-vNNQErOa0OIw,60
2
+ utilities/aeventkit.py,sha256=ddoleSwW9zdc2tjX5Ge0pMKtYwV_JMxhHYOxnWX2AGM,12609
2
3
  utilities/altair.py,sha256=92E2lCdyHY4Zb-vCw6rEJIsWdKipuu-Tu2ab1ufUfAk,9079
3
4
  utilities/asyncio.py,sha256=PUedzQ5deqlSECQ33sam9cRzI9TnygHz3FdOqWJWPTM,15288
4
5
  utilities/atomicwrites.py,sha256=tPo6r-Rypd9u99u66B9z86YBPpnLrlHtwox_8Z7T34Y,5790
@@ -13,7 +14,6 @@ utilities/cvxpy.py,sha256=Rv1-fD-XYerosCavRF8Pohop2DBkU3AlFaGTfD8AEAA,13776
13
14
  utilities/dataclasses.py,sha256=wGfQtopYZCwvUxNxLOlVNFlhK8Q0_aQbKJ0rWfT-fEc,32482
14
15
  utilities/enum.py,sha256=5l6pwZD1cjSlVW4ss-zBPspWvrbrYrdtJWcg6f5_J5w,5781
15
16
  utilities/errors.py,sha256=mFlDGSM0LI1jZ1pbqwLAH3ttLZ2JVIxyZLojw8tGVZU,1479
16
- utilities/eventkit.py,sha256=ddoleSwW9zdc2tjX5Ge0pMKtYwV_JMxhHYOxnWX2AGM,12609
17
17
  utilities/fastapi.py,sha256=TqyKvBjiMS594sXPjrz-KRTLMb3l3D3rZ1zAYV7GfOk,1454
18
18
  utilities/fpdf2.py,sha256=HgM8JSvoioDXrjC0UR3HVLjnMnnb_mML7nL2EmkTwGI,1854
19
19
  utilities/functions.py,sha256=RNVAoLeT_sl-gXaBv2VI_U_EB-d-nSVosYR4gTeeojE,28261
@@ -22,7 +22,7 @@ utilities/getpass.py,sha256=DfN5UgMAtFCqS3dSfFHUfqIMZX2shXvwphOz_6J6f6A,103
22
22
  utilities/gzip.py,sha256=fkGP3KdsBfXlstodT4wtlp-PwNyUsogpbDCVVVGdsm4,781
23
23
  utilities/hashlib.py,sha256=SVTgtguur0P4elppvzOBbLEjVM3Pea0eWB61yg2ilxo,309
24
24
  utilities/http.py,sha256=TsavEfHlRtlLaeV21Z6KZh0qbPw-kvD1zsQdZ7Kep5Q,977
25
- utilities/hypothesis.py,sha256=irMs8oG5d0IlR9-D1Oz9CyAHwbzJL2k9BXIaSSfm2rE,44707
25
+ utilities/hypothesis.py,sha256=1cy8YDOhoMzhwZ1a3mq25oeYsJQmryR_ZULJBMvE6K8,44738
26
26
  utilities/importlib.py,sha256=mV1xT_O_zt_GnZZ36tl3xOmMaN_3jErDWY54fX39F6Y,429
27
27
  utilities/inflect.py,sha256=v7YkOWSu8NAmVghPcf4F3YBZQoJCS47_DLf9jbfWIs0,581
28
28
  utilities/ipython.py,sha256=V2oMYHvEKvlNBzxDXdLvKi48oUq2SclRg5xasjaXStw,763
@@ -81,14 +81,14 @@ utilities/tzlocal.py,sha256=KyCXEgCTjqGFx-389JdTuhMRUaT06U1RCMdWoED-qro,728
81
81
  utilities/uuid.py,sha256=nQZs6tFX4mqtc2Ku3KqjloYCqwpTKeTj8eKwQwh3FQI,1572
82
82
  utilities/version.py,sha256=ipBj5-WYY_nelp2uwFlApfWWCzTLzPwpovUi9x_OBMs,5085
83
83
  utilities/warnings.py,sha256=un1LvHv70PU-LLv8RxPVmugTzDJkkGXRMZTE2-fTQHw,1771
84
- utilities/whenever.py,sha256=-ayK89OHscEUk8xc-mR6Zj2vefyPdYlTuX2g6PQbCvQ,57432
84
+ utilities/whenever.py,sha256=qLwdjCb-me5FXWBcZ4M7IT66guqhz5EbX2VRAWRNVvI,57541
85
85
  utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
86
86
  utilities/zoneinfo.py,sha256=tdIScrTB2-B-LH0ukb1HUXKooLknOfJNwHk10MuMYvA,3619
87
87
  utilities/pytest_plugins/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
88
88
  utilities/pytest_plugins/pytest_randomly.py,sha256=B1qYVlExGOxTywq2r1SMi5o7btHLk2PNdY_b1p98dkE,409
89
89
  utilities/pytest_plugins/pytest_regressions.py,sha256=9v8kAXDM2ycIXJBimoiF4EgrwbUvxTycFWJiGR_GHhM,1466
90
- dycw_utilities-0.161.1.dist-info/METADATA,sha256=VYgMxuV4wPeDXwmYkWnEkL4MkWU8cM8xC-lNqqIFII0,1643
91
- dycw_utilities-0.161.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
- dycw_utilities-0.161.1.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
93
- dycw_utilities-0.161.1.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
94
- dycw_utilities-0.161.1.dist-info/RECORD,,
90
+ dycw_utilities-0.162.0.dist-info/METADATA,sha256=Iqiz_VX7dYaR0YF7F-5LcfybxcWDxxvZHfDBXULiARQ,1643
91
+ dycw_utilities-0.162.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
+ dycw_utilities-0.162.0.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
93
+ dycw_utilities-0.162.0.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
94
+ dycw_utilities-0.162.0.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.161.1"
3
+ __version__ = "0.162.0"
utilities/hypothesis.py CHANGED
@@ -77,7 +77,7 @@ from utilities.math import (
77
77
  )
78
78
  from utilities.os import get_env_var
79
79
  from utilities.pathlib import module_path, temp_cwd
80
- from utilities.platform import IS_WINDOWS
80
+ from utilities.platform import IS_LINUX, IS_WINDOWS
81
81
  from utilities.sentinel import Sentinel, is_sentinel, sentinel
82
82
  from utilities.tempfile import TEMP_DIR, TemporaryDirectory
83
83
  from utilities.version import Version
@@ -1483,7 +1483,8 @@ def year_months(
1483
1483
  def zone_infos(draw: DrawFn, /) -> ZoneInfo:
1484
1484
  """Strategy for generating time-zones."""
1485
1485
  time_zone = draw(timezones())
1486
- _ = assume(time_zone.key not in {"Etc/UTC", "localtime"})
1486
+ if IS_LINUX:
1487
+ _ = assume(time_zone.key not in {"Etc/UTC", "localtime"})
1487
1488
  with assume_does_not_raise(TimeZoneNotFoundError):
1488
1489
  _ = get_now(time_zone)
1489
1490
  return time_zone
utilities/whenever.py CHANGED
@@ -1621,20 +1621,20 @@ class _ToYearsTimeError(ToYearsError):
1621
1621
 
1622
1622
  @overload
1623
1623
  def to_zoned_date_time(
1624
- date_time: Sentinel, /, *, time_zone: TimeZoneLike = UTC
1624
+ date_time: Sentinel, /, *, time_zone: TimeZoneLike | None = None
1625
1625
  ) -> Sentinel: ...
1626
1626
  @overload
1627
1627
  def to_zoned_date_time(
1628
1628
  date_time: MaybeCallableZonedDateTimeLike | dt.datetime | None = get_now,
1629
1629
  /,
1630
1630
  *,
1631
- time_zone: TimeZoneLike = UTC,
1631
+ time_zone: TimeZoneLike | None = None,
1632
1632
  ) -> ZonedDateTime: ...
1633
1633
  def to_zoned_date_time(
1634
1634
  date_time: MaybeCallableZonedDateTimeLike | dt.datetime | None | Sentinel = get_now,
1635
1635
  /,
1636
1636
  *,
1637
- time_zone: TimeZoneLike = UTC,
1637
+ time_zone: TimeZoneLike | None = None,
1638
1638
  ) -> ZonedDateTime | Sentinel:
1639
1639
  """Convert to a zoned date-time."""
1640
1640
  match date_time:
@@ -1643,7 +1643,7 @@ def to_zoned_date_time(
1643
1643
  case Sentinel():
1644
1644
  return sentinel
1645
1645
  case None:
1646
- return get_now(time_zone)
1646
+ return get_now(UTC if time_zone is None else time_zone)
1647
1647
  case str():
1648
1648
  date_time_use = ZonedDateTime.parse_common_iso(date_time)
1649
1649
  case dt.datetime() as py_date_time:
@@ -1658,6 +1658,8 @@ def to_zoned_date_time(
1658
1658
  return to_zoned_date_time(func(), time_zone=time_zone)
1659
1659
  case never:
1660
1660
  assert_never(never)
1661
+ if time_zone is None:
1662
+ return date_time_use
1661
1663
  return date_time_use.to_tz(to_time_zone_name(time_zone))
1662
1664
 
1663
1665
 
File without changes