dycw-utilities 0.155.0__tar.gz → 0.155.2__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 (212) hide show
  1. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/PKG-INFO +1 -2
  2. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/pyproject.toml +2 -6
  3. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_altair.py +2 -2
  4. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_hypothesis.py +14 -5
  5. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_orjson.py +2 -2
  6. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_polars.py +208 -211
  7. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing.py +147 -7
  8. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/with_future.py +63 -4
  9. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_whenever.py +13 -0
  10. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/__init__.py +1 -1
  11. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/hypothesis.py +8 -1
  12. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/polars.py +97 -117
  13. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sqlalchemy_polars.py +2 -2
  14. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/traceback.py +1 -1
  15. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/typing.py +9 -2
  16. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/whenever.py +10 -0
  17. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/.gitignore +0 -0
  18. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/LICENSE +0 -0
  19. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/README.md +0 -0
  20. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/__init__.py +0 -0
  21. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/conftest.py +0 -0
  22. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/__init__.py +0 -0
  23. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_missing/__init__.py +0 -0
  24. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_missing/module.py +0 -0
  25. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/__init__.py +0 -0
  26. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/outer_1.py +0 -0
  27. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/outer_2.py +0 -0
  28. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
  29. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
  30. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
  31. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
  32. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/__init__.py +0 -0
  33. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/module_1.py +0 -0
  34. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/module_2.py +0 -0
  35. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/standalone.py +0 -0
  36. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/with_imports.py +0 -0
  37. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
  38. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
  39. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
  40. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
  41. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
  42. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
  43. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
  44. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
  45. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_asyncio.py +0 -0
  46. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_atomicwrites.py +0 -0
  47. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_atools.py +0 -0
  48. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cachetools.py +0 -0
  49. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_click.py +0 -0
  50. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_concurrent.py +0 -0
  51. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_contextlib.py +0 -0
  52. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_contextvars.py +0 -0
  53. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cryptography.py +0 -0
  54. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cvxpy.py +0 -0
  55. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_dataclasses.py +0 -0
  56. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_enum.py +0 -0
  57. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_errors.py +0 -0
  58. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_eventkit.py +0 -0
  59. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_fastapi.py +0 -0
  60. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_fpdf2.py +0 -0
  61. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_functions.py +0 -0
  62. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_functools.py +0 -0
  63. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_getpass.py +0 -0
  64. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_gzip.py +0 -0
  65. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_hashlib.py +0 -0
  66. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_http.py +0 -0
  67. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_importlib.py +0 -0
  68. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_inflect.py +0 -0
  69. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_ipython.py +0 -0
  70. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_iterables.py +0 -0
  71. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_json.py +0 -0
  72. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_jupyter.py +0 -0
  73. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_libcst.py +0 -0
  74. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_lightweight_charts.py +0 -0
  75. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_logging.py +0 -0
  76. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_math.py +0 -0
  77. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_memory_profiler.py +0 -0
  78. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_modules.py +0 -0
  79. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_more_itertools.py +0 -0
  80. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_numpy.py +0 -0
  81. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_objects/__init__.py +0 -0
  82. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_objects/objects.py +0 -0
  83. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_operator.py +0 -0
  84. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_optuna.py +0 -0
  85. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_os.py +0 -0
  86. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_parse.py +0 -0
  87. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pathlib.py +0 -0
  88. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pickle.py +0 -0
  89. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_platform.py +0 -0
  90. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_polars_ols.py +0 -0
  91. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_postgres.py +0 -0
  92. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pottery.py +0 -0
  93. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pqdm.py +0 -0
  94. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_psutil.py +0 -0
  95. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pyinstrument.py +0 -0
  96. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest.py +0 -0
  97. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest_randomly.py +0 -0
  98. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest_regressions.py +0 -0
  99. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_random.py +0 -0
  100. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_re.py +0 -0
  101. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_redis.py +0 -0
  102. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_reprlib.py +0 -0
  103. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_scipy.py +0 -0
  104. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sentinel.py +0 -0
  105. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_shelve.py +0 -0
  106. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_slack_sdk.py +0 -0
  107. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_socket.py +0 -0
  108. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sqlalchemy.py +0 -0
  109. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sqlalchemy_polars.py +0 -0
  110. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_statsmodels.py +0 -0
  111. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_string.py +0 -0
  112. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tempfile.py +0 -0
  113. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_text.py +0 -0
  114. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_threading.py +0 -0
  115. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_timer.py +0 -0
  116. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_traceback.py +0 -0
  117. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typed_settings.py +0 -0
  118. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_types.py +0 -0
  119. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/__init__.py +0 -0
  120. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/no_future.py +0 -0
  121. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tzdata.py +0 -0
  122. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tzlocal.py +0 -0
  123. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_uuid.py +0 -0
  124. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_version.py +0 -0
  125. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_warnings.py +0 -0
  126. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/__init__.py +0 -0
  127. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/script.py +0 -0
  128. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/script.sh +0 -0
  129. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_zipfile.py +0 -0
  130. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_zoneinfo.py +0 -0
  131. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/altair.py +0 -0
  132. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/asyncio.py +0 -0
  133. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/atomicwrites.py +0 -0
  134. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/atools.py +0 -0
  135. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cachetools.py +0 -0
  136. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/click.py +0 -0
  137. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/concurrent.py +0 -0
  138. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/contextlib.py +0 -0
  139. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/contextvars.py +0 -0
  140. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cryptography.py +0 -0
  141. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cvxpy.py +0 -0
  142. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/dataclasses.py +0 -0
  143. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/enum.py +0 -0
  144. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/errors.py +0 -0
  145. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/eventkit.py +0 -0
  146. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/fastapi.py +0 -0
  147. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/fpdf2.py +0 -0
  148. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/functions.py +0 -0
  149. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/functools.py +0 -0
  150. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/getpass.py +0 -0
  151. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/gzip.py +0 -0
  152. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/hashlib.py +0 -0
  153. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/http.py +0 -0
  154. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/importlib.py +0 -0
  155. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/inflect.py +0 -0
  156. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/ipython.py +0 -0
  157. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/iterables.py +0 -0
  158. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/json.py +0 -0
  159. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/jupyter.py +0 -0
  160. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/libcst.py +0 -0
  161. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/lightweight_charts.py +0 -0
  162. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/logging.py +0 -0
  163. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/math.py +0 -0
  164. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/memory_profiler.py +0 -0
  165. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/modules.py +0 -0
  166. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/more_itertools.py +0 -0
  167. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/numpy.py +0 -0
  168. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/operator.py +0 -0
  169. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/optuna.py +0 -0
  170. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/orjson.py +0 -0
  171. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/os.py +0 -0
  172. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/parse.py +0 -0
  173. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pathlib.py +0 -0
  174. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pickle.py +0 -0
  175. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/platform.py +0 -0
  176. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/polars_ols.py +0 -0
  177. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/postgres.py +0 -0
  178. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pottery.py +0 -0
  179. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pqdm.py +0 -0
  180. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/psutil.py +0 -0
  181. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/py.typed +0 -0
  182. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pyinstrument.py +0 -0
  183. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest.py +0 -0
  184. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/__init__.py +0 -0
  185. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
  186. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
  187. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_regressions.py +0 -0
  188. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/random.py +0 -0
  189. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/re.py +0 -0
  190. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/redis.py +0 -0
  191. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/reprlib.py +0 -0
  192. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/scipy.py +0 -0
  193. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sentinel.py +0 -0
  194. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/shelve.py +0 -0
  195. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/slack_sdk.py +0 -0
  196. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/socket.py +0 -0
  197. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sqlalchemy.py +0 -0
  198. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/statsmodels.py +0 -0
  199. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/string.py +0 -0
  200. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tempfile.py +0 -0
  201. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/text.py +0 -0
  202. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/threading.py +0 -0
  203. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/timer.py +0 -0
  204. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/typed_settings.py +0 -0
  205. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/types.py +0 -0
  206. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tzdata.py +0 -0
  207. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tzlocal.py +0 -0
  208. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/uuid.py +0 -0
  209. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/version.py +0 -0
  210. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/warnings.py +0 -0
  211. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/zipfile.py +0 -0
  212. {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.155.0
3
+ Version: 0.155.2
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -13,7 +13,6 @@ Requires-Dist: coloredlogs<15.1,>=15.0.1; extra == 'logging'
13
13
  Provides-Extra: test
14
14
  Requires-Dist: dycw-pytest-only<2.2,>=2.1.1; extra == 'test'
15
15
  Requires-Dist: hypothesis<6.138,>=6.137.1; extra == 'test'
16
- Requires-Dist: pudb<2025.2,>=2025.1; extra == 'test'
17
16
  Requires-Dist: pytest-asyncio<1.2,>=1.1.0; extra == 'test'
18
17
  Requires-Dist: pytest-cov<6.3,>=6.2.1; extra == 'test'
19
18
  Requires-Dist: pytest-instafail<0.6,>=0.5.0; extra == 'test'
@@ -44,7 +44,6 @@ dev = [
44
44
  "coloredlogs >=15.0.1, <15.1",
45
45
  "coverage-conditional-plugin >=0.9.0, <0.10",
46
46
  "dycw-pytest-only >=2.1.1, <2.2",
47
- "pudb >=2025.1, <2025.2",
48
47
  "pyright[nodejs] >=1.1.401, <1.2",
49
48
  "pytest-cov >=6.2.1, <6.3",
50
49
  "pytest-timeout >=2.4.0, <2.5",
@@ -148,7 +147,6 @@ pyinstrument = [
148
147
  "pyinstrument >=5.0.3, <5.1",
149
148
  ]
150
149
  pytest = [
151
- "pudb >=2025.1, <2025.2",
152
150
  "pytest >=8.4.1, <8.5",
153
151
  "pytest-asyncio >=1.1.0, <1.2",
154
152
  "pytest-randomly >=3.16.0, <3.17",
@@ -229,7 +227,7 @@ dependencies = [
229
227
  name = "dycw-utilities"
230
228
  readme = "README.md"
231
229
  requires-python = ">= 3.12"
232
- version = "0.155.0"
230
+ version = "0.155.2"
233
231
 
234
232
  [project.entry-points.pytest11]
235
233
  pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
@@ -242,7 +240,6 @@ logging = [
242
240
  test = [
243
241
  "dycw-pytest-only >=2.1.1, <2.2",
244
242
  "hypothesis >=6.137.1, <6.138",
245
- "pudb >=2025.1, <2025.2",
246
243
  "pytest >=8.4.1, <8.5",
247
244
  "pytest-asyncio >=1.1.0, <1.2",
248
245
  "pytest-cov >=6.2.1, <6.3",
@@ -262,7 +259,7 @@ test = [
262
259
  # bump-my-version
263
260
  [tool.bumpversion]
264
261
  allow_dirty = true
265
- current_version = "0.155.0"
262
+ current_version = "0.155.2"
266
263
 
267
264
  [[tool.bumpversion.files]]
268
265
  filename = "src/utilities/__init__.py"
@@ -366,7 +363,6 @@ addopts = [
366
363
  "--color=auto",
367
364
  "--durations=10",
368
365
  "--durations-min=10",
369
- "--pdbcls=pudb.debugger:Debugger",
370
366
  "--strict-markers",
371
367
  "--timeout=600",
372
368
  ]
@@ -28,7 +28,7 @@ from utilities.altair import (
28
28
  )
29
29
  from utilities.functions import ensure_class
30
30
  from utilities.hypothesis import dates, text_ascii, zoned_date_times
31
- from utilities.polars import DatetimeUTC, zoned_datetime_dtype
31
+ from utilities.polars import DatetimeUTC, zoned_date_time_dtype
32
32
  from utilities.tzdata import HongKong, Tokyo
33
33
  from utilities.whenever import get_now
34
34
  from utilities.zoneinfo import UTC
@@ -98,7 +98,7 @@ class TestPlotDataFrames:
98
98
  df = DataFrame(
99
99
  data=[(dt.datetime(2000, 1, 1, 12, tzinfo=time_zone), 0.0)],
100
100
  schema={
101
- "datetime": zoned_datetime_dtype(time_zone=time_zone),
101
+ "datetime": zoned_date_time_dtype(time_zone=time_zone),
102
102
  "value": Float64,
103
103
  },
104
104
  orient="row",
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import datetime as dt
3
4
  from itertools import pairwise
4
5
  from pathlib import Path
5
6
  from re import search
@@ -134,6 +135,7 @@ from utilities.whenever import (
134
135
  ZonedDateTimePeriod,
135
136
  to_days,
136
137
  to_nanoseconds,
138
+ to_py_time_delta,
137
139
  )
138
140
 
139
141
  if TYPE_CHECKING:
@@ -197,6 +199,7 @@ class TestDateDeltas:
197
199
  date_deltas(min_value=min_value, max_value=max_value, parsable=parsable)
198
200
  )
199
201
  assert isinstance(delta, DateDelta)
202
+ assert isinstance(to_py_time_delta(delta), dt.timedelta)
200
203
  days = to_days(delta)
201
204
  if min_value is not None:
202
205
  assert days >= to_days(min_value)
@@ -221,14 +224,17 @@ class TestDatePeriods:
221
224
 
222
225
 
223
226
  class TestDateTimeDeltas:
224
- @given(data=data(), parsable=booleans())
225
- def test_main(self, *, data: DataObject, parsable: bool) -> None:
227
+ @given(data=data(), parsable=booleans(), nativable=booleans())
228
+ def test_main(self, *, data: DataObject, parsable: bool, nativable: bool) -> None:
226
229
  min_value = data.draw(date_time_deltas() | none())
227
230
  max_value = data.draw(date_time_deltas() | none())
228
231
  with assume_does_not_raise(InvalidArgument):
229
232
  delta = data.draw(
230
233
  date_time_deltas(
231
- min_value=min_value, max_value=max_value, parsable=parsable
234
+ min_value=min_value,
235
+ max_value=max_value,
236
+ parsable=parsable,
237
+ nativable=nativable,
232
238
  )
233
239
  )
234
240
  assert isinstance(delta, DateTimeDelta)
@@ -239,6 +245,8 @@ class TestDateTimeDeltas:
239
245
  assert nanos <= to_nanoseconds(max_value)
240
246
  if parsable:
241
247
  assert DateTimeDelta.parse_common_iso(delta.format_common_iso()) == delta
248
+ if nativable:
249
+ assert isinstance(to_py_time_delta(delta), dt.timedelta)
242
250
 
243
251
 
244
252
  class TestDates:
@@ -726,8 +734,8 @@ class TestPairs:
726
734
  class TestPaths:
727
735
  @given(data=data())
728
736
  def test_main(self, *, data: DataObject) -> None:
729
- min_depth = data.draw(integers(0, 5) | none())
730
- max_depth = data.draw(integers(0, 5) | none())
737
+ min_depth = data.draw(integers(0, 3) | none())
738
+ max_depth = data.draw(integers(0, 3) | none())
731
739
  with assume_does_not_raise(InvalidArgument):
732
740
  path = data.draw(paths(min_depth=min_depth, max_depth=max_depth))
733
741
  assert isinstance(path, Path)
@@ -989,6 +997,7 @@ class TestTimeDeltas:
989
997
  delta = data.draw(time_deltas(min_value=min_value, max_value=max_value))
990
998
  assert isinstance(delta, TimeDelta)
991
999
  assert TimeDelta.parse_common_iso(delta.format_common_iso()) == delta
1000
+ assert isinstance(to_py_time_delta(delta), dt.timedelta)
992
1001
  if min_value is not None:
993
1002
  assert delta >= min_value
994
1003
  if max_value is not None:
@@ -81,7 +81,7 @@ from utilities.orjson import (
81
81
  serialize,
82
82
  write_object,
83
83
  )
84
- from utilities.polars import check_polars_dataframe, zoned_datetime_dtype
84
+ from utilities.polars import check_polars_dataframe, zoned_date_time_dtype
85
85
  from utilities.sentinel import Sentinel, sentinel
86
86
  from utilities.types import LogLevel, MaybeIterable, PathLike
87
87
  from utilities.typing import get_args
@@ -176,7 +176,7 @@ class TestGetLogRecords:
176
176
  "level": UInt64,
177
177
  "path_name": String,
178
178
  "line_num": UInt64,
179
- "datetime": zoned_datetime_dtype(time_zone=LOCAL_TIME_ZONE),
179
+ "datetime": zoned_date_time_dtype(time_zone=LOCAL_TIME_ZONE),
180
180
  "func_name": String,
181
181
  "stack_info": String,
182
182
  "extra": Object,