dycw-utilities 0.149.5__tar.gz → 0.149.7__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.149.5 → dycw_utilities-0.149.7}/PKG-INFO +1 -1
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/pyproject.toml +4 -3
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/conftest.py +3 -1
- dycw_utilities-0.149.7/src/tests/test_dnspython.py +14 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/__init__.py +1 -1
- dycw_utilities-0.149.7/src/utilities/dnspython.py +17 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/tempfile.py +26 -3
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/.gitignore +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/LICENSE +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/README.md +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_yield_access/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_yield_access/script.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_yield_access/script.sh +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/click.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/http.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/json.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/math.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/os.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/period.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/random.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/re.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/string.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/text.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/types.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/version.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/utilities/zoneinfo.py +0 -0
@@ -34,6 +34,7 @@ dev = [
|
|
34
34
|
"pytest-cov >= 6.2.1, < 6.3",
|
35
35
|
"pytest-timeout >= 2.4.0, < 2.5",
|
36
36
|
]
|
37
|
+
dnspython = ["dnspython >= 2.7.0, < 2.8"]
|
37
38
|
eventkit = ["eventkit >= 1.0.3, < 1.1"]
|
38
39
|
fastapi = ["fastapi >= 0.116.0, < 0.117"]
|
39
40
|
fastapi-test = ["httpx", "uvicorn"]
|
@@ -102,7 +103,7 @@ dependencies = [
|
|
102
103
|
name = "dycw-utilities"
|
103
104
|
readme = "README.md"
|
104
105
|
requires-python = ">= 3.12"
|
105
|
-
version = "0.149.
|
106
|
+
version = "0.149.7"
|
106
107
|
|
107
108
|
[project.entry-points.pytest11]
|
108
109
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -135,7 +136,7 @@ test = [
|
|
135
136
|
# bump-my-version
|
136
137
|
[tool.bumpversion]
|
137
138
|
allow_dirty = true
|
138
|
-
current_version = "0.149.
|
139
|
+
current_version = "0.149.7"
|
139
140
|
|
140
141
|
[[tool.bumpversion.files]]
|
141
142
|
filename = "src/utilities/__init__.py"
|
@@ -147,6 +148,7 @@ search = "__version__ = \"{current_version}\""
|
|
147
148
|
|
148
149
|
[tool.coverage.coverage_conditional_plugin.rules]
|
149
150
|
skipif-ci = '"CI" in os_environ'
|
151
|
+
skipif-ci-and-mac = '("CI" in os_environ) and (sys_platform == "darwin")'
|
150
152
|
skipif-ci-and-not-linux = '("CI" in os_environ) and (sys_platform != "linux")'
|
151
153
|
skipif-ci-and-not-windows = '("CI" in os_environ) and (sys_platform != "windows")'
|
152
154
|
skipif-ci-and-windows = '("CI" in os_environ) and (sys_platform != "windows")'
|
@@ -248,7 +250,6 @@ filterwarnings = [
|
|
248
250
|
"error",
|
249
251
|
"ignore:Exception ignored in.* <coroutine object .* at .*>:pytest.PytestUnraisableExceptionWarning",
|
250
252
|
"ignore:Exception in thread Thread-.*:pytest.PytestUnhandledThreadExceptionWarning",
|
251
|
-
"ignore:Implicitly cleaning up <TemporaryDirectory '.*'>:ResourceWarning",
|
252
253
|
"ignore:ResourceTracker called reentrantly for resource cleanup, which is unsupported:UserWarning",
|
253
254
|
"ignore:The garbage collector is trying to clean up non-checked-in connection <AdaptedConnection <Connection(.*)>:RuntimeWarning", # sqlalchemy
|
254
255
|
"ignore:There is no current event loop:DeprecationWarning", # eventkit
|
@@ -11,7 +11,7 @@ from pytest import fixture, mark, param, skip
|
|
11
11
|
from whenever import PlainDateTime
|
12
12
|
|
13
13
|
from utilities.contextlib import enhanced_context_manager
|
14
|
-
from utilities.platform import IS_NOT_LINUX, IS_WINDOWS
|
14
|
+
from utilities.platform import IS_MAC, IS_NOT_LINUX, IS_WINDOWS
|
15
15
|
from utilities.re import ExtractGroupError, extract_group
|
16
16
|
from utilities.tzlocal import LOCAL_TIME_ZONE_NAME
|
17
17
|
from utilities.whenever import MINUTE, get_now
|
@@ -29,10 +29,12 @@ IS_CI = "CI" in environ
|
|
29
29
|
SKIPIF_CI = mark.skipif(IS_CI, reason="Skipped for CI")
|
30
30
|
IS_CI_AND_NOT_LINUX = IS_CI and IS_NOT_LINUX
|
31
31
|
IS_CI_AND_WINDOWS = IS_CI and IS_WINDOWS
|
32
|
+
IS_CI_AND_MAC = IS_CI and IS_MAC
|
32
33
|
SKIPIF_CI_AND_NOT_LINUX = mark.skipif(
|
33
34
|
IS_CI_AND_NOT_LINUX, reason="Skipped for CI/non-Linux"
|
34
35
|
)
|
35
36
|
SKIPIF_CI_AND_WINDOWS = mark.skipif(IS_CI_AND_WINDOWS, reason="Skipped for CI/Windows")
|
37
|
+
SKIPIF_CI_AND_MAC = mark.skipif(IS_CI_AND_MAC, reason="Skipped for CI/Mac")
|
36
38
|
|
37
39
|
|
38
40
|
# hypothesis
|
@@ -0,0 +1,14 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from ipaddress import IPv4Address
|
4
|
+
|
5
|
+
from tests.conftest import SKIPIF_CI_AND_MAC
|
6
|
+
from utilities.dnspython import nslookup
|
7
|
+
|
8
|
+
|
9
|
+
class TestNSLookup:
|
10
|
+
@SKIPIF_CI_AND_MAC
|
11
|
+
def test_main(self) -> None:
|
12
|
+
result = nslookup("localhost")
|
13
|
+
expected = [IPv4Address("127.0.0.1")]
|
14
|
+
assert result == expected
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from ipaddress import IPv4Address
|
4
|
+
|
5
|
+
from dns.resolver import resolve
|
6
|
+
|
7
|
+
from utilities.functools import cache
|
8
|
+
|
9
|
+
|
10
|
+
@cache
|
11
|
+
def nslookup(address: str, /) -> list[IPv4Address]:
|
12
|
+
"""Look up a set of addresses."""
|
13
|
+
ans = resolve(address) # skipif-ci-and-mac
|
14
|
+
return [IPv4Address(str(rd)) for rd in ans] # skipif-ci-and-mac
|
15
|
+
|
16
|
+
|
17
|
+
__all__ = ["nslookup"]
|
@@ -1,9 +1,11 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import tempfile
|
3
4
|
from pathlib import Path
|
4
|
-
from tempfile import TemporaryDirectory as _TemporaryDirectory
|
5
5
|
from tempfile import gettempdir as _gettempdir
|
6
|
-
from typing import TYPE_CHECKING
|
6
|
+
from typing import TYPE_CHECKING, override
|
7
|
+
|
8
|
+
from utilities.warnings import suppress_warnings
|
7
9
|
|
8
10
|
if TYPE_CHECKING:
|
9
11
|
from types import TracebackType
|
@@ -21,13 +23,15 @@ class TemporaryDirectory:
|
|
21
23
|
prefix: str | None = None,
|
22
24
|
dir: PathLike | None = None, # noqa: A002
|
23
25
|
ignore_cleanup_errors: bool = False,
|
26
|
+
delete: bool = True,
|
24
27
|
) -> None:
|
25
28
|
super().__init__()
|
26
|
-
self._temp_dir =
|
29
|
+
self._temp_dir = _TemporaryDirectoryNoResourceWarning(
|
27
30
|
suffix=suffix,
|
28
31
|
prefix=prefix,
|
29
32
|
dir=dir,
|
30
33
|
ignore_cleanup_errors=ignore_cleanup_errors,
|
34
|
+
delete=delete,
|
31
35
|
)
|
32
36
|
self.path = Path(self._temp_dir.name)
|
33
37
|
|
@@ -43,6 +47,25 @@ class TemporaryDirectory:
|
|
43
47
|
self._temp_dir.__exit__(exc, val, tb)
|
44
48
|
|
45
49
|
|
50
|
+
class _TemporaryDirectoryNoResourceWarning(tempfile.TemporaryDirectory):
|
51
|
+
@classmethod
|
52
|
+
@override
|
53
|
+
def _cleanup( # pyright: ignore[reportGeneralTypeIssues]
|
54
|
+
cls,
|
55
|
+
name: str,
|
56
|
+
warn_message: str,
|
57
|
+
ignore_errors: bool = False,
|
58
|
+
delete: bool = True,
|
59
|
+
) -> None:
|
60
|
+
with suppress_warnings(category=ResourceWarning):
|
61
|
+
return super()._cleanup( # pyright: ignore[reportAttributeAccessIssue]
|
62
|
+
name, warn_message, ignore_errors=ignore_errors, delete=delete
|
63
|
+
)
|
64
|
+
|
65
|
+
|
66
|
+
##
|
67
|
+
|
68
|
+
|
46
69
|
def gettempdir() -> Path:
|
47
70
|
"""Get the name of the directory used for temporary files."""
|
48
71
|
return Path(_gettempdir())
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/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.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/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
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/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.149.5 → dycw_utilities-0.149.7}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
File without changes
|
{dycw_utilities-0.149.5 → dycw_utilities-0.149.7}/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
|