dycw-utilities 0.112.13__tar.gz → 0.113.0__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 (228) hide show
  1. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/PKG-INFO +1 -2
  2. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/pyproject.toml +2 -4
  3. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_more_itertools.py +14 -0
  4. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_polars.py +0 -152
  5. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/__init__.py +1 -1
  6. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/more_itertools.py +31 -1
  7. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/polars.py +3 -124
  8. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/.gitignore +0 -0
  9. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/LICENSE +0 -0
  10. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/README.md +0 -0
  11. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/__init__.py +0 -0
  12. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/conftest.py +0 -0
  13. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/__init__.py +0 -0
  14. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_missing/__init__.py +0 -0
  15. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_missing/module.py +0 -0
  16. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/__init__.py +0 -0
  17. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/outer_1.py +0 -0
  18. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/outer_2.py +0 -0
  19. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
  20. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
  21. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
  22. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
  23. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_without/__init__.py +0 -0
  24. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_without/module_1.py +0 -0
  25. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/package_without/module_2.py +0 -0
  26. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/standalone.py +0 -0
  27. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/modules/with_imports.py +0 -0
  28. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
  29. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
  30. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
  31. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
  32. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
  33. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
  34. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
  35. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
  36. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/__init__.py +0 -0
  37. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_async_service/__init__.py +0 -0
  38. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_async_service/__main__.py +0 -0
  39. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_async_service/run.sh +0 -0
  40. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_queue_processor/__init__.py +0 -0
  41. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_queue_processor/__main__.py +0 -0
  42. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/scripts/test_queue_processor/run.sh +0 -0
  43. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_altair.py +0 -0
  44. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_astor.py +0 -0
  45. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_asyncio.py +0 -0
  46. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_atomicwrites.py +0 -0
  47. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_atools.py +0 -0
  48. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_cachetools.py +0 -0
  49. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_click.py +0 -0
  50. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_concurrent.py +0 -0
  51. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_contextlib.py +0 -0
  52. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_contextvars.py +0 -0
  53. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_cryptography.py +0 -0
  54. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_cvxpy.py +0 -0
  55. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_dataclasses.py +0 -0
  56. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_datetime.py +0 -0
  57. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_enum.py +0 -0
  58. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_errors.py +0 -0
  59. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_eventkit.py +0 -0
  60. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_fastapi.py +0 -0
  61. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_fpdf2.py +0 -0
  62. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_functions.py +0 -0
  63. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_functools.py +0 -0
  64. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_getpass.py +0 -0
  65. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_git.py +0 -0
  66. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_hashlib.py +0 -0
  67. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_http.py +0 -0
  68. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_hypothesis.py +0 -0
  69. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_ipython.py +0 -0
  70. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_iterables.py +0 -0
  71. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_jupyter.py +0 -0
  72. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_lightweight_charts.py +0 -0
  73. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_logging.py +0 -0
  74. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_loguru.py +0 -0
  75. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_luigi.py +0 -0
  76. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_math.py +0 -0
  77. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_memory_profiler.py +0 -0
  78. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_modules.py +0 -0
  79. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_numpy.py +0 -0
  80. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_operator.py +0 -0
  81. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_optuna.py +0 -0
  82. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_orjson.py +0 -0
  83. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_os.py +0 -0
  84. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_parse.py +0 -0
  85. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pathlib.py +0 -0
  86. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_period.py +0 -0
  87. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pickle.py +0 -0
  88. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_platform.py +0 -0
  89. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_polars_ols.py +0 -0
  90. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pqdm.py +0 -0
  91. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pydantic.py +0 -0
  92. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pyinstrument.py +0 -0
  93. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pyrsistent.py +0 -0
  94. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pytest.py +0 -0
  95. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_pytest_regressions.py +0 -0
  96. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_python_dotenv.py +0 -0
  97. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_random.py +0 -0
  98. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_re.py +0 -0
  99. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_redis.py +0 -0
  100. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_reprlib.py +0 -0
  101. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_rich.py +0 -0
  102. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_scipy.py +0 -0
  103. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_sentinel.py +0 -0
  104. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_shelve.py +0 -0
  105. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_slack_sdk.py +0 -0
  106. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_socket.py +0 -0
  107. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_sqlalchemy.py +0 -0
  108. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_sqlalchemy_polars.py +0 -0
  109. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_statsmodel.py +0 -0
  110. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_streamlit.py +0 -0
  111. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_sys.py +0 -0
  112. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_tempfile.py +0 -0
  113. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_tenacity.py +0 -0
  114. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_text.py +0 -0
  115. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_threading.py +0 -0
  116. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_timer.py +0 -0
  117. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback.py +0 -0
  118. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/__init__.py +0 -0
  119. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/chain.py +0 -0
  120. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/decorated_async.py +0 -0
  121. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/decorated_sync.py +0 -0
  122. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/error_bind.py +0 -0
  123. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/many.py +0 -0
  124. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/one.py +0 -0
  125. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/recursive.py +0 -0
  126. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/task_group_one.py +0 -0
  127. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/task_group_two.py +0 -0
  128. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/two.py +0 -0
  129. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_traceback_funcs/untraced.py +0 -0
  130. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_types.py +0 -0
  131. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_typing.py +0 -0
  132. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_typing_funcs/__init__.py +0 -0
  133. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_typing_funcs/no_future.py +0 -0
  134. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_typing_funcs/with_future.py +0 -0
  135. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_tzdata.py +0 -0
  136. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_tzlocal.py +0 -0
  137. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_uuid.py +0 -0
  138. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_version.py +0 -0
  139. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_warnings.py +0 -0
  140. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_whenever.py +0 -0
  141. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_zipfile.py +0 -0
  142. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/tests/test_zoneinfo.py +0 -0
  143. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/altair.py +0 -0
  144. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/astor.py +0 -0
  145. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/asyncio.py +0 -0
  146. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/atomicwrites.py +0 -0
  147. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/atools.py +0 -0
  148. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/cachetools.py +0 -0
  149. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/click.py +0 -0
  150. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/concurrent.py +0 -0
  151. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/contextlib.py +0 -0
  152. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/contextvars.py +0 -0
  153. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/cryptography.py +0 -0
  154. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/cvxpy.py +0 -0
  155. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/dataclasses.py +0 -0
  156. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/datetime.py +0 -0
  157. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/enum.py +0 -0
  158. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/errors.py +0 -0
  159. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/eventkit.py +0 -0
  160. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/fastapi.py +0 -0
  161. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/fpdf2.py +0 -0
  162. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/functions.py +0 -0
  163. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/functools.py +0 -0
  164. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/getpass.py +0 -0
  165. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/git.py +0 -0
  166. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/hashlib.py +0 -0
  167. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/http.py +0 -0
  168. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/hypothesis.py +0 -0
  169. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/ipython.py +0 -0
  170. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/iterables.py +0 -0
  171. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/jupyter.py +0 -0
  172. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/lightweight_charts.py +0 -0
  173. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/logging.py +0 -0
  174. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/loguru.py +0 -0
  175. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/luigi.py +0 -0
  176. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/math.py +0 -0
  177. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/memory_profiler.py +0 -0
  178. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/modules.py +0 -0
  179. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/numpy.py +0 -0
  180. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/operator.py +0 -0
  181. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/optuna.py +0 -0
  182. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/orjson.py +0 -0
  183. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/os.py +0 -0
  184. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/parse.py +0 -0
  185. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pathlib.py +0 -0
  186. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/period.py +0 -0
  187. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pickle.py +0 -0
  188. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/platform.py +0 -0
  189. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/polars_ols.py +0 -0
  190. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pqdm.py +0 -0
  191. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/py.typed +0 -0
  192. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pydantic.py +0 -0
  193. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pyinstrument.py +0 -0
  194. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pyrsistent.py +0 -0
  195. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pytest.py +0 -0
  196. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/pytest_regressions.py +0 -0
  197. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/python_dotenv.py +0 -0
  198. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/random.py +0 -0
  199. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/re.py +0 -0
  200. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/redis.py +0 -0
  201. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/reprlib.py +0 -0
  202. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/rich.py +0 -0
  203. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/scipy.py +0 -0
  204. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/sentinel.py +0 -0
  205. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/shelve.py +0 -0
  206. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/slack_sdk.py +0 -0
  207. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/socket.py +0 -0
  208. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/sqlalchemy.py +0 -0
  209. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/sqlalchemy_polars.py +0 -0
  210. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/statsmodels.py +0 -0
  211. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/streamlit.py +0 -0
  212. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/sys.py +0 -0
  213. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/tempfile.py +0 -0
  214. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/tenacity.py +0 -0
  215. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/text.py +0 -0
  216. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/threading.py +0 -0
  217. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/timer.py +0 -0
  218. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/traceback.py +0 -0
  219. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/types.py +0 -0
  220. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/typing.py +0 -0
  221. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/tzdata.py +0 -0
  222. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/tzlocal.py +0 -0
  223. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/uuid.py +0 -0
  224. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/version.py +0 -0
  225. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/warnings.py +0 -0
  226. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/whenever.py +0 -0
  227. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/zipfile.py +0 -0
  228. {dycw_utilities-0.112.13 → dycw_utilities-0.113.0}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.112.13
