dycw-utilities 0.166.14__tar.gz → 0.166.15__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.166.14 → dycw_utilities-0.166.15}/PKG-INFO +1 -1
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/pyproject.toml +7 -3
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pydantic_settings.py +28 -6
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pydantic_settings.py +8 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/.gitignore +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/LICENSE +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/README.md +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_aeventkit.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_testbook.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/aeventkit.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/click.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/git.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/http.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/json.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/math.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/os.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/random.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/re.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/string.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/testbook.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/text.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/types.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/version.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/zoneinfo.py +0 -0
@@ -103,7 +103,7 @@ memory-profiler = [
|
|
103
103
|
"memory-profiler >=0.61.0, <0.62",
|
104
104
|
]
|
105
105
|
more-itertools = [
|
106
|
-
"more-itertools >=10.
|
106
|
+
"more-itertools >=10.8.0, <10.9",
|
107
107
|
]
|
108
108
|
numpy = [
|
109
109
|
"numpy >=2.3.1, <2.4",
|
@@ -152,6 +152,10 @@ pydantic-settings = [
|
|
152
152
|
pydantic-settings-sops = [
|
153
153
|
"pydantic-settings-sops",
|
154
154
|
]
|
155
|
+
pydantic-settings-test = [
|
156
|
+
"pyyaml",
|
157
|
+
"tomlkit",
|
158
|
+
]
|
155
159
|
pyinstrument = [
|
156
160
|
"pyinstrument >=5.1.0, <5.2",
|
157
161
|
]
|
@@ -242,7 +246,7 @@ dependencies = [
|
|
242
246
|
name = "dycw-utilities"
|
243
247
|
readme = "README.md"
|
244
248
|
requires-python = ">= 3.12"
|
245
|
-
version = "0.166.
|
249
|
+
version = "0.166.15"
|
246
250
|
|
247
251
|
[project.entry-points.pytest11]
|
248
252
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -275,7 +279,7 @@ test = [
|
|
275
279
|
# bump-my-version
|
276
280
|
[tool.bumpversion]
|
277
281
|
allow_dirty = true
|
278
|
-
current_version = "0.166.
|
282
|
+
current_version = "0.166.15"
|
279
283
|
|
280
284
|
[[tool.bumpversion.files]]
|
281
285
|
filename = "src/utilities/__init__.py"
|
@@ -1,8 +1,10 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
|
3
|
+
import json
|
4
4
|
from typing import TYPE_CHECKING, ClassVar
|
5
5
|
|
6
|
+
import tomlkit
|
7
|
+
import yaml
|
6
8
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
7
9
|
|
8
10
|
from utilities.os import temp_environ
|
@@ -15,18 +17,38 @@ if TYPE_CHECKING:
|
|
15
17
|
|
16
18
|
|
17
19
|
class TestCustomBaseSettings:
|
18
|
-
def
|
19
|
-
file = tmp_path.joinpath("settings.
|
20
|
-
_ = file.write_text(dumps({"x": 1
|
20
|
+
def test_json(self, *, tmp_path: Path) -> None:
|
21
|
+
file = tmp_path.joinpath("settings.json")
|
22
|
+
_ = file.write_text(json.dumps({"x": 1}))
|
21
23
|
|
22
24
|
class Settings(CustomBaseSettings):
|
23
25
|
json_files: ClassVar[MaybeIterable[PathLike]] = file
|
24
26
|
x: int
|
25
|
-
y: int
|
26
27
|
|
27
28
|
settings = load_settings(Settings)
|
28
29
|
assert settings.x == 1
|
29
|
-
|
30
|
+
|
31
|
+
def test_toml(self, *, tmp_path: Path) -> None:
|
32
|
+
file = tmp_path.joinpath("settings.toml")
|
33
|
+
_ = file.write_text(tomlkit.dumps({"x": 1}))
|
34
|
+
|
35
|
+
class Settings(CustomBaseSettings):
|
36
|
+
toml_files: ClassVar[MaybeIterable[PathLike]] = file
|
37
|
+
x: int
|
38
|
+
|
39
|
+
settings = load_settings(Settings)
|
40
|
+
assert settings.x == 1
|
41
|
+
|
42
|
+
def test_yaml(self, *, tmp_path: Path) -> None:
|
43
|
+
file = tmp_path.joinpath("settings.yaml")
|
44
|
+
_ = file.write_text(yaml.dump({"x": 1}))
|
45
|
+
|
46
|
+
class Settings(CustomBaseSettings):
|
47
|
+
yaml_files: ClassVar[MaybeIterable[PathLike]] = file
|
48
|
+
x: int
|
49
|
+
|
50
|
+
settings = load_settings(Settings)
|
51
|
+
assert settings.x == 1
|
30
52
|
|
31
53
|
def test_env_var(self) -> None:
|
32
54
|
class Settings(CustomBaseSettings):
|
@@ -7,6 +7,8 @@ from pydantic_settings import (
|
|
7
7
|
JsonConfigSettingsSource,
|
8
8
|
PydanticBaseSettingsSource,
|
9
9
|
SettingsConfigDict,
|
10
|
+
TomlConfigSettingsSource,
|
11
|
+
YamlConfigSettingsSource,
|
10
12
|
)
|
11
13
|
|
12
14
|
from utilities.iterables import always_iterable
|
@@ -22,6 +24,8 @@ class CustomBaseSettings(BaseSettings):
|
|
22
24
|
|
23
25
|
# paths
|
24
26
|
json_files: ClassVar[MaybeIterable[PathLike]] = ()
|
27
|
+
toml_files: ClassVar[MaybeIterable[PathLike]] = ()
|
28
|
+
yaml_files: ClassVar[MaybeIterable[PathLike]] = ()
|
25
29
|
|
26
30
|
# config
|
27
31
|
model_config: ClassVar[SettingsConfigDict] = SettingsConfigDict(
|
@@ -51,6 +55,10 @@ class CustomBaseSettings(BaseSettings):
|
|
51
55
|
yield env_settings
|
52
56
|
for file in always_iterable(cls.json_files):
|
53
57
|
yield JsonConfigSettingsSource(settings_cls, json_file=file)
|
58
|
+
for file in always_iterable(cls.toml_files):
|
59
|
+
yield TomlConfigSettingsSource(settings_cls, toml_file=file)
|
60
|
+
for file in always_iterable(cls.yaml_files):
|
61
|
+
yield YamlConfigSettingsSource(settings_cls, yaml_file=file)
|
54
62
|
|
55
63
|
|
56
64
|
def load_settings[T: BaseSettings](cls: type[T], /) -> T:
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_with/outer_1.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/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.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/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
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_pydantic_settings_sops.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
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/tests/test_typing_funcs/no_future.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/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.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_plugins/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.166.14 → dycw_utilities-0.166.15}/src/utilities/pytest_plugins/pytest_randomly.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
|