dycw-utilities 0.155.0__tar.gz → 0.155.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/PKG-INFO +1 -2
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/pyproject.toml +2 -6
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_altair.py +2 -2
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_hypothesis.py +14 -5
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_orjson.py +2 -2
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_polars.py +208 -211
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing.py +147 -7
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/with_future.py +63 -4
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_whenever.py +13 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/hypothesis.py +8 -1
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/polars.py +97 -117
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sqlalchemy_polars.py +2 -2
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/traceback.py +1 -1
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/typing.py +9 -2
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/whenever.py +10 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/.gitignore +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/LICENSE +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/README.md +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/script.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_yield_access/script.sh +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/click.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/http.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/json.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/math.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/os.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/random.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/re.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/string.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/text.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/types.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/version.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.155.0 → dycw_utilities-0.155.2}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: dycw-utilities
|
3
|
-
Version: 0.155.
|
3
|
+
Version: 0.155.2
|
4
4
|
Author-email: Derek Wan <d.wan@icloud.com>
|
5
5
|
License-File: LICENSE
|
6
6
|
Requires-Python: >=3.12
|
@@ -13,7 +13,6 @@ Requires-Dist: coloredlogs<15.1,>=15.0.1; extra == 'logging'
|
|
13
13
|
Provides-Extra: test
|
14
14
|
Requires-Dist: dycw-pytest-only<2.2,>=2.1.1; extra == 'test'
|
15
15
|
Requires-Dist: hypothesis<6.138,>=6.137.1; extra == 'test'
|
16
|
-
Requires-Dist: pudb<2025.2,>=2025.1; extra == 'test'
|
17
16
|
Requires-Dist: pytest-asyncio<1.2,>=1.1.0; extra == 'test'
|
18
17
|
Requires-Dist: pytest-cov<6.3,>=6.2.1; extra == 'test'
|
19
18
|
Requires-Dist: pytest-instafail<0.6,>=0.5.0; extra == 'test'
|
@@ -44,7 +44,6 @@ dev = [
|
|
44
44
|
"coloredlogs >=15.0.1, <15.1",
|
45
45
|
"coverage-conditional-plugin >=0.9.0, <0.10",
|
46
46
|
"dycw-pytest-only >=2.1.1, <2.2",
|
47
|
-
"pudb >=2025.1, <2025.2",
|
48
47
|
"pyright[nodejs] >=1.1.401, <1.2",
|
49
48
|
"pytest-cov >=6.2.1, <6.3",
|
50
49
|
"pytest-timeout >=2.4.0, <2.5",
|
@@ -148,7 +147,6 @@ pyinstrument = [
|
|
148
147
|
"pyinstrument >=5.0.3, <5.1",
|
149
148
|
]
|
150
149
|
pytest = [
|
151
|
-
"pudb >=2025.1, <2025.2",
|
152
150
|
"pytest >=8.4.1, <8.5",
|
153
151
|
"pytest-asyncio >=1.1.0, <1.2",
|
154
152
|
"pytest-randomly >=3.16.0, <3.17",
|
@@ -229,7 +227,7 @@ dependencies = [
|
|
229
227
|
name = "dycw-utilities"
|
230
228
|
readme = "README.md"
|
231
229
|
requires-python = ">= 3.12"
|
232
|
-
version = "0.155.
|
230
|
+
version = "0.155.2"
|
233
231
|
|
234
232
|
[project.entry-points.pytest11]
|
235
233
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -242,7 +240,6 @@ logging = [
|
|
242
240
|
test = [
|
243
241
|
"dycw-pytest-only >=2.1.1, <2.2",
|
244
242
|
"hypothesis >=6.137.1, <6.138",
|
245
|
-
"pudb >=2025.1, <2025.2",
|
246
243
|
"pytest >=8.4.1, <8.5",
|
247
244
|
"pytest-asyncio >=1.1.0, <1.2",
|
248
245
|
"pytest-cov >=6.2.1, <6.3",
|
@@ -262,7 +259,7 @@ test = [
|
|
262
259
|
# bump-my-version
|
263
260
|
[tool.bumpversion]
|
264
261
|
allow_dirty = true
|
265
|
-
current_version = "0.155.
|
262
|
+
current_version = "0.155.2"
|
266
263
|
|
267
264
|
[[tool.bumpversion.files]]
|
268
265
|
filename = "src/utilities/__init__.py"
|
@@ -366,7 +363,6 @@ addopts = [
|
|
366
363
|
"--color=auto",
|
367
364
|
"--durations=10",
|
368
365
|
"--durations-min=10",
|
369
|
-
"--pdbcls=pudb.debugger:Debugger",
|
370
366
|
"--strict-markers",
|
371
367
|
"--timeout=600",
|
372
368
|
]
|
@@ -28,7 +28,7 @@ from utilities.altair import (
|
|
28
28
|
)
|
29
29
|
from utilities.functions import ensure_class
|
30
30
|
from utilities.hypothesis import dates, text_ascii, zoned_date_times
|
31
|
-
from utilities.polars import DatetimeUTC,
|
31
|
+
from utilities.polars import DatetimeUTC, zoned_date_time_dtype
|
32
32
|
from utilities.tzdata import HongKong, Tokyo
|
33
33
|
from utilities.whenever import get_now
|
34
34
|
from utilities.zoneinfo import UTC
|
@@ -98,7 +98,7 @@ class TestPlotDataFrames:
|
|
98
98
|
df = DataFrame(
|
99
99
|
data=[(dt.datetime(2000, 1, 1, 12, tzinfo=time_zone), 0.0)],
|
100
100
|
schema={
|
101
|
-
"datetime":
|
101
|
+
"datetime": zoned_date_time_dtype(time_zone=time_zone),
|
102
102
|
"value": Float64,
|
103
103
|
},
|
104
104
|
orient="row",
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import datetime as dt
|
3
4
|
from itertools import pairwise
|
4
5
|
from pathlib import Path
|
5
6
|
from re import search
|
@@ -134,6 +135,7 @@ from utilities.whenever import (
|
|
134
135
|
ZonedDateTimePeriod,
|
135
136
|
to_days,
|
136
137
|
to_nanoseconds,
|
138
|
+
to_py_time_delta,
|
137
139
|
)
|
138
140
|
|
139
141
|
if TYPE_CHECKING:
|
@@ -197,6 +199,7 @@ class TestDateDeltas:
|
|
197
199
|
date_deltas(min_value=min_value, max_value=max_value, parsable=parsable)
|
198
200
|
)
|
199
201
|
assert isinstance(delta, DateDelta)
|
202
|
+
assert isinstance(to_py_time_delta(delta), dt.timedelta)
|
200
203
|
days = to_days(delta)
|
201
204
|
if min_value is not None:
|
202
205
|
assert days >= to_days(min_value)
|
@@ -221,14 +224,17 @@ class TestDatePeriods:
|
|
221
224
|
|
222
225
|
|
223
226
|
class TestDateTimeDeltas:
|
224
|
-
@given(data=data(), parsable=booleans())
|
225
|
-
def test_main(self, *, data: DataObject, parsable: bool) -> None:
|
227
|
+
@given(data=data(), parsable=booleans(), nativable=booleans())
|
228
|
+
def test_main(self, *, data: DataObject, parsable: bool, nativable: bool) -> None:
|
226
229
|
min_value = data.draw(date_time_deltas() | none())
|
227
230
|
max_value = data.draw(date_time_deltas() | none())
|
228
231
|
with assume_does_not_raise(InvalidArgument):
|
229
232
|
delta = data.draw(
|
230
233
|
date_time_deltas(
|
231
|
-
min_value=min_value,
|
234
|
+
min_value=min_value,
|
235
|
+
max_value=max_value,
|
236
|
+
parsable=parsable,
|
237
|
+
nativable=nativable,
|
232
238
|
)
|
233
239
|
)
|
234
240
|
assert isinstance(delta, DateTimeDelta)
|
@@ -239,6 +245,8 @@ class TestDateTimeDeltas:
|
|
239
245
|
assert nanos <= to_nanoseconds(max_value)
|
240
246
|
if parsable:
|
241
247
|
assert DateTimeDelta.parse_common_iso(delta.format_common_iso()) == delta
|
248
|
+
if nativable:
|
249
|
+
assert isinstance(to_py_time_delta(delta), dt.timedelta)
|
242
250
|
|
243
251
|
|
244
252
|
class TestDates:
|
@@ -726,8 +734,8 @@ class TestPairs:
|
|
726
734
|
class TestPaths:
|
727
735
|
@given(data=data())
|
728
736
|
def test_main(self, *, data: DataObject) -> None:
|
729
|
-
min_depth = data.draw(integers(0,
|
730
|
-
max_depth = data.draw(integers(0,
|
737
|
+
min_depth = data.draw(integers(0, 3) | none())
|
738
|
+
max_depth = data.draw(integers(0, 3) | none())
|
731
739
|
with assume_does_not_raise(InvalidArgument):
|
732
740
|
path = data.draw(paths(min_depth=min_depth, max_depth=max_depth))
|
733
741
|
assert isinstance(path, Path)
|
@@ -989,6 +997,7 @@ class TestTimeDeltas:
|
|
989
997
|
delta = data.draw(time_deltas(min_value=min_value, max_value=max_value))
|
990
998
|
assert isinstance(delta, TimeDelta)
|
991
999
|
assert TimeDelta.parse_common_iso(delta.format_common_iso()) == delta
|
1000
|
+
assert isinstance(to_py_time_delta(delta), dt.timedelta)
|
992
1001
|
if min_value is not None:
|
993
1002
|
assert delta >= min_value
|
994
1003
|
if max_value is not None:
|
@@ -81,7 +81,7 @@ from utilities.orjson import (
|
|
81
81
|
serialize,
|
82
82
|
write_object,
|
83
83
|
)
|
84
|
-
from utilities.polars import check_polars_dataframe,
|
84
|
+
from utilities.polars import check_polars_dataframe, zoned_date_time_dtype
|
85
85
|
from utilities.sentinel import Sentinel, sentinel
|
86
86
|
from utilities.types import LogLevel, MaybeIterable, PathLike
|
87
87
|
from utilities.typing import get_args
|
@@ -176,7 +176,7 @@ class TestGetLogRecords:
|
|
176
176
|
"level": UInt64,
|
177
177
|
"path_name": String,
|
178
178
|
"line_num": UInt64,
|
179
|
-
"datetime":
|
179
|
+
"datetime": zoned_date_time_dtype(time_zone=LOCAL_TIME_ZONE),
|
180
180
|
"func_name": String,
|
181
181
|
"stack_info": String,
|
182
182
|
"extra": Object,
|