dycw-utilities 0.166.35__tar.gz → 0.166.36__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.
Potentially problematic release.
This version of dycw-utilities might be problematic. Click here for more details.
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/PKG-INFO +1 -1
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/pyproject.toml +2 -2
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_jinja2.py +2 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_text.py +70 -43
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/jinja2.py +3 -2
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/text.py +48 -32
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/.gitignore +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/LICENSE +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/README.md +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_aeventkit.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_gzip.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_json.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_postgres.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pydantic_settings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pytest_randomly.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_testbook.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/aeventkit.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/click.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/git.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/http.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/json.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/math.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/os.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pydantic_settings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/random.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/re.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/string.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/testbook.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/types.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/version.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/utilities/zoneinfo.py +0 -0
|
@@ -249,7 +249,7 @@ dependencies = [
|
|
|
249
249
|
name = "dycw-utilities"
|
|
250
250
|
readme = "README.md"
|
|
251
251
|
requires-python = ">= 3.12"
|
|
252
|
-
version = "0.166.
|
|
252
|
+
version = "0.166.36"
|
|
253
253
|
|
|
254
254
|
[project.entry-points.pytest11]
|
|
255
255
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
|
@@ -282,7 +282,7 @@ test = [
|
|
|
282
282
|
# bump-my-version
|
|
283
283
|
[tool.bumpversion]
|
|
284
284
|
allow_dirty = true
|
|
285
|
-
current_version = "0.166.
|
|
285
|
+
current_version = "0.166.36"
|
|
286
286
|
|
|
287
287
|
[[tool.bumpversion.files]]
|
|
288
288
|
filename = "src/utilities/__init__.py"
|
|
@@ -17,6 +17,7 @@ class TestEnhancedTemplate:
|
|
|
17
17
|
loader=DictLoader({
|
|
18
18
|
"test.j2": strip_and_dedent("""
|
|
19
19
|
text = '{{ text }}'
|
|
20
|
+
kebab = '{{ text | kebab }}'
|
|
20
21
|
pascal = '{{ text | pascal }}'
|
|
21
22
|
snake = '{{ text | snake }}'
|
|
22
23
|
""")
|
|
@@ -25,6 +26,7 @@ class TestEnhancedTemplate:
|
|
|
25
26
|
result = env.get_template("test.j2").render(text="multi-word string")
|
|
26
27
|
expected = strip_and_dedent("""
|
|
27
28
|
text = 'multi-word string'
|
|
29
|
+
kebab = 'multi-word-string'
|
|
28
30
|
pascal = 'MultiWordString'
|
|
29
31
|
snake = 'multi_word_string'
|
|
30
32
|
""")
|
|
@@ -28,6 +28,7 @@ from utilities.text import (
|
|
|
28
28
|
_SplitStrCountError,
|
|
29
29
|
_SplitStrOpeningBracketUnmatchedError,
|
|
30
30
|
join_strs,
|
|
31
|
+
kebab_case,
|
|
31
32
|
parse_bool,
|
|
32
33
|
parse_none,
|
|
33
34
|
pascal_case,
|
|
@@ -111,60 +112,86 @@ class TestReprEncode:
|
|
|
111
112
|
assert result == expected
|
|
112
113
|
|
|
113
114
|
|
|
114
|
-
class
|
|
115
|
+
class TestPascalSnakeAndKebabCase:
|
|
115
116
|
@mark.parametrize(
|
|
116
|
-
("text", "exp_pascal", "exp_snake"),
|
|
117
|
+
("text", "exp_pascal", "exp_snake", "exp_kebab"),
|
|
117
118
|
[
|
|
118
|
-
param("API", "API", "api"),
|
|
119
|
-
param("APIResponse", "APIResponse", "api_response"),
|
|
119
|
+
param("API", "API", "api", "api"),
|
|
120
|
+
param("APIResponse", "APIResponse", "api_response", "api-response"),
|
|
120
121
|
param(
|
|
121
122
|
"ApplicationController",
|
|
122
123
|
"ApplicationController",
|
|
123
124
|
"application_controller",
|
|
125
|
+
"application-controller",
|
|
124
126
|
),
|
|
125
|
-
param(
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
param("
|
|
132
|
-
param("
|
|
133
|
-
param("
|
|
134
|
-
param(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
param("
|
|
141
|
-
param("
|
|
142
|
-
param("
|
|
143
|
-
param("
|
|
144
|
-
param("
|
|
145
|
-
param("
|
|
146
|
-
param("
|
|
147
|
-
param("
|
|
148
|
-
param("
|
|
149
|
-
param("
|
|
150
|
-
param("
|
|
151
|
-
param("
|
|
152
|
-
param("
|
|
153
|
-
param(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
param("
|
|
157
|
-
param("
|
|
158
|
-
param("
|
|
159
|
-
param("
|
|
160
|
-
param(
|
|
161
|
-
|
|
162
|
-
|
|
127
|
+
param(
|
|
128
|
+
"Area51Controller",
|
|
129
|
+
"Area51Controller",
|
|
130
|
+
"area51_controller",
|
|
131
|
+
"area51-controller",
|
|
132
|
+
),
|
|
133
|
+
param("FreeBSD", "FreeBSD", "free_bsd", "free-bsd"),
|
|
134
|
+
param("HTML", "HTML", "html", "html"),
|
|
135
|
+
param("HTMLTidy", "HTMLTidy", "html_tidy", "html-tidy"),
|
|
136
|
+
param(
|
|
137
|
+
"HTMLTidyGenerator",
|
|
138
|
+
"HTMLTidyGenerator",
|
|
139
|
+
"html_tidy_generator",
|
|
140
|
+
"html-tidy-generator",
|
|
141
|
+
),
|
|
142
|
+
param("HTMLVersion", "HTMLVersion", "html_version", "html-version"),
|
|
143
|
+
param("NoHTML", "NoHTML", "no_html", "no-html"),
|
|
144
|
+
param("One Two", "OneTwo", "one_two", "one-two"),
|
|
145
|
+
param("One Two", "OneTwo", "one_two", "one-two"),
|
|
146
|
+
param("One Two", "OneTwo", "one_two", "one-two"),
|
|
147
|
+
param("OneTwo", "OneTwo", "one_two", "one-two"),
|
|
148
|
+
param("One_Two", "OneTwo", "one_two", "one-two"),
|
|
149
|
+
param("One__Two", "OneTwo", "one_two", "one-two"),
|
|
150
|
+
param("One___Two", "OneTwo", "one_two", "one-two"),
|
|
151
|
+
param("Product", "Product", "product", "product"),
|
|
152
|
+
param("SpecialGuest", "SpecialGuest", "special_guest", "special-guest"),
|
|
153
|
+
param("Text", "Text", "text", "text"),
|
|
154
|
+
param("Text123", "Text123", "text123", "text123"),
|
|
155
|
+
param(
|
|
156
|
+
"Text123Text456", "Text123Text456", "text123_text456", "text123-text456"
|
|
157
|
+
),
|
|
158
|
+
param("_APIResponse_", "APIResponse", "_api_response_", "-api-response-"),
|
|
159
|
+
param("_API_", "API", "_api_", "-api-"),
|
|
160
|
+
param("__APIResponse__", "APIResponse", "_api_response_", "-api-response-"),
|
|
161
|
+
param("__API__", "API", "_api_", "-api-"),
|
|
162
|
+
param(
|
|
163
|
+
"__impliedVolatility_",
|
|
164
|
+
"ImpliedVolatility",
|
|
165
|
+
"_implied_volatility_",
|
|
166
|
+
"-implied-volatility-",
|
|
167
|
+
),
|
|
168
|
+
param("_itemID", "ItemID", "_item_id", "-item-id"),
|
|
169
|
+
param("_lastPrice__", "LastPrice", "_last_price_", "-last-price-"),
|
|
170
|
+
param("_symbol", "Symbol", "_symbol", "-symbol"),
|
|
171
|
+
param("aB", "AB", "a_b", "a-b"),
|
|
172
|
+
param("changePct", "ChangePct", "change_pct", "change-pct"),
|
|
173
|
+
param("changePct_", "ChangePct", "change_pct_", "change-pct-"),
|
|
174
|
+
param(
|
|
175
|
+
"impliedVolatility",
|
|
176
|
+
"ImpliedVolatility",
|
|
177
|
+
"implied_volatility",
|
|
178
|
+
"implied-volatility",
|
|
179
|
+
),
|
|
180
|
+
param("lastPrice", "LastPrice", "last_price", "last-price"),
|
|
181
|
+
param("memMB", "MemMB", "mem_mb", "mem-mb"),
|
|
182
|
+
param("sizeX", "SizeX", "size_x", "size-x"),
|
|
183
|
+
param("symbol", "Symbol", "symbol", "symbol"),
|
|
184
|
+
param("testNTest", "TestNTest", "test_n_test", "test-n-test"),
|
|
185
|
+
param("text", "Text", "text", "text"),
|
|
186
|
+
param("text123", "Text123", "text123", "text123"),
|
|
163
187
|
],
|
|
164
188
|
)
|
|
165
|
-
def test_main(
|
|
189
|
+
def test_main(
|
|
190
|
+
self, *, text: str, exp_pascal: str, exp_snake: str, exp_kebab: str
|
|
191
|
+
) -> None:
|
|
166
192
|
assert pascal_case(text) == exp_pascal
|
|
167
193
|
assert snake_case(text) == exp_snake
|
|
194
|
+
assert kebab_case(text) == exp_kebab
|
|
168
195
|
|
|
169
196
|
|
|
170
197
|
class TestPromptBool:
|
|
@@ -20,7 +20,7 @@ from jinja2.defaults import (
|
|
|
20
20
|
)
|
|
21
21
|
|
|
22
22
|
from utilities.atomicwrites import writer
|
|
23
|
-
from utilities.text import pascal_case, snake_case
|
|
23
|
+
from utilities.text import kebab_case, pascal_case, snake_case
|
|
24
24
|
|
|
25
25
|
if TYPE_CHECKING:
|
|
26
26
|
from collections.abc import Callable, Sequence
|
|
@@ -84,8 +84,9 @@ class EnhancedEnvironment(Environment):
|
|
|
84
84
|
bytecode_cache,
|
|
85
85
|
enable_async,
|
|
86
86
|
)
|
|
87
|
-
self.filters["
|
|
87
|
+
self.filters["kebab"] = kebab_case
|
|
88
88
|
self.filters["pascal"] = pascal_case
|
|
89
|
+
self.filters["snake"] = snake_case
|
|
89
90
|
|
|
90
91
|
|
|
91
92
|
@dataclass(order=True, unsafe_hash=True, kw_only=True, slots=True)
|
|
@@ -31,7 +31,15 @@ if TYPE_CHECKING:
|
|
|
31
31
|
from utilities.types import MaybeCallableBoolLike, MaybeCallableStr, StrStrMapping
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
_DEFAULT_SEPARATOR = ","
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
##
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def kebab_case(text: str, /) -> str:
|
|
41
|
+
"""Convert text into kebab case."""
|
|
42
|
+
return _kebab_snake_case(text, "-")
|
|
35
43
|
|
|
36
44
|
|
|
37
45
|
##
|
|
@@ -110,27 +118,13 @@ def repr_encode(obj: Any, /) -> bytes:
|
|
|
110
118
|
|
|
111
119
|
def snake_case(text: str, /) -> str:
|
|
112
120
|
"""Convert text into snake case."""
|
|
113
|
-
|
|
114
|
-
trailing = bool(search(r"_$", text))
|
|
115
|
-
parts = _SPLIT_TEXT.findall(text)
|
|
116
|
-
parts = (p for p in parts if len(p) >= 1)
|
|
117
|
-
parts = chain([""] if leading else [], parts, [""] if trailing else [])
|
|
118
|
-
return "_".join(parts).lower()
|
|
121
|
+
return _kebab_snake_case(text, "_")
|
|
119
122
|
|
|
120
123
|
|
|
121
|
-
_SPLIT_TEXT = re.compile(
|
|
122
|
-
r"""
|
|
123
|
-
[A-Z]+(?=[A-Z][a-z0-9]) | # all caps followed by Upper+lower or digit (API in APIResponse2)
|
|
124
|
-
[A-Z]?[a-z]+[0-9]* | # normal words with optional trailing digits (Text123)
|
|
125
|
-
[A-Z]+[0-9]* | # consecutive caps with optional trailing digits (ID2)
|
|
126
|
-
""",
|
|
127
|
-
flags=VERBOSE,
|
|
128
|
-
)
|
|
129
|
-
|
|
130
124
|
##
|
|
131
125
|
|
|
132
126
|
|
|
133
|
-
LIST_SEPARATOR =
|
|
127
|
+
LIST_SEPARATOR = _DEFAULT_SEPARATOR
|
|
134
128
|
PAIR_SEPARATOR = "="
|
|
135
129
|
BRACKETS = [("(", ")"), ("[", "]"), ("{", "}")]
|
|
136
130
|
|
|
@@ -140,7 +134,7 @@ def split_key_value_pairs(
|
|
|
140
134
|
text: str,
|
|
141
135
|
/,
|
|
142
136
|
*,
|
|
143
|
-
list_separator: str =
|
|
137
|
+
list_separator: str = _DEFAULT_SEPARATOR,
|
|
144
138
|
pair_separator: str = PAIR_SEPARATOR,
|
|
145
139
|
brackets: Iterable[tuple[str, str]] | None = BRACKETS,
|
|
146
140
|
mapping: Literal[True],
|
|
@@ -150,7 +144,7 @@ def split_key_value_pairs(
|
|
|
150
144
|
text: str,
|
|
151
145
|
/,
|
|
152
146
|
*,
|
|
153
|
-
list_separator: str =
|
|
147
|
+
list_separator: str = _DEFAULT_SEPARATOR,
|
|
154
148
|
pair_separator: str = PAIR_SEPARATOR,
|
|
155
149
|
brackets: Iterable[tuple[str, str]] | None = BRACKETS,
|
|
156
150
|
mapping: Literal[False] = False,
|
|
@@ -160,7 +154,7 @@ def split_key_value_pairs(
|
|
|
160
154
|
text: str,
|
|
161
155
|
/,
|
|
162
156
|
*,
|
|
163
|
-
list_separator: str =
|
|
157
|
+
list_separator: str = _DEFAULT_SEPARATOR,
|
|
164
158
|
pair_separator: str = PAIR_SEPARATOR,
|
|
165
159
|
brackets: Iterable[tuple[str, str]] | None = BRACKETS,
|
|
166
160
|
mapping: bool = False,
|
|
@@ -169,7 +163,7 @@ def split_key_value_pairs(
|
|
|
169
163
|
text: str,
|
|
170
164
|
/,
|
|
171
165
|
*,
|
|
172
|
-
list_separator: str =
|
|
166
|
+
list_separator: str = _DEFAULT_SEPARATOR,
|
|
173
167
|
pair_separator: str = PAIR_SEPARATOR,
|
|
174
168
|
brackets: Iterable[tuple[str, str]] | None = BRACKETS,
|
|
175
169
|
mapping: bool = False,
|
|
@@ -228,7 +222,7 @@ def split_str(
|
|
|
228
222
|
text: str,
|
|
229
223
|
/,
|
|
230
224
|
*,
|
|
231
|
-
separator: str =
|
|
225
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
232
226
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
233
227
|
n: Literal[1],
|
|
234
228
|
) -> tuple[str]: ...
|
|
@@ -237,7 +231,7 @@ def split_str(
|
|
|
237
231
|
text: str,
|
|
238
232
|
/,
|
|
239
233
|
*,
|
|
240
|
-
separator: str =
|
|
234
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
241
235
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
242
236
|
n: Literal[2],
|
|
243
237
|
) -> tuple[str, str]: ...
|
|
@@ -246,7 +240,7 @@ def split_str(
|
|
|
246
240
|
text: str,
|
|
247
241
|
/,
|
|
248
242
|
*,
|
|
249
|
-
separator: str =
|
|
243
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
250
244
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
251
245
|
n: Literal[3],
|
|
252
246
|
) -> tuple[str, str, str]: ...
|
|
@@ -255,7 +249,7 @@ def split_str(
|
|
|
255
249
|
text: str,
|
|
256
250
|
/,
|
|
257
251
|
*,
|
|
258
|
-
separator: str =
|
|
252
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
259
253
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
260
254
|
n: Literal[4],
|
|
261
255
|
) -> tuple[str, str, str, str]: ...
|
|
@@ -264,7 +258,7 @@ def split_str(
|
|
|
264
258
|
text: str,
|
|
265
259
|
/,
|
|
266
260
|
*,
|
|
267
|
-
separator: str =
|
|
261
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
268
262
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
269
263
|
n: Literal[5],
|
|
270
264
|
) -> tuple[str, str, str, str, str]: ...
|
|
@@ -273,7 +267,7 @@ def split_str(
|
|
|
273
267
|
text: str,
|
|
274
268
|
/,
|
|
275
269
|
*,
|
|
276
|
-
separator: str =
|
|
270
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
277
271
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
278
272
|
n: int | None = None,
|
|
279
273
|
) -> tuple[str, ...]: ...
|
|
@@ -281,7 +275,7 @@ def split_str(
|
|
|
281
275
|
text: str,
|
|
282
276
|
/,
|
|
283
277
|
*,
|
|
284
|
-
separator: str =
|
|
278
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
285
279
|
brackets: Iterable[tuple[str, str]] | None = None,
|
|
286
280
|
n: int | None = None,
|
|
287
281
|
) -> tuple[str, ...]:
|
|
@@ -306,7 +300,7 @@ def _split_str_brackets(
|
|
|
306
300
|
brackets: Iterable[tuple[str, str]],
|
|
307
301
|
/,
|
|
308
302
|
*,
|
|
309
|
-
separator: str =
|
|
303
|
+
separator: str = _DEFAULT_SEPARATOR,
|
|
310
304
|
) -> list[str]:
|
|
311
305
|
brackets = list(brackets)
|
|
312
306
|
opens, closes = transpose(brackets)
|
|
@@ -397,7 +391,7 @@ class _SplitStrOpeningBracketUnmatchedError(SplitStrError):
|
|
|
397
391
|
|
|
398
392
|
|
|
399
393
|
def join_strs(
|
|
400
|
-
texts: Iterable[str], /, *, sort: bool = False, separator: str =
|
|
394
|
+
texts: Iterable[str], /, *, sort: bool = False, separator: str = _DEFAULT_SEPARATOR
|
|
401
395
|
) -> str:
|
|
402
396
|
"""Join a collection of strings, with a special provision for the empty list."""
|
|
403
397
|
texts = list(texts)
|
|
@@ -410,7 +404,7 @@ def join_strs(
|
|
|
410
404
|
return separator.join(texts)
|
|
411
405
|
|
|
412
406
|
|
|
413
|
-
def _escape_separator(*, separator: str =
|
|
407
|
+
def _escape_separator(*, separator: str = _DEFAULT_SEPARATOR) -> str:
|
|
414
408
|
return f"\\{separator}"
|
|
415
409
|
|
|
416
410
|
|
|
@@ -513,9 +507,30 @@ def unique_str() -> str:
|
|
|
513
507
|
return f"{now}_{pid}_{ident}_{key}"
|
|
514
508
|
|
|
515
509
|
|
|
510
|
+
##
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
def _kebab_snake_case(text: str, separator: str, /) -> str:
|
|
514
|
+
"""Convert text into kebab/snake case."""
|
|
515
|
+
leading = bool(search(r"^_", text))
|
|
516
|
+
trailing = bool(search(r"_$", text))
|
|
517
|
+
parts = _SPLIT_TEXT.findall(text)
|
|
518
|
+
parts = (p for p in parts if len(p) >= 1)
|
|
519
|
+
parts = chain([""] if leading else [], parts, [""] if trailing else [])
|
|
520
|
+
return separator.join(parts).lower()
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
_SPLIT_TEXT = re.compile(
|
|
524
|
+
r"""
|
|
525
|
+
[A-Z]+(?=[A-Z][a-z0-9]) | # all caps followed by Upper+lower or digit (API in APIResponse2)
|
|
526
|
+
[A-Z]?[a-z]+[0-9]* | # normal words with optional trailing digits (Text123)
|
|
527
|
+
[A-Z]+[0-9]* | # consecutive caps with optional trailing digits (ID2)
|
|
528
|
+
""",
|
|
529
|
+
flags=VERBOSE,
|
|
530
|
+
)
|
|
531
|
+
|
|
516
532
|
__all__ = [
|
|
517
533
|
"BRACKETS",
|
|
518
|
-
"DEFAULT_SEPARATOR",
|
|
519
534
|
"LIST_SEPARATOR",
|
|
520
535
|
"PAIR_SEPARATOR",
|
|
521
536
|
"ParseBoolError",
|
|
@@ -523,6 +538,7 @@ __all__ = [
|
|
|
523
538
|
"SplitKeyValuePairsError",
|
|
524
539
|
"SplitStrError",
|
|
525
540
|
"join_strs",
|
|
541
|
+
"kebab_case",
|
|
526
542
|
"parse_bool",
|
|
527
543
|
"parse_none",
|
|
528
544
|
"pascal_case",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_missing/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_missing/module.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_with/outer_1.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/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.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_without/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/src/tests/modules/package_without/module_1.py
RENAMED
|
File without changes
|
{dycw_utilities-0.166.35 → dycw_utilities-0.166.36}/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
|