dycw-utilities 0.146.7__tar.gz → 0.146.9__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.146.7 → dycw_utilities-0.146.9}/PKG-INFO +1 -1
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/pyproject.toml +2 -2
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_whenever.py +0 -16
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pottery.py +3 -1
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/whenever.py +2 -27
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/.gitignore +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/LICENSE +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/README.md +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_aiolimiter.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/aiolimiter.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/click.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/http.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/json.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/math.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/os.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/period.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/random.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/re.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/string.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/text.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/types.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/version.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/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.146.
|
109
|
+
version = "0.146.9"
|
110
110
|
|
111
111
|
[project.entry-points.pytest11]
|
112
112
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -139,7 +139,7 @@ test = [
|
|
139
139
|
# bump-my-version
|
140
140
|
[tool.bumpversion]
|
141
141
|
allow_dirty = true
|
142
|
-
current_version = "0.146.
|
142
|
+
current_version = "0.146.9"
|
143
143
|
|
144
144
|
[[tool.bumpversion.files]]
|
145
145
|
filename = "src/utilities/__init__.py"
|
@@ -65,8 +65,6 @@ from utilities.whenever import (
|
|
65
65
|
ToNanosecondsError,
|
66
66
|
ToPyTimeDeltaError,
|
67
67
|
WheneverLogRecord,
|
68
|
-
_MinMaxDateMaxDateError,
|
69
|
-
_MinMaxDateMinDateError,
|
70
68
|
_MinMaxDatePeriodError,
|
71
69
|
_RoundDateOrDateTimeDateTimeIntraDayWithWeekdayError,
|
72
70
|
_RoundDateOrDateTimeDateWithIntradayDeltaError,
|
@@ -464,20 +462,6 @@ class TestMinMaxDate:
|
|
464
462
|
if (min_date_use is not None) and (max_date_use is not None):
|
465
463
|
assert min_date_use <= max_date_use
|
466
464
|
|
467
|
-
@given(date=dates(min_value=TODAY_UTC + DAY))
|
468
|
-
def test_error_min_date(self, *, date: Date) -> None:
|
469
|
-
with raises(
|
470
|
-
_MinMaxDateMinDateError, match="Min date must be at most today; got .* > .*"
|
471
|
-
):
|
472
|
-
_ = min_max_date(min_date=date)
|
473
|
-
|
474
|
-
@given(date=dates(min_value=TODAY_UTC + DAY))
|
475
|
-
def test_error_max_date(self, *, date: Date) -> None:
|
476
|
-
with raises(
|
477
|
-
_MinMaxDateMaxDateError, match="Max date must be at most today; got .* > .*"
|
478
|
-
):
|
479
|
-
_ = min_max_date(max_date=date)
|
480
|
-
|
481
465
|
@given(dates=pairs(dates(max_value=TODAY_UTC), unique=True, sorted=True))
|
482
466
|
def test_error_period(self, *, dates: tuple[Date, Date]) -> None:
|
483
467
|
with raises(
|
@@ -109,7 +109,9 @@ class CoroutineLooper:
|
|
109
109
|
message="coroutine '.*' was never awaited", category=RuntimeWarning
|
110
110
|
):
|
111
111
|
del coro
|
112
|
-
get_logger(logger=self.logger).error(
|
112
|
+
get_logger(logger=self.logger).error(
|
113
|
+
"Error running %r", name, exc_info=True
|
114
|
+
)
|
113
115
|
|
114
116
|
|
115
117
|
##
|
@@ -316,20 +316,16 @@ def min_max_date(
|
|
316
316
|
max_age: DateDelta | None = None,
|
317
317
|
time_zone: TimeZoneLike = UTC,
|
318
318
|
) -> tuple[Date | None, Date | None]:
|
319
|
-
"""
|
319
|
+
"""Compute the min/max date given a combination of dates/ages."""
|
320
320
|
today = get_today(time_zone=time_zone)
|
321
321
|
min_parts: list[Date] = []
|
322
322
|
if min_date is not None:
|
323
|
-
if min_date > today:
|
324
|
-
raise _MinMaxDateMinDateError(min_date=min_date, today=today)
|
325
323
|
min_parts.append(min_date)
|
326
324
|
if max_age is not None:
|
327
325
|
min_parts.append(today - max_age)
|
328
326
|
min_date_use = max(min_parts, default=None)
|
329
327
|
max_parts: list[Date] = []
|
330
328
|
if max_date is not None:
|
331
|
-
if max_date > today:
|
332
|
-
raise _MinMaxDateMaxDateError(max_date=max_date, today=today)
|
333
329
|
max_parts.append(max_date)
|
334
330
|
if min_age is not None:
|
335
331
|
max_parts.append(today - min_age)
|
@@ -344,34 +340,13 @@ def min_max_date(
|
|
344
340
|
|
345
341
|
|
346
342
|
@dataclass(kw_only=True, slots=True)
|
347
|
-
class MinMaxDateError(Exception):
|
348
|
-
|
349
|
-
|
350
|
-
@dataclass(kw_only=True, slots=True)
|
351
|
-
class _MinMaxDateMinDateError(MinMaxDateError):
|
343
|
+
class MinMaxDateError(Exception):
|
352
344
|
min_date: Date
|
353
|
-
today: Date
|
354
|
-
|
355
|
-
@override
|
356
|
-
def __str__(self) -> str:
|
357
|
-
return f"Min date must be at most today; got {self.min_date} > {self.today}"
|
358
|
-
|
359
|
-
|
360
|
-
@dataclass(kw_only=True, slots=True)
|
361
|
-
class _MinMaxDateMaxDateError(MinMaxDateError):
|
362
345
|
max_date: Date
|
363
|
-
today: Date
|
364
|
-
|
365
|
-
@override
|
366
|
-
def __str__(self) -> str:
|
367
|
-
return f"Max date must be at most today; got {self.max_date} > {self.today}"
|
368
346
|
|
369
347
|
|
370
348
|
@dataclass(kw_only=True, slots=True)
|
371
349
|
class _MinMaxDatePeriodError(MinMaxDateError):
|
372
|
-
min_date: Date
|
373
|
-
max_date: Date
|
374
|
-
|
375
350
|
@override
|
376
351
|
def __str__(self) -> str:
|
377
352
|
return (
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/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
|
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.146.7 → dycw_utilities-0.146.9}/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
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
File without changes
|
{dycw_utilities-0.146.7 → dycw_utilities-0.146.9}/src/utilities/pytest_plugins/pytest_regressions.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
|