3
+ Version: 0.113.0
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -137,7 +137,6 @@ Provides-Extra: zzz-test-pickle
137
137
  Requires-Dist: atomicwrites<1.5,>=1.4.1; extra == 'zzz-test-pickle'
138
138
  Provides-Extra: zzz-test-platform
139
139
  Provides-Extra: zzz-test-polars
140
- Requires-Dist: dacite<1.10,>=1.9.2; extra == 'zzz-test-polars'
141
140
  Requires-Dist: polars-lts-cpu<1.30,>=1.29.0; extra == 'zzz-test-polars'
142
141
  Requires-Dist: whenever<0.8,>=0.7.3; extra == 'zzz-test-polars'
143
142
  Provides-Extra: zzz-test-pqdm
@@ -21,7 +21,6 @@ dev = [
21
21
  "concurrent-log-handler >= 0.9.25, < 0.10",
22
22
  "cryptography >= 44.0.2, < 44.1",
23
23
  "cvxpy >= 1.6.5, < 1.7",
24
- "dacite >= 1.9.2, < 1.10",
25
24
  "eventkit >= 1.0.3, < 1.1",
26
25
  "fastapi >= 0.115.11, < 0.116",
27
26
  "fpdf2 >= 2.8.3, < 2.9",
@@ -93,7 +92,7 @@ dependencies = [
93
92
  name = "dycw-utilities"
94
93
  readme = "README.md"
95
94
  requires-python = ">= 3.12"
96
- version = "0.112.13"
95
+ version = "0.113.0"
97
96
 
98
97
  [project.optional-dependencies]
99
98
  test = [
@@ -231,7 +230,6 @@ zzz-test-pathlib = []
231
230
  zzz-test-pickle = ["atomicwrites >= 1.4.1, < 1.5"]
232
231
  zzz-test-platform = []
233
232
  zzz-test-polars = [
234
- "dacite >= 1.9.2, < 1.10",
235
233
  "polars-lts-cpu >= 1.29.0, < 1.30",
236
234
  "whenever >= 0.7.3, < 0.8",
237
235
  ]
@@ -336,7 +334,7 @@ zzz-test-zoneinfo = [
336
334
  # bump-my-version
337
335
  [tool.bumpversion]
338
336
  allow_dirty = true
339
- current_version = "0.112.13"
337
+ current_version = "0.113.0"
340
338
 
341
339
  [[tool.bumpversion.files]]
342
340
  filename = "src/utilities/__init__.py"
@@ -7,6 +7,7 @@ from pytest import mark, param, raises
7
7
  from utilities.more_itertools import (
8
8
  Split,
9
9
  bucket_mapping,
10
+ partition_list,
10
11
  partition_typeguard,
11
12
  peekable,
12
13
  yield_splits,
@@ -35,6 +36,19 @@ class TestBucketMapping:
35
36
  assert mapping["c"] == ["c1", "c2"]
36
37
 
37
38
 
39
+ class TestPartitionList:
40
+ def test_main(self) -> None:
41
+ def is_even(x: int, /) -> bool:
42
+ return x % 2 == 0
43
+
44
+ iterable = [1, 2, 3, 4]
45
+ false, true = partition_list(is_even, iterable)
46
+ assert isinstance(false, list)
47
+ assert false == [1, 3]
48
+ assert isinstance(true, list)
49
+ assert true == [2, 4]
50
+
51
+
38
52
  class TestPartitionTypeguard:
39
53
  def test_main(self) -> None:
40
54
  def is_int(x: Any, /) -> TypeGuard[int]:
@@ -87,7 +87,6 @@ from utilities.polars import (
87
87
  IsNullStructSeriesError,
88
88
  SetFirstRowAsColumnsError,
89
89
  StructFromDataClassError,
90
- YieldStructSeriesElementsError,
91
90
  _check_polars_dataframe_predicates,
92
91
  _check_polars_dataframe_schema_list,
93
92
  _check_polars_dataframe_schema_set,
@@ -117,7 +116,6 @@ from utilities.polars import (
117
116
  _IsNearEventBeforeError,
118
117
  _ReifyExprsEmptyError,
119
118
  _ReifyExprsSeriesNonUniqueError,
120
- _yield_struct_series_element_remove_nulls,
121
119
  ac_halflife,
122
120
  acf,
123
121
  adjust_frequencies,
@@ -167,8 +165,6 @@ from utilities.polars import (
167
165
  uniform,
168
166
  unique_element,
169
167
  week_num,
170
- yield_struct_series_dataclasses,
171
- yield_struct_series_elements,
172
168
  zoned_datetime,
173
169
  )
174
170
  from utilities.random import get_state
@@ -2561,154 +2557,6 @@ class TestWeekNum:
2561
2557
  assert_series_equal(result, expected)
2562
2558
 
2563
2559
 
2564
- class TestYieldStructSeriesDataclasses:
2565
- def test_main(self) -> None:
2566
- @dataclass(kw_only=True, slots=True)
2567
- class Row:
2568
- lower: int | None = None
2569
- upper: int | None = None
2570
-
2571
- series = Series(
2572
- name="series",
2573
- values=[(1, 1), (2, None), (None, 3), (None, None)],
2574
- dtype=Struct({"lower": Int64, "upper": Int64}),
2575
- )
2576
- result = list(yield_struct_series_dataclasses(series, Row))
2577
- expected = [
2578
- Row(lower=1, upper=1),
2579
- Row(lower=2, upper=None),
2580
- Row(lower=None, upper=3),
2581
- None,
2582
- ]
2583
- assert result == expected
2584
-
2585
- def test_nested(self) -> None:
2586
- @dataclass(kw_only=True, slots=True)
2587
- class Inner:
2588
- lower: int
2589
- upper: int
2590
-
2591
- @dataclass(kw_only=True, slots=True)
2592
- class Outer:
2593
- a: int | None = None
2594
- b: int | None = None
2595
- inner: Inner | None = None
2596
-
2597
- series = Series(
2598
- name="series",
2599
- values=[
2600
- {"a": 1, "b": 2, "inner": {"lower": 3, "upper": 4}},
2601
- {"a": 1, "b": 2, "inner": None},
2602
- {"a": None, "b": None, "inner": {"lower": 3, "upper": 4}},
2603
- {"a": None, "b": None, "inner": None},
2604
- ],
2605
- dtype=Struct({
2606
- "a": Int64,
2607
- "b": Int64,
2608
- "inner": Struct({"lower": Int64, "upper": Int64}),
2609
- }),
2610
- )
2611
- result = list(
2612
- yield_struct_series_dataclasses(
2613
- series, Outer, forward_references={"Inner": Inner}
2614
- )
2615
- )
2616
- expected = [
2617
- Outer(a=1, b=2, inner=Inner(lower=3, upper=4)),
2618
- Outer(a=1, b=2, inner=None),
2619
- Outer(a=None, b=None, inner=Inner(lower=3, upper=4)),
2620
- None,
2621
- ]
2622
- assert result == expected
2623
-
2624
-
2625
- class TestYieldStructSeriesElements:
2626
- def test_main(self) -> None:
2627
- series = Series(
2628
- name="series",
2629
- values=[(1, 1), (2, None), (None, 3), (None, None)],
2630
- dtype=Struct({"lower": Int64, "upper": Int64}),
2631
- )
2632
- result = list(yield_struct_series_elements(series))
2633
- expected = [
2634
- {"lower": 1, "upper": 1},
2635
- {"lower": 2, "upper": None},
2636
- {"lower": None, "upper": 3},
2637
- None,
2638
- ]
2639
- assert result == expected
2640
-
2641
- def test_nested(self) -> None:
2642
- series = Series(
2643
- name="series",
2644
- values=[
2645
- {"a": 1, "b": 2, "inner": {"lower": 3, "upper": 4}},
2646
- {"a": 1, "b": 2, "inner": None},
2647
- {"a": None, "b": None, "inner": {"lower": 3, "upper": 4}},
2648
- {"a": None, "b": None, "inner": None},
2649
- ],
2650
- dtype=Struct({
2651
- "a": Int64,
2652
- "b": Int64,
2653
- "inner": Struct({"lower": Int64, "upper": Int64}),
2654
- }),
2655
- )
2656
- result = list(yield_struct_series_elements(series))
2657
- expected = [
2658
- {"a": 1, "b": 2, "inner": {"lower": 3, "upper": 4}},
2659
- {"a": 1, "b": 2, "inner": None},
2660
- {"a": None, "b": None, "inner": {"lower": 3, "upper": 4}},
2661
- None,
2662
- ]
2663
- assert result == expected
2664
-
2665
- @given(
2666
- case=sampled_from([
2667
- (None, None),
2668
- (1, 1),
2669
- ({"a": 1, "b": 2}, {"a": 1, "b": 2}),
2670
- ({"a": 1, "b": None}, {"a": 1, "b": None}),
2671
- ({"a": None, "b": None}, None),
2672
- (
2673
- {"a": 1, "b": 2, "inner": {"lower": 3, "upper": 4}},
2674
- {"a": 1, "b": 2, "inner": {"lower": 3, "upper": 4}},
2675
- ),
2676
- (
2677
- {"a": 1, "b": 2, "inner": {"lower": None, "upper": None}},
2678
- {"a": 1, "b": 2, "inner": None},
2679
- ),
2680
- (
2681
- {"a": None, "b": None, "inner": {"lower": 3, "upper": 4}},
2682
- {"a": None, "b": None, "inner": {"lower": 3, "upper": 4}},
2683
- ),
2684
- ({"a": None, "b": None, "inner": {"lower": None, "upper": None}}, None),
2685
- ])
2686
- )
2687
- def test_remove_nulls(self, *, case: tuple[Any, Any]) -> None:
2688
- obj, expected = case
2689
- result = _yield_struct_series_element_remove_nulls(obj)
2690
- assert result == expected
2691
-
2692
- def test_error_struct_dtype(self) -> None:
2693
- series = Series(name="series", values=[1, 2, 3, None], dtype=Int64)
2694
- with raises(
2695
- YieldStructSeriesElementsError,
2696
- match="Series must have Struct-dtype; got Int64",
2697
- ):
2698
- _ = list(yield_struct_series_elements(series))
2699
-
2700
- def test_error_null_elements(self) -> None:
2701
- series = Series(
2702
- name="series",
2703
- values=[{"value": 1}, {"value": 2}, {"value": 3}, None],
2704
- dtype=Struct({"value": Int64}),
2705
- )
2706
- with raises(
2707
- YieldStructSeriesElementsError, match="Series must not have nulls; got .*"
2708
- ):
2709
- _ = list(yield_struct_series_elements(series, strict=True))
2710
-
2711
-
2712
2560
  class TestZonedDateTime:
2713
2561
  @given(time_zone=sampled_from([HongKong, UTC]))
2714
2562
  def test_main(self, *, time_zone: ZoneInfo) -> None:
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.112.13"
3
+ __version__ = "0.113.0"
@@ -32,6 +32,9 @@ _T = TypeVar("_T")
32
32
  _U = TypeVar("_U")
33
33
 
34
34
 
35
+ ##
36
+
37
+
35
38
  @overload
36
39
  def bucket_mapping(
37
40
  iterable: Iterable[_T], func: Callable[[_T], THashable], /, *, list: Literal[True]
@@ -55,6 +58,20 @@ def bucket_mapping(
55
58
  return mapping
56
59
 
57
60
 
61
+ ##
62
+
63
+
64
+ def partition_list(
65
+ pred: Callable[[_T], bool], iterable: Iterable[_T], /
66
+ ) -> tuple[list[_T], list[_T]]:
67
+ """Partition with lists."""
68
+ false, true = partition(pred, iterable)
69
+ return list(false), list(true)
70
+
71
+
72
+ ##
73
+
74
+
58
75
  def partition_typeguard(
59
76
  pred: Callable[[_T], TypeGuard[_U]], iterable: Iterable[_T], /
60
77
  ) -> tuple[Iterator[_T], Iterator[_U]]:
@@ -64,6 +81,9 @@ def partition_typeguard(
64
81
  return false, true
65
82
 
66
83
 
84
+ ##
85
+
86
+
67
87
  class peekable(_peekable, Generic[_T]): # noqa: N801
68
88
  """Peekable which supports dropwhile/takewhile methods."""
69
89
 
@@ -98,6 +118,9 @@ class peekable(_peekable, Generic[_T]): # noqa: N801
98
118
  yield next(self)
99
119
 
100
120
 
121
+ ##
122
+
123
+
101
124
  @dataclass(kw_only=True, slots=True)
102
125
  class Split(Generic[_T]):
103
126
  """An iterable split into head/tail."""
@@ -184,4 +207,11 @@ def _yield_splits3(
184
207
  )
185
208
 
186
209
 
187
- __all__ = ["Split", "bucket_mapping", "partition_typeguard", "peekable", "yield_splits"]
210
+ __all__ = [
211
+ "Split",
212
+ "bucket_mapping",
213
+ "partition_list",
214
+ "partition_typeguard",
215
+ "peekable",
216
+ "yield_splits",
217
+ ]
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import datetime as dt
4
4
  import enum
5
- from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence
5
+ from collections.abc import Callable, Iterator, Sequence
6
6
  from collections.abc import Set as AbstractSet
7
7
  from contextlib import suppress
8
8
  from dataclasses import asdict, dataclass
@@ -15,7 +15,6 @@ from typing import (
15
15
  Any,
16
16
  Generic,
17
17
  Literal,
18
- TypeGuard,
19
18
  TypeVar,
20
19
  assert_never,
21
20
  cast,
@@ -109,10 +108,9 @@ from utilities.warnings import suppress_warnings
109
108
  from utilities.zoneinfo import UTC, ensure_time_zone, get_time_zone_name
110
109
 
111
110
  if TYPE_CHECKING:
112
- from collections.abc import Callable, Iterator, Sequence
111
+ from collections.abc import Callable, Iterable, Iterator, Mapping, Sequence
113
112
  from collections.abc import Set as AbstractSet
114
113
 
115
- from dacite.data import Data
116
114
  from polars._typing import (
117
115
  IntoExpr, # pyright: ignore[reportPrivateImportUsage]
118
116
  IntoExprColumn, # pyright: ignore[reportPrivateImportUsage]
@@ -126,13 +124,7 @@ if TYPE_CHECKING:
126
124
 
127
125
  from utilities.numpy import NDArrayB, NDArrayF
128
126
  from utilities.statsmodels import ACFMissing
129
- from utilities.types import (
130
- Dataclass,
131
- MaybeIterable,
132
- StrMapping,
133
- TDataclass,
134
- TimeZoneLike,
135
- )
127
+ from utilities.types import Dataclass, MaybeIterable, StrMapping, TimeZoneLike
136
128
 
137
129
 
138
130
  _T = TypeVar("_T")
@@ -2134,116 +2126,6 @@ def week_num(column: IntoExprColumn, /, *, start: WeekDay = "mon") -> Expr | Ser
2134
2126
  ##
2135
2127
 
2136
2128
 
2137
- @overload
2138
- def yield_struct_series_elements(
2139
- series: Series, /, *, strict: Literal[True]
2140
- ) -> Iterator[Mapping[str, Any]]: ...
2141
- @overload
2142
- def yield_struct_series_elements(
2143
- series: Series, /, *, strict: Literal[False]
2144
- ) -> Iterator[Mapping[str, Any] | None]: ...
2145
- @overload
2146
- def yield_struct_series_elements(
2147
- series: Series, /, *, strict: bool = False
2148
- ) -> Iterator[Mapping[str, Any] | None]: ...
2149
- def yield_struct_series_elements(
2150
- series: Series, /, *, strict: bool = False
2151
- ) -> Iterator[Mapping[str, Any] | None]:
2152
- """Yield the elements of a struct-dtype Series as optional mappings."""
2153
- if not isinstance(series.dtype, Struct):
2154
- raise _YieldStructSeriesElementsDTypeError(series=series)
2155
- if strict and series.is_null().any():
2156
- raise _YieldStructSeriesElementsNullElementsError(series=series)
2157
- for value in series:
2158
- yield _yield_struct_series_element_remove_nulls(value)
2159
-
2160
-
2161
- def _yield_struct_series_element_remove_nulls(obj: Any, /) -> Any:
2162
- if not _yield_struct_series_element_is_mapping_of_str(obj):
2163
- return obj
2164
- if any(_yield_struct_series_element_is_mapping_of_str(v) for v in obj.values()):
2165
- result = {
2166
- k: _yield_struct_series_element_remove_nulls(v) for k, v in obj.items()
2167
- }
2168
- if result == obj:
2169
- return result
2170
- return _yield_struct_series_element_remove_nulls(result)
2171
- return None if all(v is None for v in obj.values()) else obj
2172
-
2173
-
2174
- def _yield_struct_series_element_is_mapping_of_str(
2175
- obj: Any, /
2176
- ) -> TypeGuard[Mapping[str, Any]]:
2177
- return isinstance(obj, Mapping) and is_iterable_of(obj, str)
2178
-
2179
-
2180
- @dataclass(kw_only=True, slots=True)
2181
- class YieldStructSeriesElementsError(Exception):
2182
- series: Series
2183
-
2184
-
2185
- @dataclass(kw_only=True, slots=True)
2186
- class _YieldStructSeriesElementsDTypeError(YieldStructSeriesElementsError):
2187
- @override
2188
- def __str__(self) -> str:
2189
- return f"Series must have Struct-dtype; got {self.series.dtype}"
2190
-
2191
-
2192
- @dataclass(kw_only=True, slots=True)
2193
- class _YieldStructSeriesElementsNullElementsError(YieldStructSeriesElementsError):
2194
- @override
2195
- def __str__(self) -> str:
2196
- return f"Series must not have nulls; got {self.series}"
2197
-
2198
-
2199
- ##
2200
-
2201
-
2202
- @overload
2203
- def yield_struct_series_dataclasses(
2204
- series: Series,
2205
- cls: type[TDataclass],
2206
- /,
2207
- *,
2208
- forward_references: dict[str, Any] | None = None,
2209
- check_types: bool = True,
2210
- strict: Literal[True],
2211
- ) -> Iterator[TDataclass]: ...
2212
- @overload
2213
- def yield_struct_series_dataclasses(
2214
- series: Series,
2215
- cls: type[TDataclass],
2216
- /,
2217
- *,
2218
- forward_references: dict[str, Any] | None = None,
2219
- check_types: bool = True,
2220
- strict: bool = False,
2221
- ) -> Iterator[TDataclass | None]: ...
2222
- def yield_struct_series_dataclasses(
2223
- series: Series,
2224
- cls: type[TDataclass],
2225
- /,
2226
- *,
2227
- forward_references: dict[str, Any] | None = None,
2228
- check_types: bool = True,
2229
- strict: bool = False,
2230
- ) -> Iterator[TDataclass | None]:
2231
- """Yield the elements of a struct-dtype Series as dataclasses."""
2232
- from dacite import Config, from_dict
2233
-
2234
- config = Config(
2235
- forward_references=forward_references, check_types=check_types, strict=True
2236
- )
2237
- for value in yield_struct_series_elements(series, strict=strict):
2238
- if value is None:
2239
- yield None
2240
- else:
2241
- yield from_dict(cls, cast("Data", value), config=config)
2242
-
2243
-
2244
- ##
2245
-
2246
-
2247
2129
  def zoned_datetime(
2248
2130
  *, time_unit: TimeUnit = "us", time_zone: TimeZoneLike = UTC
2249
2131
  ) -> Datetime:
@@ -2272,7 +2154,6 @@ __all__ = [
2272
2154
  "IsNullStructSeriesError",
2273
2155
  "SetFirstRowAsColumnsError",
2274
2156
  "StructFromDataClassError",
2275
- "YieldStructSeriesElementsError",
2276
2157
  "acf",
2277
2158
  "adjust_frequencies",
2278
2159
  "append_dataclass",
@@ -2319,7 +2200,5 @@ __all__ = [
2319
2200
  "try_reify_expr",
2320
2201
  "uniform",
2321
2202
  "unique_element",
2322
- "yield_struct_series_dataclasses",
2323
- "yield_struct_series_elements",
2324
2203
  "zoned_datetime",
2325
2204
  ]