dycw-utilities 0.136.5__tar.gz → 0.136.6__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.136.5 → dycw_utilities-0.136.6}/PKG-INFO +1 -1
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/pyproject.toml +2 -2
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_libcst.py +10 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/libcst.py +25 -4
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/.gitignore +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/LICENSE +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/README.md +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_aiolimiter.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_asyncio_classes/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_asyncio_classes/loopers.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_asyncio_classes/redis.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_inflect.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_luigi.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_objects/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_objects/objects.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pathlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_statsmodels.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_typed_settings.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/aiolimiter.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/click.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/git.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/http.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/luigi.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/math.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/os.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/period.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/random.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/re.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/string.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/text.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/typed_settings.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/types.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/version.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/utilities/zoneinfo.py +0 -0
@@ -105,7 +105,7 @@ dependencies = [
|
|
105
105
|
name = "dycw-utilities"
|
106
106
|
readme = "README.md"
|
107
107
|
requires-python = ">= 3.12"
|
108
|
-
version = "0.136.
|
108
|
+
version = "0.136.6"
|
109
109
|
|
110
110
|
[project.optional-dependencies]
|
111
111
|
logging = [
|
@@ -133,7 +133,7 @@ test = [
|
|
133
133
|
# bump-my-version
|
134
134
|
[tool.bumpversion]
|
135
135
|
allow_dirty = true
|
136
|
-
current_version = "0.136.
|
136
|
+
current_version = "0.136.6"
|
137
137
|
|
138
138
|
[[tool.bumpversion.files]]
|
139
139
|
filename = "src/utilities/__init__.py"
|
@@ -22,6 +22,7 @@ from pytest import raises
|
|
22
22
|
from tests.conftest import SKIPIF_CI
|
23
23
|
from utilities.iterables import one
|
24
24
|
from utilities.libcst import (
|
25
|
+
GenerateImportFromError,
|
25
26
|
_ParseImportAliasError,
|
26
27
|
_ParseImportEmptyModuleError,
|
27
28
|
generate_f_string,
|
@@ -63,8 +64,10 @@ class TestGenerateImportFrom:
|
|
63
64
|
case=sampled_from([
|
64
65
|
("foo", "bar", None, "from foo import bar"),
|
65
66
|
("foo", "bar", "bar2", "from foo import bar as bar2"),
|
67
|
+
("foo", "*", None, "from foo import *"),
|
66
68
|
("foo.bar", "baz", None, "from foo.bar import baz"),
|
67
69
|
("foo.bar", "baz", "baz2", "from foo.bar import baz as baz2"),
|
70
|
+
("foo.bar", "*", None, "from foo.bar import *"),
|
68
71
|
])
|
69
72
|
)
|
70
73
|
def test_main(self, *, case: tuple[str, str, str | None, str]) -> None:
|
@@ -73,6 +76,13 @@ class TestGenerateImportFrom:
|
|
73
76
|
result = Module([SimpleStatementLine([imp])]).code.strip("\n")
|
74
77
|
assert result == expected
|
75
78
|
|
79
|
+
def test_error(self) -> None:
|
80
|
+
with raises(
|
81
|
+
GenerateImportFromError,
|
82
|
+
match=r"Invalid import: 'from foo import \* as bar'",
|
83
|
+
):
|
84
|
+
_ = generate_import_from("foo", "*", asname="bar")
|
85
|
+
|
76
86
|
|
77
87
|
class TestParseImport:
|
78
88
|
def test_import_one_name(self) -> None:
|
@@ -43,10 +43,30 @@ def generate_import_from(
|
|
43
43
|
module: str, name: str, /, *, asname: str | None = None
|
44
44
|
) -> ImportFrom:
|
45
45
|
"""Generate an `ImportFrom` object."""
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
match name, asname:
|
47
|
+
case "*", None:
|
48
|
+
names = ImportStar()
|
49
|
+
case "*", str():
|
50
|
+
raise GenerateImportFromError(module=module, asname=asname)
|
51
|
+
case _, None:
|
52
|
+
alias = ImportAlias(name=Name(name))
|
53
|
+
names = [alias]
|
54
|
+
case _, str():
|
55
|
+
alias = ImportAlias(name=Name(name), asname=AsName(Name(asname)))
|
56
|
+
names = [alias]
|
57
|
+
case _ as never:
|
58
|
+
assert_never(never)
|
59
|
+
return ImportFrom(module=split_dotted_str(module), names=names)
|
60
|
+
|
61
|
+
|
62
|
+
@dataclass(kw_only=True, slots=True)
|
63
|
+
class GenerateImportFromError(Exception):
|
64
|
+
module: str
|
65
|
+
asname: str | None = None
|
66
|
+
|
67
|
+
@override
|
68
|
+
def __str__(self) -> str:
|
69
|
+
return f"Invalid import: 'from {self.module} import * as {self.asname}'"
|
50
70
|
|
51
71
|
|
52
72
|
##
|
@@ -168,6 +188,7 @@ def render_module(source: str | Module, /) -> str:
|
|
168
188
|
|
169
189
|
|
170
190
|
__all__ = [
|
191
|
+
"GenerateImportFromError",
|
171
192
|
"ParseImportError",
|
172
193
|
"generate_f_string",
|
173
194
|
"generate_import",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/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.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/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
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/src/tests/test_asyncio_classes/__init__.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
|
{dycw_utilities-0.136.5 → dycw_utilities-0.136.6}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|