dycw-utilities 0.162.2__tar.gz → 0.162.3__tar.gz

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.
Files changed (209) hide show
  1. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/PKG-INFO +1 -1
  2. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/pyproject.toml +3 -3
  3. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_orjson.py +25 -3
  4. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/__init__.py +1 -1
  5. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/orjson.py +4 -6
  6. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/.gitignore +0 -0
  7. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/LICENSE +0 -0
  8. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/README.md +0 -0
  9. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/__init__.py +0 -0
  10. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/conftest.py +0 -0
  11. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/__init__.py +0 -0
  12. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_missing/__init__.py +0 -0
  13. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_missing/module.py +0 -0
  14. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/__init__.py +0 -0
  15. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/outer_1.py +0 -0
  16. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/outer_2.py +0 -0
  17. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
  18. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
  19. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
  20. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
  21. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_without/__init__.py +0 -0
  22. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_without/module_1.py +0 -0
  23. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/package_without/module_2.py +0 -0
  24. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/standalone.py +0 -0
  25. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/modules/with_imports.py +0 -0
  26. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
  27. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
  28. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
  29. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
  30. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
  31. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
  32. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
  33. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
  34. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_aeventkit.py +0 -0
  35. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_altair.py +0 -0
  36. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_asyncio.py +0 -0
  37. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_atomicwrites.py +0 -0
  38. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_atools.py +0 -0
  39. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_cachetools.py +0 -0
  40. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_click.py +0 -0
  41. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_concurrent.py +0 -0
  42. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_contextlib.py +0 -0
  43. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_contextvars.py +0 -0
  44. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_cryptography.py +0 -0
  45. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_cvxpy.py +0 -0
  46. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_dataclasses.py +0 -0
  47. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_enum.py +0 -0
  48. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_errors.py +0 -0
  49. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_fastapi.py +0 -0
  50. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_fpdf2.py +0 -0
  51. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_functions.py +0 -0
  52. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_functools.py +0 -0
  53. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_getpass.py +0 -0
  54. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_gzip.py +0 -0
  55. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_hashlib.py +0 -0
  56. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_http.py +0 -0
  57. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_hypothesis.py +0 -0
  58. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_importlib.py +0 -0
  59. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_inflect.py +0 -0
  60. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_ipython.py +0 -0
  61. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_iterables.py +0 -0
  62. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_json.py +0 -0
  63. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_jupyter.py +0 -0
  64. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_libcst.py +0 -0
  65. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_lightweight_charts.py +0 -0
  66. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_logging.py +0 -0
  67. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_math.py +0 -0
  68. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_memory_profiler.py +0 -0
  69. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_modules.py +0 -0
  70. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_more_itertools.py +0 -0
  71. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_numpy.py +0 -0
  72. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_objects/__init__.py +0 -0
  73. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_objects/objects.py +0 -0
  74. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_operator.py +0 -0
  75. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_optuna.py +0 -0
  76. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_os.py +0 -0
  77. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_parse.py +0 -0
  78. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pathlib.py +0 -0
  79. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pickle.py +0 -0
  80. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_platform.py +0 -0
  81. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_polars.py +0 -0
  82. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_polars_ols.py +0 -0
  83. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_postgres.py +0 -0
  84. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pottery.py +0 -0
  85. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pqdm.py +0 -0
  86. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_psutil.py +0 -0
  87. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pyinstrument.py +0 -0
  88. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pytest.py +0 -0
  89. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pytest_randomly.py +0 -0
  90. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_pytest_regressions.py +0 -0
  91. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_random.py +0 -0
  92. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_re.py +0 -0
  93. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_redis.py +0 -0
  94. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_reprlib.py +0 -0
  95. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_scipy.py +0 -0
  96. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_sentinel.py +0 -0
  97. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_shelve.py +0 -0
  98. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_slack_sdk.py +0 -0
  99. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_socket.py +0 -0
  100. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_sqlalchemy.py +0 -0
  101. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_sqlalchemy_polars.py +0 -0
  102. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_statsmodels.py +0 -0
  103. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_string.py +0 -0
  104. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_tempfile.py +0 -0
  105. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_text.py +0 -0
  106. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_threading.py +0 -0
  107. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_timer.py +0 -0
  108. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_traceback.py +0 -0
  109. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_typed_settings.py +0 -0
  110. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_types.py +0 -0
  111. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_typing.py +0 -0
  112. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_typing_funcs/__init__.py +0 -0
  113. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_typing_funcs/no_future.py +0 -0
  114. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_typing_funcs/with_future.py +0 -0
  115. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_tzdata.py +0 -0
  116. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_tzlocal.py +0 -0
  117. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_uuid.py +0 -0
  118. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_version.py +0 -0
  119. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_warnings.py +0 -0
  120. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_whenever.py +0 -0
  121. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_zipfile.py +0 -0
  122. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/tests/test_zoneinfo.py +0 -0
  123. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/aeventkit.py +0 -0
  124. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/altair.py +0 -0
  125. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/asyncio.py +0 -0
  126. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/atomicwrites.py +0 -0
  127. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/atools.py +0 -0
  128. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/cachetools.py +0 -0
  129. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/click.py +0 -0
  130. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/concurrent.py +0 -0
  131. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/contextlib.py +0 -0
  132. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/contextvars.py +0 -0
  133. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/cryptography.py +0 -0
  134. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/cvxpy.py +0 -0
  135. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/dataclasses.py +0 -0
  136. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/enum.py +0 -0
  137. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/errors.py +0 -0
  138. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/fastapi.py +0 -0
  139. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/fpdf2.py +0 -0
  140. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/functions.py +0 -0
  141. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/functools.py +0 -0
  142. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/getpass.py +0 -0
  143. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/gzip.py +0 -0
  144. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/hashlib.py +0 -0
  145. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/http.py +0 -0
  146. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/hypothesis.py +0 -0
  147. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/importlib.py +0 -0
  148. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/inflect.py +0 -0
  149. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/ipython.py +0 -0
  150. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/iterables.py +0 -0
  151. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/json.py +0 -0
  152. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/jupyter.py +0 -0
  153. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/libcst.py +0 -0
  154. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/lightweight_charts.py +0 -0
  155. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/logging.py +0 -0
  156. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/math.py +0 -0
  157. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/memory_profiler.py +0 -0
  158. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/modules.py +0 -0
  159. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/more_itertools.py +0 -0
  160. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/numpy.py +0 -0
  161. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/operator.py +0 -0
  162. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/optuna.py +0 -0
  163. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/os.py +0 -0
  164. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/parse.py +0 -0
  165. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pathlib.py +0 -0
  166. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pickle.py +0 -0
  167. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/platform.py +0 -0
  168. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/polars.py +0 -0
  169. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/polars_ols.py +0 -0
  170. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/postgres.py +0 -0
  171. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pottery.py +0 -0
  172. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pqdm.py +0 -0
  173. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/psutil.py +0 -0
  174. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/py.typed +0 -0
  175. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pyinstrument.py +0 -0
  176. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pytest.py +0 -0
  177. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pytest_plugins/__init__.py +0 -0
  178. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
  179. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
  180. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/pytest_regressions.py +0 -0
  181. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/random.py +0 -0
  182. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/re.py +0 -0
  183. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/redis.py +0 -0
  184. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/reprlib.py +0 -0
  185. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/scipy.py +0 -0
  186. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/sentinel.py +0 -0
  187. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/shelve.py +0 -0
  188. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/slack_sdk.py +0 -0
  189. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/socket.py +0 -0
  190. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/sqlalchemy.py +0 -0
  191. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/sqlalchemy_polars.py +0 -0
  192. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/statsmodels.py +0 -0
  193. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/string.py +0 -0
  194. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/tempfile.py +0 -0
  195. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/text.py +0 -0
  196. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/threading.py +0 -0
  197. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/timer.py +0 -0
  198. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/traceback.py +0 -0
  199. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/typed_settings.py +0 -0
  200. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/types.py +0 -0
  201. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/typing.py +0 -0
  202. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/tzdata.py +0 -0
  203. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/tzlocal.py +0 -0
  204. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/uuid.py +0 -0
  205. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/version.py +0 -0
  206. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/warnings.py +0 -0
  207. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/whenever.py +0 -0
  208. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/zipfile.py +0 -0
  209. {dycw_utilities-0.162.2 → dycw_utilities-0.162.3}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.162.2
