dycw-utilities 0.116.3__tar.gz → 0.116.4__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.116.3 → dycw_utilities-0.116.4}/PKG-INFO +1 -1
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/pyproject.toml +2 -2
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_cryptography.py +4 -1
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/cryptography.py +13 -3
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/.gitignore +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/LICENSE +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/README.md +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/__main__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/run.sh +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/__main__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/run.sh +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_astor.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_datetime.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_loguru.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_luigi.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pyrsistent.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_rich.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_statsmodel.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_sys.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_tenacity.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/chain.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/decorated_async.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/decorated_sync.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/error_bind.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/many.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/one.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/recursive.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/task_group_one.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/task_group_two.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/two.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/untraced.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/astor.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/click.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/datetime.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/git.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/http.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/loguru.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/luigi.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/math.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/os.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/period.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pyrsistent.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/random.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/re.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/rich.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/sys.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/tenacity.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/text.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/types.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/version.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/utilities/zoneinfo.py +0 -0
@@ -92,7 +92,7 @@ dependencies = [
|
|
92
92
|
name = "dycw-utilities"
|
93
93
|
readme = "README.md"
|
94
94
|
requires-python = ">= 3.12"
|
95
|
-
version = "0.116.
|
95
|
+
version = "0.116.4"
|
96
96
|
|
97
97
|
[project.optional-dependencies]
|
98
98
|
test = [
|
@@ -334,7 +334,7 @@ zzz-test-zoneinfo = [
|
|
334
334
|
# bump-my-version
|
335
335
|
[tool.bumpversion]
|
336
336
|
allow_dirty = true
|
337
|
-
current_version = "0.116.
|
337
|
+
current_version = "0.116.4"
|
338
338
|
|
339
339
|
[[tool.bumpversion.files]]
|
340
340
|
filename = "src/utilities/__init__.py"
|
@@ -31,5 +31,8 @@ class TestGetFernet:
|
|
31
31
|
assert isinstance(fernet, Fernet)
|
32
32
|
|
33
33
|
def test_error(self) -> None:
|
34
|
-
with
|
34
|
+
with (
|
35
|
+
temp_environ({_ENV_VAR: None}),
|
36
|
+
raises(GetFernetError, match="Environment variable 'FERNET_KEY' is None"),
|
37
|
+
):
|
35
38
|
_ = get_fernet()
|
@@ -1,6 +1,8 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
from dataclasses import dataclass
|
3
4
|
from os import getenv
|
5
|
+
from typing import override
|
4
6
|
|
5
7
|
from cryptography.fernet import Fernet
|
6
8
|
|
@@ -17,15 +19,23 @@ def decrypt(text: bytes, /, *, env_var: str = _ENV_VAR) -> str:
|
|
17
19
|
return get_fernet(env_var=env_var).decrypt(text).decode()
|
18
20
|
|
19
21
|
|
22
|
+
##
|
23
|
+
|
24
|
+
|
20
25
|
def get_fernet(*, env_var: str = _ENV_VAR) -> Fernet:
|
21
26
|
"""Get the Fernet key."""
|
22
27
|
if (key := getenv(env_var)) is None:
|
23
|
-
|
24
|
-
raise GetFernetError(msg)
|
28
|
+
raise GetFernetError(env_var=env_var)
|
25
29
|
return Fernet(key.encode())
|
26
30
|
|
27
31
|
|
28
|
-
|
32
|
+
@dataclass(kw_only=True, slots=True)
|
33
|
+
class GetFernetError(Exception):
|
34
|
+
env_var: str
|
35
|
+
|
36
|
+
@override
|
37
|
+
def __str__(self) -> str:
|
38
|
+
return f"Environment variable {self.env_var!r} is None"
|
29
39
|
|
30
40
|
|
31
41
|
__all__ = ["GetFernetError", "decrypt", "encrypt", "get_fernet"]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/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.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/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
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/__main__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_async_service/run.sh
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/__main__.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/scripts/test_queue_processor/run.sh
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
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/__init__.py
RENAMED
File without changes
|
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/decorated_async.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/decorated_sync.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/error_bind.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/recursive.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/task_group_one.py
RENAMED
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/task_group_two.py
RENAMED
File without changes
|
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_traceback_funcs/untraced.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.116.3 → dycw_utilities-0.116.4}/src/tests/test_typing_funcs/with_future.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|