dycw-utilities 0.153.0__tar.gz → 0.153.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.153.0 → dycw_utilities-0.153.2}/PKG-INFO +1 -1
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/pyproject.toml +2 -2
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_text.py +15 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/text.py +22 -1
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/types.py +8 -6
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/.gitignore +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/LICENSE +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/README.md +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_yield_access/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_yield_access/script.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_yield_access/script.sh +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/click.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/http.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/json.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/math.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/os.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/random.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/re.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/string.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/version.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/zoneinfo.py +0 -0
@@ -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.2"
|
233
233
|
|
234
234
|
[project.entry-points.pytest11]
|
235
235
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
@@ -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.2"
|
266
266
|
|
267
267
|
[[tool.bumpversion.files]]
|
268
268
|
filename = "src/utilities/__init__.py"
|
@@ -38,6 +38,7 @@ from utilities.text import (
|
|
38
38
|
str_encode,
|
39
39
|
strip_and_dedent,
|
40
40
|
to_bool,
|
41
|
+
to_str,
|
41
42
|
unique_str,
|
42
43
|
)
|
43
44
|
|
@@ -340,6 +341,20 @@ class TestToBool:
|
|
340
341
|
assert to_bool(lambda: bool_) is bool_
|
341
342
|
|
342
343
|
|
344
|
+
class TestToStr:
|
345
|
+
@given(text=text_ascii())
|
346
|
+
def test_str(self, *, text: str) -> None:
|
347
|
+
assert to_str(text) == text
|
348
|
+
|
349
|
+
@given(text=text_ascii())
|
350
|
+
def test_callable(self, *, text: str) -> None:
|
351
|
+
assert to_str(lambda: text) == text
|
352
|
+
|
353
|
+
@given(text=none() | sentinels())
|
354
|
+
def test_none_or_sentinel(self, *, text: None | Sentinel) -> None:
|
355
|
+
assert to_str(text) is text
|
356
|
+
|
357
|
+
|
343
358
|
class TestUniqueStrs:
|
344
359
|
def test_main(self) -> None:
|
345
360
|
first, second = [unique_str() for _ in range(2)]
|
@@ -28,7 +28,7 @@ from utilities.sentinel import Sentinel
|
|
28
28
|
if TYPE_CHECKING:
|
29
29
|
from collections.abc import Iterable, Mapping, Sequence
|
30
30
|
|
31
|
-
from utilities.types import MaybeCallableBoolLike, StrStrMapping
|
31
|
+
from utilities.types import MaybeCallableBoolLike, MaybeCallableStr, StrStrMapping
|
32
32
|
|
33
33
|
|
34
34
|
DEFAULT_SEPARATOR = ","
|
@@ -462,6 +462,26 @@ def to_bool(
|
|
462
462
|
##
|
463
463
|
|
464
464
|
|
465
|
+
@overload
|
466
|
+
def to_str(text: MaybeCallableStr, /) -> str: ...
|
467
|
+
@overload
|
468
|
+
def to_str(text: None, /) -> None: ...
|
469
|
+
@overload
|
470
|
+
def to_str(text: Sentinel, /) -> Sentinel: ...
|
471
|
+
def to_str(text: MaybeCallableStr | None | Sentinel, /) -> str | None | Sentinel:
|
472
|
+
"""Convert to a string."""
|
473
|
+
match text:
|
474
|
+
case str() | None | Sentinel():
|
475
|
+
return text
|
476
|
+
case Callable() as func:
|
477
|
+
return to_str(func())
|
478
|
+
case never:
|
479
|
+
assert_never(never)
|
480
|
+
|
481
|
+
|
482
|
+
##
|
483
|
+
|
484
|
+
|
465
485
|
def unique_str() -> str:
|
466
486
|
"""Generate at unique string."""
|
467
487
|
now = time_ns()
|
@@ -491,5 +511,6 @@ __all__ = [
|
|
491
511
|
"str_encode",
|
492
512
|
"strip_and_dedent",
|
493
513
|
"to_bool",
|
514
|
+
"to_str",
|
494
515
|
"unique_str",
|
495
516
|
]
|
@@ -39,7 +39,6 @@ _T_contra = TypeVar("_T_contra", contravariant=True)
|
|
39
39
|
|
40
40
|
|
41
41
|
# basic
|
42
|
-
type BoolLike = MaybeStr[bool]
|
43
42
|
type OpenMode = Literal[
|
44
43
|
"r",
|
45
44
|
"w",
|
@@ -63,13 +62,15 @@ type OpenMode = Literal[
|
|
63
62
|
"a+b",
|
64
63
|
]
|
65
64
|
type MaybeCallable[T] = T | Callable[[], T]
|
66
|
-
type MaybeCallableBoolLike = MaybeCallable[BoolLike]
|
67
65
|
type MaybeStr[T] = T | str
|
68
66
|
type MaybeType[T] = T | type[T]
|
69
67
|
type StrMapping = Mapping[str, Any]
|
70
68
|
type StrStrMapping = Mapping[str, str]
|
71
|
-
type TypeLike[T] = type[T] | tuple[type[T], ...]
|
72
69
|
type TupleOrStrMapping = tuple[Any, ...] | StrMapping
|
70
|
+
type TypeLike[T] = type[T] | tuple[type[T], ...]
|
71
|
+
# basic - derived
|
72
|
+
type MaybeCallableBoolLike = MaybeCallable[BoolLike]
|
73
|
+
type BoolLike = MaybeStr[bool]
|
73
74
|
|
74
75
|
|
75
76
|
# asyncio
|
@@ -114,12 +115,12 @@ IPv6AddressLike = MaybeStr[IPv6Address]
|
|
114
115
|
|
115
116
|
|
116
117
|
# iterables
|
117
|
-
type SequenceLT[T] = list[T] | tuple[T, ...]
|
118
|
-
# iterables - maybe
|
119
118
|
type MaybeCollection[T] = T | Collection[T]
|
120
119
|
type MaybeIterable[T] = T | Iterable[T]
|
120
|
+
type MaybeList[T] = T | list[T]
|
121
|
+
type SequenceLT[T] = list[T] | tuple[T, ...]
|
122
|
+
# iterables - dervied
|
121
123
|
type MaybeSequence[T] = T | SequenceLT[T]
|
122
|
-
# iterables - str
|
123
124
|
type SequenceStr = SequenceLT[str]
|
124
125
|
type CollectionStr = dict[str, Any] | frozenset[str] | set[str] | SequenceStr
|
125
126
|
# iterables - maybe str
|
@@ -299,6 +300,7 @@ __all__ = [
|
|
299
300
|
"MaybeCollectionStr",
|
300
301
|
"MaybeCoro",
|
301
302
|
"MaybeIterable",
|
303
|
+
"MaybeList",
|
302
304
|
"MaybeSequence",
|
303
305
|
"MaybeSequenceStr",
|
304
306
|
"MaybeStr",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/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.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/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
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/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
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
File without changes
|
{dycw_utilities-0.153.0 → dycw_utilities-0.153.2}/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
|