3
+ Version: 0.162.3
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -109,7 +109,7 @@ operator = [
109
109
  "polars",
110
110
  ]
111
111
  optuna = [
112
- "optuna >=4.4.0, <4.5",
112
+ "optuna >=4.5.0, <4.6",
113
113
  ]
114
114
  orjson = [
115
115
  "orjson >=3.11.0, <3.12",
@@ -227,7 +227,7 @@ dependencies = [
227
227
  name = "dycw-utilities"
228
228
  readme = "README.md"
229
229
  requires-python = ">= 3.12"
230
- version = "0.162.2"
230
+ version = "0.162.3"
231
231
 
232
232
  [project.entry-points.pytest11]
233
233
  pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
@@ -259,7 +259,7 @@ test = [
259
259
  # bump-my-version
260
260
  [tool.bumpversion]
261
261
  allow_dirty = true
262
- current_version = "0.162.2"
262
+ current_version = "0.162.3"
263
263
 
264
264
  [[tool.bumpversion.files]]
265
265
  filename = "src/utilities/__init__.py"
@@ -23,6 +23,7 @@ from hypothesis.strategies import (
23
23
  from orjson import JSONDecodeError
24
24
  from polars import Object, String, UInt64
25
25
  from pytest import approx, mark, param, raises
26
+ from whenever import ZonedDateTime
26
27
 
27
28
  from tests.conftest import SKIPIF_CI_AND_WINDOWS
28
29
  from tests.test_objects.objects import (
@@ -60,6 +61,7 @@ from utilities.hypothesis import (
60
61
  text_ascii,
61
62
  text_printable,
62
63
  time_periods,
64
+ zoned_date_time_periods,
63
65
  zoned_date_times,
64
66
  )
65
67
  from utilities.iterables import always_iterable, one
@@ -86,12 +88,21 @@ from utilities.sentinel import Sentinel, sentinel
86
88
  from utilities.types import LogLevel, MaybeIterable, PathLike
87
89
  from utilities.typing import get_args
88
90
  from utilities.tzlocal import LOCAL_TIME_ZONE
89
- from utilities.whenever import MINUTE, SECOND, DatePeriod, TimePeriod, get_now
91
+ from utilities.whenever import (
92
+ HOUR,
93
+ MINUTE,
94
+ SECOND,
95
+ DatePeriod,
96
+ TimePeriod,
97
+ ZonedDateTimePeriod,
98
+ get_now,
99
+ )
100
+ from utilities.zoneinfo import UTC
90
101
 
91
102
  if TYPE_CHECKING:
92
103
  from collections.abc import Sequence
93
104
 
94
- from whenever import Date, ZonedDateTime
105
+ from whenever import Date
95
106
 
96
107
  from utilities.types import Dataclass, StrMapping
97
108
 
@@ -130,7 +141,7 @@ class TestGetLogRecords:
130
141
  assert record.name == str(tmp_path)
131
142
  assert record.message == ""
132
143
  assert record.level == WARNING
133
- assert record.line_num == approx(102, rel=0.1)
144
+ assert record.line_num == approx(118, rel=0.1)
134
145
  assert abs(record.datetime - get_now()) <= MINUTE
135
146
  assert record.func_name == "test_main"
136
147
  assert record.stack_info is None
@@ -667,6 +678,11 @@ class TestSerializeAndDeserialize:
667
678
  )
668
679
  assert result == exp_res
669
680
 
681
+ @given(period=zoned_date_time_periods())
682
+ def test_zoned_date_time_period(self, *, period: ZonedDateTimePeriod) -> None:
683
+ result = deserialize(serialize(period))
684
+ assert result == period
685
+
670
686
 
671
687
  class TestSerialize:
672
688
  @given(text=text_printable())
@@ -730,6 +746,12 @@ class TestSerialize:
730
746
  with raises(_SerializeIntegerError, match="Integer .* is out of range"):
731
747
  _ = serialize(x)
732
748
 
749
+ def test_zoned_date_time_period(self) -> None:
750
+ start = ZonedDateTime(2000, 1, 2, 12, 34, 45, tz=UTC.key)
751
+ result = serialize(ZonedDateTimePeriod(start, start + HOUR))
752
+ expected = b'"[zp]2000-01-02T12:34:45,2000-01-02T13:34:45+00:00[UTC]"'
753
+ assert result == expected
754
+
733
755
 
734
756
  class TestObjectHookGetObject:
735
757
  def test_main(self) -> None:
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.162.2"
3
+ __version__ = "0.162.3"
@@ -218,9 +218,7 @@ def _pre_process(
218
218
  case ZonedDateTime() as date_time:
219
219
  return f"[{_Prefixes.zoned_date_time.value}]{date_time}"
220
220
  case ZonedDateTimePeriod() as period:
221
- return (
222
- f"[{_Prefixes.zoned_date_time_period.value}]{period.start},{period.end}"
223
- )
221
+ return f"[{_Prefixes.zoned_date_time_period.value}]{period.start.to_plain()},{period.end}"
224
222
  case dt.datetime() as py_datetime:
225
223
  match py_datetime.tzinfo:
226
224
  case None:
@@ -512,9 +510,9 @@ def _object_hook(
512
510
  if match := _ZONED_DATE_TIME_PATTERN.search(text):
513
511
  return ZonedDateTime.parse_common_iso(match.group(1))
514
512
  if match := _ZONED_DATE_TIME_PERIOD_PATTERN.search(text):
515
- start, end = map(
516
- ZonedDateTime.parse_common_iso, match.group(1).split(",")
517
- )
513
+ start, end = match.group(1).split(",")
514
+ end = ZonedDateTime.parse_common_iso(end)
515
+ start = PlainDateTime.parse_common_iso(start).assume_tz(end.tz)
518
516
  return ZonedDateTimePeriod(start, end)
519
517
  if (
520
518
  exc_class := _object_hook_exception_class(