dycw-utilities 0.125.19__tar.gz → 0.125.20__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.
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/PKG-INFO +1 -1
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/pyproject.toml +2 -2
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_asyncio.py +16 -1
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/asyncio.py +15 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/.gitignore +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/LICENSE +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/README.md +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_datetime.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_loguru.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_luigi.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pyrsistent.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_rich.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_statsmodel.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_sys.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_tenacity.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/chain.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/decorated_async.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/decorated_sync.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/error_bind.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/many.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/one.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/recursive.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/task_group_one.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/task_group_two.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/two.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/untraced.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/click.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/datetime.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/git.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/http.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/loguru.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/luigi.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/math.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/os.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/period.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pyrsistent.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/random.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/re.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/rich.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/string.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/sys.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/tenacity.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/text.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/types.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/version.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/utilities/zoneinfo.py +0 -0
@@ -93,7 +93,7 @@ dependencies = [
|
|
93
93
|
name = "dycw-utilities"
|
94
94
|
readme = "README.md"
|
95
95
|
requires-python = ">= 3.12"
|
96
|
-
version = "0.125.
|
96
|
+
version = "0.125.20"
|
97
97
|
|
98
98
|
[project.optional-dependencies]
|
99
99
|
test = [
|
@@ -334,7 +334,7 @@ zzz-test-zoneinfo = [
|
|
334
334
|
# bump-my-version
|
335
335
|
[tool.bumpversion]
|
336
336
|
allow_dirty = true
|
337
|
-
current_version = "0.125.
|
337
|
+
current_version = "0.125.20"
|
338
338
|
|
339
339
|
[[tool.bumpversion.files]]
|
340
340
|
filename = "src/utilities/__init__.py"
|
@@ -42,6 +42,7 @@ from utilities.asyncio import (
|
|
42
42
|
put_items,
|
43
43
|
put_items_nowait,
|
44
44
|
sleep_dur,
|
45
|
+
sleep_max_dur,
|
45
46
|
sleep_until,
|
46
47
|
sleep_until_rounded,
|
47
48
|
stream_command,
|
@@ -1428,7 +1429,7 @@ class TestSleepDur:
|
|
1428
1429
|
async def test_main(self, *, duration: Duration) -> None:
|
1429
1430
|
with Timer() as timer:
|
1430
1431
|
await sleep_dur(duration=duration)
|
1431
|
-
assert timer
|
1432
|
+
assert timer <= datetime_duration_to_timedelta(2 * duration)
|
1432
1433
|
|
1433
1434
|
async def test_none(self) -> None:
|
1434
1435
|
with Timer() as timer:
|
@@ -1436,6 +1437,20 @@ class TestSleepDur:
|
|
1436
1437
|
assert timer <= 0.01
|
1437
1438
|
|
1438
1439
|
|
1440
|
+
class TestSleepMaxDur:
|
1441
|
+
@given(duration=sampled_from([0.1, 10 * MILLISECOND]))
|
1442
|
+
@settings(phases={Phase.generate})
|
1443
|
+
async def test_main(self, *, duration: Duration) -> None:
|
1444
|
+
with Timer() as timer:
|
1445
|
+
await sleep_max_dur(duration=duration)
|
1446
|
+
assert timer <= datetime_duration_to_timedelta(2 * duration)
|
1447
|
+
|
1448
|
+
async def test_none(self) -> None:
|
1449
|
+
with Timer() as timer:
|
1450
|
+
await sleep_max_dur()
|
1451
|
+
assert timer <= 0.01
|
1452
|
+
|
1453
|
+
|
1439
1454
|
class TestSleepUntil:
|
1440
1455
|
async def test_main(self) -> None:
|
1441
1456
|
await sleep_until(get_now() + 10 * MILLISECOND)
|
@@ -59,6 +59,7 @@ from utilities.datetime import (
|
|
59
59
|
)
|
60
60
|
from utilities.errors import ImpossibleCaseError, repr_error
|
61
61
|
from utilities.functions import ensure_int, ensure_not_none, get_class_name
|
62
|
+
from utilities.random import SYSTEM_RANDOM
|
62
63
|
from utilities.sentinel import Sentinel, sentinel
|
63
64
|
from utilities.types import (
|
64
65
|
Coroutine1,
|
@@ -75,6 +76,7 @@ if TYPE_CHECKING:
|
|
75
76
|
from collections import deque
|
76
77
|
from collections.abc import AsyncIterator, Sequence
|
77
78
|
from contextvars import Context
|
79
|
+
from random import Random
|
78
80
|
from types import TracebackType
|
79
81
|
|
80
82
|
from utilities.types import Duration
|
@@ -1305,6 +1307,18 @@ async def sleep_dur(*, duration: Duration | None = None) -> None:
|
|
1305
1307
|
##
|
1306
1308
|
|
1307
1309
|
|
1310
|
+
async def sleep_max_dur(
|
1311
|
+
*, duration: Duration | None = None, random: Random = SYSTEM_RANDOM
|
1312
|
+
) -> None:
|
1313
|
+
"""Sleep which accepts max durations."""
|
1314
|
+
if duration is None:
|
1315
|
+
return
|
1316
|
+
await sleep(random.uniform(0.0, datetime_duration_to_float(duration)))
|
1317
|
+
|
1318
|
+
|
1319
|
+
##
|
1320
|
+
|
1321
|
+
|
1308
1322
|
async def sleep_until(datetime: dt.datetime, /) -> None:
|
1309
1323
|
"""Sleep until a given time."""
|
1310
1324
|
await sleep_dur(duration=datetime - get_now())
|
@@ -1407,6 +1421,7 @@ __all__ = [
|
|
1407
1421
|
"put_items",
|
1408
1422
|
"put_items_nowait",
|
1409
1423
|
"sleep_dur",
|
1424
|
+
"sleep_max_dur",
|
1410
1425
|
"sleep_until",
|
1411
1426
|
"sleep_until_rounded",
|
1412
1427
|
"stream_command",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/outer_1.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_with/outer_2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/modules/package_without/module_2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/decorated_sync.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/error_bind.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/recursive.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/task_group_one.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/task_group_two.py
RENAMED
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_traceback_funcs/untraced.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing_funcs/no_future.py
RENAMED
File without changes
|
{dycw_utilities-0.125.19 → dycw_utilities-0.125.20}/src/tests/test_typing_funcs/with_future.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|