dycw-utilities 0.138.15__tar.gz → 0.138.16__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.138.15 → dycw_utilities-0.138.16}/PKG-INFO +1 -1
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/pyproject.toml +2 -2
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_whenever.py +28 -1
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/whenever.py +36 -1
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/.gitignore +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/LICENSE +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/README.md +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_aiolimiter.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio_classes/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio_classes/loopers.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio_classes/redis.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_luigi.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/aiolimiter.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/click.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/http.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/luigi.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/math.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/os.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/period.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pytest_regressions_plugin.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/random.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/re.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/string.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/text.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/types.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/version.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/zoneinfo.py +0 -0
@@ -106,7 +106,7 @@ dependencies = [
|
|
106
106
|
name = "dycw-utilities"
|
107
107
|
readme = "README.md"
|
108
108
|
requires-python = ">= 3.12"
|
109
|
-
version = "0.138.
|
109
|
+
version = "0.138.16"
|
110
110
|
|
111
111
|
[project.entry-points.pytest11]
|
112
112
|
pytest-regressions = "utilities.pytest_regressions_plugin"
|
@@ -137,7 +137,7 @@ test = [
|
|
137
137
|
# bump-my-version
|
138
138
|
[tool.bumpversion]
|
139
139
|
allow_dirty = true
|
140
|
-
current_version = "0.138.
|
140
|
+
current_version = "0.138.16"
|
141
141
|
|
142
142
|
[[tool.bumpversion.files]]
|
143
143
|
filename = "src/utilities/__init__.py"
|
@@ -94,6 +94,7 @@ from utilities.whenever import (
|
|
94
94
|
to_local_plain,
|
95
95
|
to_months,
|
96
96
|
to_nanos,
|
97
|
+
to_py_date_or_date_time,
|
97
98
|
to_py_time_delta,
|
98
99
|
to_time_delta,
|
99
100
|
to_zoned_date_time,
|
@@ -608,6 +609,28 @@ class TestToMonths:
|
|
608
609
|
_ = to_months(delta)
|
609
610
|
|
610
611
|
|
612
|
+
class TestToPyDateOrDateTime:
|
613
|
+
@mark.parametrize(
|
614
|
+
("date_or_date_time", "expected"),
|
615
|
+
[
|
616
|
+
param(Date(2000, 1, 1), dt.date(2000, 1, 1)),
|
617
|
+
param(
|
618
|
+
ZonedDateTime(2000, 1, 1, tz=UTC.key),
|
619
|
+
dt.datetime(2000, 1, 1, tzinfo=UTC),
|
620
|
+
),
|
621
|
+
param(None, None),
|
622
|
+
],
|
623
|
+
)
|
624
|
+
def test_main(
|
625
|
+
self,
|
626
|
+
*,
|
627
|
+
date_or_date_time: Date | ZonedDateTime | None,
|
628
|
+
expected: dt.date | None,
|
629
|
+
) -> None:
|
630
|
+
result = to_py_date_or_date_time(date_or_date_time)
|
631
|
+
assert result == expected
|
632
|
+
|
633
|
+
|
611
634
|
class TestToPyTimeDelta:
|
612
635
|
@mark.parametrize(
|
613
636
|
("delta", "expected"),
|
@@ -618,10 +641,14 @@ class TestToPyTimeDelta:
|
|
618
641
|
DateTimeDelta(days=1, microseconds=1),
|
619
642
|
dt.timedelta(days=1, microseconds=1),
|
620
643
|
),
|
644
|
+
param(None, None),
|
621
645
|
],
|
622
646
|
)
|
623
647
|
def test_main(
|
624
|
-
self,
|
648
|
+
self,
|
649
|
+
*,
|
650
|
+
delta: DateDelta | TimeDelta | DateTimeDelta | None,
|
651
|
+
expected: dt.timedelta | None,
|
625
652
|
) -> None:
|
626
653
|
result = to_py_time_delta(delta)
|
627
654
|
assert result == expected
|
@@ -636,7 +636,39 @@ class ToNanosError(Exception):
|
|
636
636
|
##
|
637
637
|
|
638
638
|
|
639
|
-
|
639
|
+
@overload
|
640
|
+
def to_py_date_or_date_time(date_or_date_time: Date, /) -> dt.date: ...
|
641
|
+
@overload
|
642
|
+
def to_py_date_or_date_time(date_or_date_time: ZonedDateTime, /) -> dt.datetime: ...
|
643
|
+
@overload
|
644
|
+
def to_py_date_or_date_time(date_or_date_time: None, /) -> None: ...
|
645
|
+
def to_py_date_or_date_time(
|
646
|
+
date_or_date_time: Date | ZonedDateTime | None, /
|
647
|
+
) -> dt.date | None:
|
648
|
+
"""Convert a Date or ZonedDateTime into a standard library equivalent."""
|
649
|
+
match date_or_date_time:
|
650
|
+
case Date() as date:
|
651
|
+
return date.py_date()
|
652
|
+
case ZonedDateTime() as date_time:
|
653
|
+
return date_time.py_datetime()
|
654
|
+
case None:
|
655
|
+
return None
|
656
|
+
case _ as never:
|
657
|
+
assert_never(never)
|
658
|
+
|
659
|
+
|
660
|
+
##
|
661
|
+
|
662
|
+
|
663
|
+
@overload
|
664
|
+
def to_py_time_delta(
|
665
|
+
delta: DateDelta | TimeDelta | DateTimeDelta, /
|
666
|
+
) -> dt.timedelta: ...
|
667
|
+
@overload
|
668
|
+
def to_py_time_delta(delta: None, /) -> None: ...
|
669
|
+
def to_py_time_delta(
|
670
|
+
delta: DateDelta | TimeDelta | DateTimeDelta | None, /
|
671
|
+
) -> dt.timedelta | None:
|
640
672
|
"""Try convert a DateDelta to a standard library timedelta."""
|
641
673
|
match delta:
|
642
674
|
case DateDelta():
|
@@ -651,6 +683,8 @@ def to_py_time_delta(delta: DateDelta | TimeDelta | DateTimeDelta, /) -> dt.time
|
|
651
683
|
return to_py_time_delta(delta.date_part()) + to_py_time_delta(
|
652
684
|
delta.time_part()
|
653
685
|
)
|
686
|
+
case None:
|
687
|
+
return None
|
654
688
|
case _ as never:
|
655
689
|
assert_never(never)
|
656
690
|
|
@@ -888,6 +922,7 @@ __all__ = [
|
|
888
922
|
"to_local_plain",
|
889
923
|
"to_months",
|
890
924
|
"to_nanos",
|
925
|
+
"to_py_date_or_date_time",
|
891
926
|
"to_py_time_delta",
|
892
927
|
"to_zoned_date_time",
|
893
928
|
"two_digit_year_month",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_with/outer_1.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/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.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/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
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio_classes/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_asyncio_classes/loopers.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
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/tests/test_typing_funcs/no_future.py
RENAMED
File without changes
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/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
|
{dycw_utilities-0.138.15 → dycw_utilities-0.138.16}/src/utilities/pytest_regressions_plugin.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
|