dycw-utilities 0.162.3__tar.gz → 0.162.5__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.162.3 → dycw_utilities-0.162.5}/PKG-INFO +4 -3
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/pyproject.toml +10 -6
- dycw_utilities-0.162.5/src/tests/test_testbook.py +22 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/hypothesis.py +1 -1
- dycw_utilities-0.162.5/src/utilities/testbook.py +46 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/.gitignore +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/LICENSE +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/README.md +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_aeventkit.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/aeventkit.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/click.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/http.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/json.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/math.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/os.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/random.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/re.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/string.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/text.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/types.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/version.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/zoneinfo.py +0 -0
@@ -1,13 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: dycw-utilities
|
3
|
-
Version: 0.162.
|
3
|
+
Version: 0.162.5
|
4
4
|
Author-email: Derek Wan <d.wan@icloud.com>
|
5
5
|
License-File: LICENSE
|
6
6
|
Requires-Python: >=3.12
|
7
7
|
Requires-Dist: atomicwrites<1.5,>=1.4.1
|
8
8
|
Requires-Dist: typing-extensions<4.15,>=4.14.0
|
9
9
|
Requires-Dist: tzlocal<5.4,>=5.3.1
|
10
|
-
Requires-Dist: whenever<0.9,>=0.8.
|
10
|
+
Requires-Dist: whenever<0.9,>=0.8.8
|
11
11
|
Provides-Extra: logging
|
12
12
|
Requires-Dist: coloredlogs<15.1,>=15.0.1; extra == 'logging'
|
13
13
|
Provides-Extra: test
|
@@ -16,7 +16,7 @@ Requires-Dist: hypothesis<6.139,>=6.138.2; extra == 'test'
|
|
16
16
|
Requires-Dist: pytest-asyncio<1.2,>=1.1.0; extra == 'test'
|
17
17
|
Requires-Dist: pytest-cov<6.3,>=6.2.1; extra == 'test'
|
18
18
|
Requires-Dist: pytest-instafail<0.6,>=0.5.0; extra == 'test'
|
19
|
-
Requires-Dist: pytest-lazy-fixtures<1.4,>=1.3.
|
19
|
+
Requires-Dist: pytest-lazy-fixtures<1.4,>=1.3.4; extra == 'test'
|
20
20
|
Requires-Dist: pytest-randomly<3.17,>=3.16.0; extra == 'test'
|
21
21
|
Requires-Dist: pytest-regressions<2.9,>=2.8.2; extra == 'test'
|
22
22
|
Requires-Dist: pytest-repeat<0.10,>=0.9.4; extra == 'test'
|
@@ -25,6 +25,7 @@ Requires-Dist: pytest-rng<1.1,>=1.0.0; extra == 'test'
|
|
25
25
|
Requires-Dist: pytest-timeout<2.5,>=2.4.0; extra == 'test'
|
26
26
|
Requires-Dist: pytest-xdist<3.9,>=3.8.0; extra == 'test'
|
27
27
|
Requires-Dist: pytest<8.5,>=8.4.1; extra == 'test'
|
28
|
+
Requires-Dist: testbook<0.5,>=0.4.2; extra == 'test'
|
28
29
|
Description-Content-Type: text/markdown
|
29
30
|
|
30
31
|
[](https://badge.fury.io/py/dycw-utilities)
|
@@ -31,7 +31,7 @@ core = [
|
|
31
31
|
"atomicwrites >=1.4.1, <1.5",
|
32
32
|
"typing-extensions >=4.14.1, <4.15",
|
33
33
|
"tzlocal >=5.3.1, <5.4",
|
34
|
-
"whenever >=0.8.
|
34
|
+
"whenever >=0.8.8, <0.9",
|
35
35
|
]
|
36
36
|
cryptography = [
|
37
37
|
"cryptography >=45.0.4, <45.1",
|
@@ -208,6 +208,9 @@ sqlalchemy-test = [
|
|
208
208
|
statsmodels = [
|
209
209
|
"statsmodels >=0.14.4, <0.15",
|
210
210
|
]
|
211
|
+
testbook = [
|
212
|
+
"testbook >=0.4.2, <0.5",
|
213
|
+
]
|
211
214
|
typed-settings = [
|
212
215
|
"typed-settings >=25.0.0, <25.1",
|
213
216
|
]
|
@@ -222,12 +225,12 @@ dependencies = [
|
|
222
225
|
"atomicwrites >=1.4.1, <1.5",
|
223
226
|
"typing-extensions >=4.14.0, <4.15",
|
224
227
|
"tzlocal >=5.3.1, <5.4",
|
225
|
-
"whenever >=0.8.
|
228
|
+
"whenever >=0.8.8, <0.9",
|
226
229
|
]
|
227
230
|
name = "dycw-utilities"
|
228
231
|
readme = "README.md"
|
229
232
|
requires-python = ">= 3.12"
|
230
|
-
version = "0.162.
|
233
|
+
version = "0.162.5"
|
231
234
|
|
232
235
|
[project.entry-points.pytest11]
|
233
236
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -244,7 +247,7 @@ test = [
|
|
244
247
|
"pytest-asyncio >=1.1.0, <1.2",
|
245
248
|
"pytest-cov >=6.2.1, <6.3",
|
246
249
|
"pytest-instafail >=0.5.0, <0.6",
|
247
|
-
"pytest-lazy-fixtures >=1.3.
|
250
|
+
"pytest-lazy-fixtures >=1.3.4, <1.4",
|
248
251
|
"pytest-randomly >=3.16.0, <3.17",
|
249
252
|
"pytest-regressions >=2.8.2, <2.9",
|
250
253
|
"pytest-repeat >=0.9.4, <0.10",
|
@@ -252,6 +255,7 @@ test = [
|
|
252
255
|
"pytest-rng >=1.0.0, <1.1",
|
253
256
|
"pytest-timeout >=2.4.0, <2.5",
|
254
257
|
"pytest-xdist >=3.8.0, <3.9",
|
258
|
+
"testbook >=0.4.2, <0.5",
|
255
259
|
]
|
256
260
|
|
257
261
|
[project.scripts]
|
@@ -259,7 +263,7 @@ test = [
|
|
259
263
|
# bump-my-version
|
260
264
|
[tool.bumpversion]
|
261
265
|
allow_dirty = true
|
262
|
-
current_version = "0.162.
|
266
|
+
current_version = "0.162.5"
|
263
267
|
|
264
268
|
[[tool.bumpversion.files]]
|
265
269
|
filename = "src/utilities/__init__.py"
|
@@ -373,9 +377,9 @@ filterwarnings = [
|
|
373
377
|
"error",
|
374
378
|
"ignore:Exception ignored in.* <coroutine object .* at .*>:pytest.PytestUnraisableExceptionWarning",
|
375
379
|
"ignore:Exception in thread Thread-.*:pytest.PytestUnhandledThreadExceptionWarning",
|
380
|
+
"ignore:Jupyter is migrating its paths to use standard platformdirs:DeprecationWarning", # jupyter
|
376
381
|
"ignore:ResourceTracker called reentrantly for resource cleanup, which is unsupported:UserWarning",
|
377
382
|
"ignore:The garbage collector is trying to clean up non-checked-in connection <AdaptedConnection <Connection(.*)>:RuntimeWarning", # sqlalchemy
|
378
|
-
"ignore:There is no current event loop:DeprecationWarning", # eventkit
|
379
383
|
"ignore:Using fork.* can cause Polars to deadlock in the child process:RuntimeWarning", # polars/pqdm
|
380
384
|
"ignore:coroutine 'AsyncConnection.close' was never awaited:RuntimeWarning",
|
381
385
|
"ignore:loop is closed:ResourceWarning", # redis
|
@@ -0,0 +1,22 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from json import dumps
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from pytest import mark, param
|
7
|
+
|
8
|
+
from utilities.testbook import build_notebook_tester
|
9
|
+
from utilities.whenever import HOUR
|
10
|
+
|
11
|
+
if TYPE_CHECKING:
|
12
|
+
from pathlib import Path
|
13
|
+
|
14
|
+
from utilities.types import Delta
|
15
|
+
|
16
|
+
|
17
|
+
class TestBuildNotebookTester:
|
18
|
+
@mark.parametrize("throttle", [param(HOUR), param(None)])
|
19
|
+
def test_main(self, *, tmp_path: Path, throttle: Delta | None) -> None:
|
20
|
+
data = {"cells": []}
|
21
|
+
_ = tmp_path.joinpath("notebook.ipynb").write_text(dumps(data))
|
22
|
+
_ = build_notebook_tester(tmp_path, throttle=throttle)
|
@@ -1483,7 +1483,7 @@ def year_months(
|
|
1483
1483
|
def zone_infos(draw: DrawFn, /) -> ZoneInfo:
|
1484
1484
|
"""Strategy for generating time-zones."""
|
1485
1485
|
time_zone = draw(timezones())
|
1486
|
-
if IS_LINUX:
|
1486
|
+
if IS_LINUX: # skipif-not-linux
|
1487
1487
|
_ = assume(time_zone.key not in {"Etc/UTC", "localtime"})
|
1488
1488
|
with assume_does_not_raise(TimeZoneNotFoundError):
|
1489
1489
|
_ = get_now(time_zone)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pathlib import Path
|
4
|
+
from typing import TYPE_CHECKING, Any
|
5
|
+
|
6
|
+
from testbook import testbook
|
7
|
+
|
8
|
+
from utilities.pytest import throttle
|
9
|
+
|
10
|
+
if TYPE_CHECKING:
|
11
|
+
from collections.abc import Callable
|
12
|
+
|
13
|
+
from utilities.types import Delta, PathLike
|
14
|
+
|
15
|
+
|
16
|
+
def build_notebook_tester(
|
17
|
+
path: PathLike, /, *, throttle: Delta | None = None, on_try: bool = False
|
18
|
+
) -> object:
|
19
|
+
"""Build the notebook test class."""
|
20
|
+
name = f"Test{Path(path).stem}"
|
21
|
+
notebooks = [
|
22
|
+
path_i
|
23
|
+
for path_i in Path(path).rglob("**/*.ipynb")
|
24
|
+
if all(p != ".ipynb_checkpoints" for p in path_i.parts)
|
25
|
+
]
|
26
|
+
namespace = {
|
27
|
+
f"test_{p.stem}": _build_test_method(p, delta=throttle, on_try=on_try)
|
28
|
+
for p in notebooks
|
29
|
+
}
|
30
|
+
return type(name, (), namespace)
|
31
|
+
|
32
|
+
|
33
|
+
def _build_test_method(
|
34
|
+
path: Path, /, *, delta: Delta | None = None, on_try: bool = False
|
35
|
+
) -> Callable[..., Any]:
|
36
|
+
def method(self: Any, tb: Any) -> None:
|
37
|
+
_ = (self, tb) # pragma: no cover
|
38
|
+
|
39
|
+
if delta is not None:
|
40
|
+
method = throttle(delta=delta, on_try=on_try)(method)
|
41
|
+
|
42
|
+
tbook = testbook(path, execute=True)
|
43
|
+
return tbook(method)
|
44
|
+
|
45
|
+
|
46
|
+
__all__ = ["build_notebook_tester"]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/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.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/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
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/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
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
File without changes
|
{dycw_utilities-0.162.3 → dycw_utilities-0.162.5}/src/utilities/pytest_plugins/pytest_regressions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|