dycw-utilities 0.168.1__tar.gz → 0.168.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of dycw-utilities might be problematic. Click here for more details.
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/PKG-INFO +1 -1
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/pyproject.toml +2 -2
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_logging.py +2 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pydantic_settings.py +19 -4
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pydantic_settings.py +12 -1
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/.gitignore +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/LICENSE +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/README.md +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_aeventkit.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_docker.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_jinja2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_testbook.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/aeventkit.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/click.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/docker.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/git.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/http.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/jinja2.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/json.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/math.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/os.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/random.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/re.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/string.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/testbook.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/text.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/types.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/version.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/zoneinfo.py +0 -0
|
@@ -249,7 +249,7 @@ dependencies = [
|
|
|
249
249
|
name = "dycw-utilities"
|
|
250
250
|
readme = "README.md"
|
|
251
251
|
requires-python = ">= 3.12"
|
|
252
|
-
version = "0.168.
|
|
252
|
+
version = "0.168.2"
|
|
253
253
|
|
|
254
254
|
[project.entry-points.pytest11]
|
|
255
255
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
|
@@ -282,7 +282,7 @@ test = [
|
|
|
282
282
|
# bump-my-version
|
|
283
283
|
[tool.bumpversion]
|
|
284
284
|
allow_dirty = true
|
|
285
|
-
current_version = "0.168.
|
|
285
|
+
current_version = "0.168.2"
|
|
286
286
|
|
|
287
287
|
[[tool.bumpversion.files]]
|
|
288
288
|
filename = "src/utilities/__init__.py"
|
|
@@ -449,10 +449,12 @@ class TestSizeAndTimeRotatingFileHandler:
|
|
|
449
449
|
)
|
|
450
450
|
)
|
|
451
451
|
|
|
452
|
+
await sleep(0.1)
|
|
452
453
|
files = list(tmp_path.iterdir())
|
|
453
454
|
assert len(files) == 1
|
|
454
455
|
assert any(p for p in files if search(r"^log\.txt$", p.name))
|
|
455
456
|
|
|
457
|
+
await sleep(0.1)
|
|
456
458
|
logger.warning("message 1")
|
|
457
459
|
files = list(tmp_path.iterdir())
|
|
458
460
|
assert len(files) == 1
|
|
@@ -6,10 +6,12 @@ from typing import TYPE_CHECKING, ClassVar
|
|
|
6
6
|
import tomlkit
|
|
7
7
|
import yaml
|
|
8
8
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
9
|
+
from pytest import mark, param
|
|
9
10
|
|
|
10
11
|
from utilities.os import temp_environ
|
|
11
12
|
from utilities.pydantic_settings import (
|
|
12
13
|
CustomBaseSettings,
|
|
14
|
+
HashableBaseSettings,
|
|
13
15
|
PathLikeOrWithSection,
|
|
14
16
|
load_settings,
|
|
15
17
|
)
|
|
@@ -101,11 +103,12 @@ class TestCustomBaseSettings:
|
|
|
101
103
|
settings = load_settings(Settings)
|
|
102
104
|
assert settings.x == 1
|
|
103
105
|
|
|
104
|
-
|
|
106
|
+
@mark.parametrize("inner_cls", [param(BaseSettings), param(HashableBaseSettings)])
|
|
107
|
+
def test_env_var_with_nested(self, *, inner_cls: type[BaseSettings]) -> None:
|
|
105
108
|
class Settings(CustomBaseSettings):
|
|
106
109
|
inner: Inner
|
|
107
110
|
|
|
108
|
-
class Inner(
|
|
111
|
+
class Inner(inner_cls):
|
|
109
112
|
x: int
|
|
110
113
|
|
|
111
114
|
_ = Settings.model_rebuild()
|
|
@@ -114,12 +117,15 @@ class TestCustomBaseSettings:
|
|
|
114
117
|
settings = load_settings(Settings)
|
|
115
118
|
assert settings.inner.x == 1
|
|
116
119
|
|
|
117
|
-
|
|
120
|
+
@mark.parametrize("inner_cls", [param(BaseSettings), param(HashableBaseSettings)])
|
|
121
|
+
def test_env_var_with_prefix_and_nested(
|
|
122
|
+
self, *, inner_cls: type[BaseSettings]
|
|
123
|
+
) -> None:
|
|
118
124
|
class Settings(CustomBaseSettings):
|
|
119
125
|
model_config = SettingsConfigDict(env_prefix="test__")
|
|
120
126
|
inner: Inner
|
|
121
127
|
|
|
122
|
-
class Inner(
|
|
128
|
+
class Inner(inner_cls):
|
|
123
129
|
x: int
|
|
124
130
|
|
|
125
131
|
_ = Settings.model_rebuild()
|
|
@@ -131,3 +137,12 @@ class TestCustomBaseSettings:
|
|
|
131
137
|
class Settings(CustomBaseSettings): ...
|
|
132
138
|
|
|
133
139
|
_ = load_settings(Settings)
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class TestHashableBaseSettings:
|
|
143
|
+
def test_hashable(self) -> None:
|
|
144
|
+
class Settings(HashableBaseSettings):
|
|
145
|
+
x: int = 1
|
|
146
|
+
|
|
147
|
+
settings = load_settings(Settings)
|
|
148
|
+
_ = hash(settings)
|
|
@@ -29,7 +29,7 @@ type PathLikeOrWithSection = PathLike | PathLikeWithSection
|
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class CustomBaseSettings(BaseSettings):
|
|
32
|
-
"""Base settings for loading JSON files."""
|
|
32
|
+
"""Base settings for loading JSON/TOML/YAML files."""
|
|
33
33
|
|
|
34
34
|
# paths
|
|
35
35
|
json_files: ClassVar[Sequence[PathLikeOrWithSection]] = []
|
|
@@ -158,8 +158,19 @@ def _get_section(
|
|
|
158
158
|
return reduce(lambda acc, el: acc.get(el, {}), always_iterable(section), mapping)
|
|
159
159
|
|
|
160
160
|
|
|
161
|
+
##
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class HashableBaseSettings(BaseSettings):
|
|
165
|
+
"""Base settings for loading JSON files."""
|
|
166
|
+
|
|
167
|
+
# config
|
|
168
|
+
model_config: ClassVar[SettingsConfigDict] = SettingsConfigDict(frozen=True)
|
|
169
|
+
|
|
170
|
+
|
|
161
171
|
__all__ = [
|
|
162
172
|
"CustomBaseSettings",
|
|
173
|
+
"HashableBaseSettings",
|
|
163
174
|
"JsonConfigSectionSettingsSource",
|
|
164
175
|
"TomlConfigSectionSettingsSource",
|
|
165
176
|
"YamlConfigSectionSettingsSource",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_missing/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_missing/module.py
RENAMED
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/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.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_without/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/tests/modules/package_without/module_1.py
RENAMED
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/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
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/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
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
|
File without changes
|
{dycw_utilities-0.168.1 → dycw_utilities-0.168.2}/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
|