dycw-utilities 0.153.9__tar.gz → 0.153.11__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.153.9 → dycw_utilities-0.153.11}/PKG-INFO +2 -2
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/pyproject.toml +4 -4
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_math.py +29 -28
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_polars.py +20 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/polars.py +25 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/.gitignore +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/LICENSE +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/README.md +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_yield_access/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_yield_access/script.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_yield_access/script.sh +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/click.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/http.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/json.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/math.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/os.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/random.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/re.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/string.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/text.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/types.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/version.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: dycw-utilities
|
3
|
-
Version: 0.153.
|
3
|
+
Version: 0.153.11
|
4
4
|
Author-email: Derek Wan <d.wan@icloud.com>
|
5
5
|
License-File: LICENSE
|
6
6
|
Requires-Python: >=3.12
|
@@ -12,7 +12,7 @@ Provides-Extra: logging
|
|
12
12
|
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
|
-
Requires-Dist: hypothesis<6.137,>=6.136.
|
15
|
+
Requires-Dist: hypothesis<6.137,>=6.136.7; extra == 'test'
|
16
16
|
Requires-Dist: pudb<2025.2,>=2025.1; extra == 'test'
|
17
17
|
Requires-Dist: pytest-asyncio<1.2,>=1.1.0; extra == 'test'
|
18
18
|
Requires-Dist: pytest-cov<6.3,>=6.2.1; extra == 'test'
|
@@ -69,7 +69,7 @@ http-test = [
|
|
69
69
|
"orjson",
|
70
70
|
]
|
71
71
|
hypothesis = [
|
72
|
-
"hypothesis >=6.136.
|
72
|
+
"hypothesis >=6.136.7, <6.137",
|
73
73
|
]
|
74
74
|
hypothesis-test = [
|
75
75
|
"libcst",
|
@@ -229,7 +229,7 @@ dependencies = [
|
|
229
229
|
name = "dycw-utilities"
|
230
230
|
readme = "README.md"
|
231
231
|
requires-python = ">= 3.12"
|
232
|
-
version = "0.153.
|
232
|
+
version = "0.153.11"
|
233
233
|
|
234
234
|
[project.entry-points.pytest11]
|
235
235
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -241,7 +241,7 @@ logging = [
|
|
241
241
|
]
|
242
242
|
test = [
|
243
243
|
"dycw-pytest-only >=2.1.1, <2.2",
|
244
|
-
"hypothesis >=6.136.
|
244
|
+
"hypothesis >=6.136.7, <6.137",
|
245
245
|
"pudb >=2025.1, <2025.2",
|
246
246
|
"pytest >=8.4.1, <8.5",
|
247
247
|
"pytest-asyncio >=1.1.0, <1.2",
|
@@ -262,7 +262,7 @@ test = [
|
|
262
262
|
# bump-my-version
|
263
263
|
[tool.bumpversion]
|
264
264
|
allow_dirty = true
|
265
|
-
current_version = "0.153.
|
265
|
+
current_version = "0.153.11"
|
266
266
|
|
267
267
|
[[tool.bumpversion.files]]
|
268
268
|
filename = "src/utilities/__init__.py"
|
@@ -14,7 +14,7 @@ from hypothesis.strategies import (
|
|
14
14
|
sampled_from,
|
15
15
|
)
|
16
16
|
from numpy import iinfo, int8, int16, int32, int64, uint8, uint16, uint32, uint64
|
17
|
-
from pytest import approx, raises
|
17
|
+
from pytest import approx, mark, param, raises
|
18
18
|
|
19
19
|
from utilities.hypothesis import int32s, numbers, pairs
|
20
20
|
from utilities.math import (
|
@@ -102,6 +102,8 @@ from utilities.math import (
|
|
102
102
|
)
|
103
103
|
|
104
104
|
if TYPE_CHECKING:
|
105
|
+
from _pytest.mark import ParameterSet
|
106
|
+
|
105
107
|
from utilities.types import MathRoundMode, Number
|
106
108
|
|
107
109
|
|
@@ -1151,33 +1153,32 @@ class TestRoundFloatImprecisions:
|
|
1151
1153
|
|
1152
1154
|
|
1153
1155
|
class TestRoundToFloat:
|
1154
|
-
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
|
1163
|
-
|
1164
|
-
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
|
1171
|
-
|
1172
|
-
|
1173
|
-
|
1174
|
-
|
1175
|
-
|
1176
|
-
|
1177
|
-
|
1178
|
-
)
|
1179
|
-
def test_main(self, *,
|
1180
|
-
x, y, expected = case
|
1156
|
+
cases: ClassVar[list[ParameterSet]] = [
|
1157
|
+
param(0.0, 0.5, 0.0),
|
1158
|
+
param(0.1, 0.5, 0.0),
|
1159
|
+
param(0.2, 0.5, 0.0),
|
1160
|
+
param(0.3, 0.5, 0.5),
|
1161
|
+
param(0.4, 0.5, 0.5),
|
1162
|
+
param(0.5, 0.5, 0.5),
|
1163
|
+
param(0.6, 0.5, 0.5),
|
1164
|
+
param(0.7, 0.5, 0.5),
|
1165
|
+
param(0.8, 0.5, 1.0),
|
1166
|
+
param(0.9, 0.5, 1.0),
|
1167
|
+
param(1.0, 0.5, 1.0),
|
1168
|
+
param(1.1, 0.5, 1.0),
|
1169
|
+
param(1.2, 0.5, 1.0),
|
1170
|
+
param(1.3, 0.5, 1.5),
|
1171
|
+
param(1.4, 0.5, 1.5),
|
1172
|
+
param(1.5, 0.5, 1.5),
|
1173
|
+
param(1.6, 0.5, 1.5),
|
1174
|
+
param(1.7, 0.5, 1.5),
|
1175
|
+
param(1.8, 0.5, 2.0),
|
1176
|
+
param(1.9, 0.5, 2.0),
|
1177
|
+
param(2.0, 0.5, 2.0),
|
1178
|
+
]
|
1179
|
+
|
1180
|
+
@mark.parametrize(("x", "y", "expected"), cases)
|
1181
|
+
def test_main(self, *, x: float, y: float, expected: float) -> None:
|
1181
1182
|
result = round_to_float(x, y)
|
1182
1183
|
assert result == approx(expected)
|
1183
1184
|
|
@@ -60,6 +60,7 @@ from polars.testing import assert_frame_equal, assert_series_equal
|
|
60
60
|
from pytest import mark, param, raises
|
61
61
|
from whenever import Time, TimeZoneNotFoundError, ZonedDateTime
|
62
62
|
|
63
|
+
import tests.test_math
|
63
64
|
import utilities.polars
|
64
65
|
from utilities.hypothesis import (
|
65
66
|
assume_does_not_raise,
|
@@ -185,6 +186,7 @@ from utilities.polars import (
|
|
185
186
|
read_series,
|
186
187
|
reify_exprs,
|
187
188
|
replace_time_zone,
|
189
|
+
round_to_float,
|
188
190
|
serialize_dataframe,
|
189
191
|
serialize_series,
|
190
192
|
set_first_row_as_columns,
|
@@ -2417,6 +2419,24 @@ class TestReplaceTimeZone:
|
|
2417
2419
|
assert_series_equal(result, series)
|
2418
2420
|
|
2419
2421
|
|
2422
|
+
class TestRoundToFloat:
|
2423
|
+
@mark.parametrize(("x", "y", "exp_value"), tests.test_math.TestRoundToFloat.cases)
|
2424
|
+
def test_main(self, *, x: float, y: float, exp_value: float) -> None:
|
2425
|
+
series = Series(name="x", values=[x], dtype=Float64)
|
2426
|
+
result = round_to_float(series, y)
|
2427
|
+
expected = Series(name="x", values=[exp_value], dtype=Float64)
|
2428
|
+
assert_series_equal(result, expected, check_exact=True)
|
2429
|
+
|
2430
|
+
def test_dataframe_name(self) -> None:
|
2431
|
+
df = (
|
2432
|
+
Series(name="x", values=[1.234], dtype=Float64)
|
2433
|
+
.to_frame()
|
2434
|
+
.with_columns(round_to_float("x", 0.1))
|
2435
|
+
)
|
2436
|
+
expected = Series(name="x", values=[1.2], dtype=Float64).to_frame()
|
2437
|
+
assert_frame_equal(df, expected)
|
2438
|
+
|
2439
|
+
|
2420
2440
|
class TestSerializeAndDeserializeDataFrame:
|
2421
2441
|
cases: ClassVar[list[tuple[PolarsDataType, SearchStrategy[Any]]]] = [
|
2422
2442
|
(Boolean, booleans()),
|
@@ -114,6 +114,7 @@ if TYPE_CHECKING:
|
|
114
114
|
JoinValidation,
|
115
115
|
PolarsDataType,
|
116
116
|
QuantileMethod,
|
117
|
+
RoundMode,
|
117
118
|
SchemaDict,
|
118
119
|
TimeUnit,
|
119
120
|
)
|
@@ -2365,6 +2366,29 @@ def _reconstruct_dtype(obj: _DeconDType, /) -> PolarsDataType:
|
|
2365
2366
|
##
|
2366
2367
|
|
2367
2368
|
|
2369
|
+
@overload
|
2370
|
+
def round_to_float(
|
2371
|
+
x: ExprLike, y: float, /, *, mode: RoundMode = "half_to_even"
|
2372
|
+
) -> Expr: ...
|
2373
|
+
@overload
|
2374
|
+
def round_to_float(
|
2375
|
+
x: Series, y: float, /, *, mode: RoundMode = "half_to_even"
|
2376
|
+
) -> Series: ...
|
2377
|
+
@overload
|
2378
|
+
def round_to_float(
|
2379
|
+
x: IntoExprColumn, y: float, /, *, mode: RoundMode = "half_to_even"
|
2380
|
+
) -> ExprOrSeries: ...
|
2381
|
+
def round_to_float(
|
2382
|
+
x: IntoExprColumn, y: float, /, *, mode: RoundMode = "half_to_even"
|
2383
|
+
) -> ExprOrSeries:
|
2384
|
+
"""Round a column to the nearest multiple of another float."""
|
2385
|
+
x = ensure_expr_or_series(x)
|
2386
|
+
return (x / y).round(mode=mode) * y
|
2387
|
+
|
2388
|
+
|
2389
|
+
##
|
2390
|
+
|
2391
|
+
|
2368
2392
|
def set_first_row_as_columns(df: DataFrame, /) -> DataFrame:
|
2369
2393
|
"""Set the first row of a DataFrame as its columns."""
|
2370
2394
|
try:
|
@@ -2652,6 +2676,7 @@ __all__ = [
|
|
2652
2676
|
"read_dataframe",
|
2653
2677
|
"read_series",
|
2654
2678
|
"replace_time_zone",
|
2679
|
+
"round_to_float",
|
2655
2680
|
"serialize_dataframe",
|
2656
2681
|
"set_first_row_as_columns",
|
2657
2682
|
"struct_dtype",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/outer_1.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_with/outer_2.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/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
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/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
|
{dycw_utilities-0.153.9 → dycw_utilities-0.153.11}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|