dycw-utilities 0.129.11__tar.gz → 0.129.13__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.129.11 → dycw_utilities-0.129.13}/PKG-INFO +9 -7
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/pyproject.toml +17 -11
- dycw_utilities-0.129.13/src/tests/test_aiolimiter.py +39 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pathlib.py +21 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/__init__.py +1 -1
- dycw_utilities-0.129.13/src/utilities/aiolimiter.py +25 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pathlib.py +12 -1
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/scipy.py +1 -1
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/.gitignore +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/LICENSE +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/README.md +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/conftest.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_missing/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_missing/module.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/outer_1.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/outer_2.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/subpackage/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/subpackage/inner_1.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/subpackage/inner_2.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/subpackage/inner_3.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_without/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_without/module_1.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_without/module_2.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/standalone.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/with_imports.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__obj.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestMultipleRegressionFixtures__test_main__series.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_int.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__false.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_literal__true.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestOrjsonRegressionFixture__test_dataclass_nested.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_dataframe.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/regressions/test_pytest_regressions/TestPolarsRegressionFixture__test_series.json +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_altair.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio_classes/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio_classes/loopers.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio_classes/redis.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_atomicwrites.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_atools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_cachetools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_click.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_concurrent.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_contextlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_contextvars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_cryptography.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_cvxpy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_dataclasses.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_datetime.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_enum.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_errors.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_eventkit.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_fastapi.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_fpdf2.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_functions.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_functools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_getpass.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_git.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_hashlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_http.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_hypothesis.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_importlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_ipython.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_iterables.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_jupyter.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_libcst.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_lightweight_charts.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_logging.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_loguru.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_luigi.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_math.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_memory_profiler.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_modules.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_more_itertools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_numpy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_operator.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_optuna.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_orjson.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_os.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_parse.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_period.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pickle.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_platform.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_polars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_polars_ols.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pottery.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pqdm.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_psutil.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pydantic.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pyinstrument.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pyrsistent.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pytest.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_pytest_regressions.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_python_dotenv.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_random.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_re.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_redis.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_reprlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_scipy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_sentinel.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_shelve.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_slack_sdk.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_socket.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_sqlalchemy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_statsmodel.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_streamlit.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_string.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_sys.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_tempfile.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_tenacity.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_text.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_threading.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_timer.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/chain.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/decorated_async.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/decorated_sync.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/error_bind.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/many.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/one.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/recursive.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/task_group_one.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/task_group_two.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/two.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/untraced.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_types.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_typing.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_typing_funcs/__init__.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_typing_funcs/no_future.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_typing_funcs/with_future.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_tzdata.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_tzlocal.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_uuid.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_version.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_warnings.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_whenever.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_zipfile.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_zoneinfo.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/click.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/datetime.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/eventkit.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/git.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/http.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/loguru.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/luigi.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/math.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/os.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/period.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pyrsistent.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/python_dotenv.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/random.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/re.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/streamlit.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/string.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/sys.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/tenacity.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/text.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/types.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/version.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/utilities/zoneinfo.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: dycw-utilities
|
3
|
-
Version: 0.129.
|
3
|
+
Version: 0.129.13
|
4
4
|
Author-email: Derek Wan <d.wan@icloud.com>
|
5
5
|
License-File: LICENSE
|
6
6
|
Requires-Python: >=3.12
|
@@ -12,7 +12,7 @@ Requires-Dist: tzlocal<5.4,>=5.3.1; extra == 'logging'
|
|
12
12
|
Requires-Dist: whenever<0.9,>=0.8.4; extra == 'logging'
|
13
13
|
Provides-Extra: test
|
14
14
|
Requires-Dist: dycw-pytest-only<2.2,>=2.1.1; extra == 'test'
|
15
|
-
Requires-Dist: hypothesis<6.136,>=6.135.
|
15
|
+
Requires-Dist: hypothesis<6.136,>=6.135.2; extra == 'test'
|
16
16
|
Requires-Dist: pytest-asyncio<1.1,>=1.0.0; extra == 'test'
|
17
17
|
Requires-Dist: pytest-cov<6.2,>=6.1.1; extra == 'test'
|
18
18
|
Requires-Dist: pytest-instafail<0.6,>=0.5.0; extra == 'test'
|
@@ -24,6 +24,8 @@ Requires-Dist: pytest-rng<1.1,>=1.0.0; extra == 'test'
|
|
24
24
|
Requires-Dist: pytest-timeout<2.5,>=2.4.0; extra == 'test'
|
25
25
|
Requires-Dist: pytest-xdist<3.8,>=3.7.0; extra == 'test'
|
26
26
|
Requires-Dist: pytest<8.4,>=8.3.5; extra == 'test'
|
27
|
+
Provides-Extra: zzz-test-aiolimiter
|
28
|
+
Requires-Dist: aiolimiter<1.3,>=1.2.1; extra == 'zzz-test-aiolimiter'
|
27
29
|
Provides-Extra: zzz-test-altair
|
28
30
|
Requires-Dist: altair<5.6,>=5.5.0; extra == 'zzz-test-altair'
|
29
31
|
Requires-Dist: atomicwrites<1.5,>=1.4.1; extra == 'zzz-test-altair'
|
@@ -82,9 +84,9 @@ Provides-Extra: zzz-test-hypothesis
|
|
82
84
|
Requires-Dist: aiosqlite<0.22,>=0.21.0; extra == 'zzz-test-hypothesis'
|
83
85
|
Requires-Dist: asyncpg<0.31,>=0.30.0; extra == 'zzz-test-hypothesis'
|
84
86
|
Requires-Dist: greenlet<3.3,>=3.2.0; extra == 'zzz-test-hypothesis'
|
85
|
-
Requires-Dist: hypothesis<6.136,>=6.135.
|
87
|
+
Requires-Dist: hypothesis<6.136,>=6.135.2; extra == 'zzz-test-hypothesis'
|
86
88
|
Requires-Dist: luigi<3.7,>=3.6.0; extra == 'zzz-test-hypothesis'
|
87
|
-
Requires-Dist: numpy<2.
|
89
|
+
Requires-Dist: numpy<2.4,>=2.3.0; extra == 'zzz-test-hypothesis'
|
88
90
|
Requires-Dist: pathvalidate<3.3,>=3.2.3; extra == 'zzz-test-hypothesis'
|
89
91
|
Requires-Dist: redis<6.3,>=6.2.0; extra == 'zzz-test-hypothesis'
|
90
92
|
Requires-Dist: sqlalchemy<2.1,>=2.0.41; extra == 'zzz-test-hypothesis'
|
@@ -113,14 +115,14 @@ Provides-Extra: zzz-test-luigi
|
|
113
115
|
Requires-Dist: luigi<3.7,>=3.6.0; extra == 'zzz-test-luigi'
|
114
116
|
Requires-Dist: whenever<0.9,>=0.8.4; extra == 'zzz-test-luigi'
|
115
117
|
Provides-Extra: zzz-test-math
|
116
|
-
Requires-Dist: numpy<2.
|
118
|
+
Requires-Dist: numpy<2.4,>=2.3.0; extra == 'zzz-test-math'
|
117
119
|
Provides-Extra: zzz-test-memory-profiler
|
118
120
|
Requires-Dist: memory-profiler<0.62,>=0.61.0; extra == 'zzz-test-memory-profiler'
|
119
121
|
Provides-Extra: zzz-test-modules
|
120
122
|
Provides-Extra: zzz-test-more-itertools
|
121
123
|
Requires-Dist: more-itertools<10.8,>=10.7.0; extra == 'zzz-test-more-itertools'
|
122
124
|
Provides-Extra: zzz-test-numpy
|
123
|
-
Requires-Dist: numpy<2.
|
125
|
+
Requires-Dist: numpy<2.4,>=2.3.0; extra == 'zzz-test-numpy'
|
124
126
|
Provides-Extra: zzz-test-operator
|
125
127
|
Requires-Dist: polars-lts-cpu<1.31,>=1.30.0; extra == 'zzz-test-operator'
|
126
128
|
Requires-Dist: whenever<0.9,>=0.8.4; extra == 'zzz-test-operator'
|
@@ -177,7 +179,7 @@ Requires-Dist: scipy<1.16,>=1.15.3; extra == 'zzz-test-scipy'
|
|
177
179
|
Provides-Extra: zzz-test-sentinel
|
178
180
|
Provides-Extra: zzz-test-shelve
|
179
181
|
Provides-Extra: zzz-test-slack-sdk
|
180
|
-
Requires-Dist: aiohttp<3.
|
182
|
+
Requires-Dist: aiohttp<3.13,>=3.12.11; extra == 'zzz-test-slack-sdk'
|
181
183
|
Requires-Dist: slack-sdk<3.36,>=3.35.0; extra == 'zzz-test-slack-sdk'
|
182
184
|
Provides-Extra: zzz-test-socket
|
183
185
|
Provides-Extra: zzz-test-sqlalchemy
|
@@ -8,7 +8,8 @@ requires = ["hatchling"]
|
|
8
8
|
# dependency groups
|
9
9
|
[dependency-groups]
|
10
10
|
dev = [
|
11
|
-
"aiohttp >= 3.12.
|
11
|
+
"aiohttp >= 3.12.11, < 3.13", # for slack
|
12
|
+
"aiolimiter >= 1.2.1, < 1.3",
|
12
13
|
"aiosqlite >= 0.21.0, < 0.22",
|
13
14
|
"altair >= 5.5.0, < 5.6",
|
14
15
|
"asyncpg >= 0.30.0, < 0.31", # for sqlalchemy async
|
@@ -24,7 +25,7 @@ dev = [
|
|
24
25
|
"fpdf2 >= 2.8.3, < 2.9",
|
25
26
|
"greenlet >= 3.2.0, < 3.3", # for sqlalchemy async
|
26
27
|
"httpx >= 0.28.1, < 0.29", # for fastapi
|
27
|
-
"hypothesis >= 6.135.
|
28
|
+
"hypothesis >= 6.135.2, < 6.136",
|
28
29
|
"img2pdf >= 0.6.0, < 0.7",
|
29
30
|
"lightweight-charts >= 2.1, < 2.2",
|
30
31
|
"loguru >= 0.7.3, < 0.8",
|
@@ -33,7 +34,7 @@ dev = [
|
|
33
34
|
"more-itertools >= 10.7.0, < 10.8",
|
34
35
|
"nest-asyncio >= 1.6.0, < 1.7", # for sqlalchemy async
|
35
36
|
"nox >= 2025.2.9, < 2025.3",
|
36
|
-
"numpy >= 2.
|
37
|
+
"numpy >= 2.3.0, < 2.4",
|
37
38
|
"libcst >= 1.8.0, < 1.9",
|
38
39
|
"optuna >= 4.3.0, < 4.4",
|
39
40
|
"orjson >= 3.10.18, < 3.11",
|
@@ -82,6 +83,7 @@ dev = [
|
|
82
83
|
"pytest-xdist >= 3.7.0, < 3.8",
|
83
84
|
# CI
|
84
85
|
"win32_setctime >= 1.2.0, < 1.3", # https://github.com/Delgan/loguru/issues/147
|
86
|
+
"aiolimiter>=1.2.1",
|
85
87
|
]
|
86
88
|
|
87
89
|
# project
|
@@ -93,7 +95,7 @@ dependencies = [
|
|
93
95
|
name = "dycw-utilities"
|
94
96
|
readme = "README.md"
|
95
97
|
requires-python = ">= 3.12"
|
96
|
-
version = "0.129.
|
98
|
+
version = "0.129.13"
|
97
99
|
|
98
100
|
[project.optional-dependencies]
|
99
101
|
logging = [
|
@@ -104,7 +106,7 @@ logging = [
|
|
104
106
|
]
|
105
107
|
test = [
|
106
108
|
"dycw-pytest-only >= 2.1.1, < 2.2",
|
107
|
-
"hypothesis >= 6.135.
|
109
|
+
"hypothesis >= 6.135.2, < 6.136",
|
108
110
|
"pytest >= 8.3.5, < 8.4",
|
109
111
|
"pytest-asyncio >= 1.0.0, < 1.1",
|
110
112
|
"pytest-cov >= 6.1.1, < 6.2",
|
@@ -117,6 +119,9 @@ test = [
|
|
117
119
|
"pytest-timeout >= 2.4.0, < 2.5",
|
118
120
|
"pytest-xdist >= 3.7.0, < 3.8",
|
119
121
|
]
|
122
|
+
zzz-test-aiolimiter = [
|
123
|
+
"aiolimiter >= 1.2.1, < 1.3",
|
124
|
+
]
|
120
125
|
zzz-test-altair = [
|
121
126
|
"altair >= 5.5.0, < 5.6",
|
122
127
|
"atomicwrites >= 1.4.1, < 1.5",
|
@@ -179,9 +184,9 @@ zzz-test-hypothesis = [
|
|
179
184
|
"aiosqlite >= 0.21.0, < 0.22",
|
180
185
|
"asyncpg >= 0.30.0, < 0.31", # for sqlalchemy async
|
181
186
|
"greenlet >= 3.2.0, < 3.3", # for sqlalchemy async
|
182
|
-
"hypothesis >= 6.135.
|
187
|
+
"hypothesis >= 6.135.2, < 6.136",
|
183
188
|
"luigi >= 3.6.0, < 3.7",
|
184
|
-
"numpy >= 2.
|
189
|
+
"numpy >= 2.3.0, < 2.4",
|
185
190
|
"pathvalidate >= 3.2.3, < 3.3",
|
186
191
|
"redis >= 6.2.0, < 6.3",
|
187
192
|
"sqlalchemy >= 2.0.41, < 2.1",
|
@@ -212,11 +217,11 @@ zzz-test-luigi = [
|
|
212
217
|
"luigi >= 3.6.0, < 3.7",
|
213
218
|
"whenever >= 0.8.4, < 0.9",
|
214
219
|
]
|
215
|
-
zzz-test-math = ["numpy >= 2.
|
220
|
+
zzz-test-math = ["numpy >= 2.3.0, < 2.4"]
|
216
221
|
zzz-test-memory-profiler = ["memory-profiler >= 0.61.0, < 0.62"]
|
217
222
|
zzz-test-modules = []
|
218
223
|
zzz-test-more-itertools = ["more-itertools >= 10.7.0, < 10.8"]
|
219
|
-
zzz-test-numpy = ["numpy >= 2.
|
224
|
+
zzz-test-numpy = ["numpy >= 2.3.0, < 2.4"]
|
220
225
|
zzz-test-operator = [
|
221
226
|
"polars-lts-cpu >= 1.30.0, < 1.31",
|
222
227
|
"whenever >= 0.8.4, < 0.9",
|
@@ -274,7 +279,7 @@ zzz-test-scipy = ["scipy >= 1.15.3, < 1.16"]
|
|
274
279
|
zzz-test-sentinel = []
|
275
280
|
zzz-test-shelve = []
|
276
281
|
zzz-test-slack-sdk = [
|
277
|
-
"aiohttp >= 3.12.
|
282
|
+
"aiohttp >= 3.12.11, < 3.13", # for slack
|
278
283
|
"slack-sdk >= 3.35.0, < 3.36",
|
279
284
|
]
|
280
285
|
zzz-test-socket = []
|
@@ -338,7 +343,7 @@ zzz-test-zoneinfo = [
|
|
338
343
|
# bump-my-version
|
339
344
|
[tool.bumpversion]
|
340
345
|
allow_dirty = true
|
341
|
-
current_version = "0.129.
|
346
|
+
current_version = "0.129.13"
|
342
347
|
|
343
348
|
[[tool.bumpversion.files]]
|
344
349
|
filename = "src/utilities/__init__.py"
|
@@ -449,6 +454,7 @@ filterwarnings = [
|
|
449
454
|
"ignore:Implicitly cleaning up <TemporaryDirectory '.*'>:ResourceWarning",
|
450
455
|
"ignore:ResourceTracker called reentrantly for resource cleanup, which is unsupported:UserWarning",
|
451
456
|
"ignore:Task .* without outputs has no custom complete.* method:UserWarning", # luigi
|
457
|
+
"ignore:The garbage collector is trying to clean up non-checked-in connection <AdaptedConnection <Connection(.*)>>:sqlalchemy.exc.SAWarning", # sqlalchemy
|
452
458
|
"ignore:There is no current event loop:DeprecationWarning", # eventkit
|
453
459
|
"ignore:Using fork.* can cause Polars to deadlock in the child process:RuntimeWarning", # polars/pqdm
|
454
460
|
"ignore:coroutine 'AsyncConnection.close' was never awaited:RuntimeWarning",
|
@@ -0,0 +1,39 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from asyncio import sleep
|
4
|
+
from typing import ClassVar
|
5
|
+
|
6
|
+
from utilities.aiolimiter import get_async_limiter
|
7
|
+
from utilities.text import unique_str
|
8
|
+
from utilities.timer import Timer
|
9
|
+
|
10
|
+
|
11
|
+
class TestGetAsyncLimiter:
|
12
|
+
async def test_main(self) -> None:
|
13
|
+
counter = 0
|
14
|
+
|
15
|
+
async def increment() -> None:
|
16
|
+
nonlocal counter
|
17
|
+
counter += 1
|
18
|
+
await sleep(0.01)
|
19
|
+
|
20
|
+
name = unique_str()
|
21
|
+
with Timer() as timer:
|
22
|
+
for _ in range(2):
|
23
|
+
async with get_async_limiter(name, rate=0.5):
|
24
|
+
await increment()
|
25
|
+
assert timer >= 0.48
|
26
|
+
|
27
|
+
shared: ClassVar[str] = unique_str()
|
28
|
+
|
29
|
+
async def test_shared1(self) -> None:
|
30
|
+
async with get_async_limiter(self.shared):
|
31
|
+
await sleep(0.01)
|
32
|
+
|
33
|
+
async def test_shared2(self) -> None:
|
34
|
+
async with get_async_limiter(self.shared):
|
35
|
+
await sleep(0.01)
|
36
|
+
|
37
|
+
async def test_shared3(self) -> None:
|
38
|
+
async with get_async_limiter(self.shared):
|
39
|
+
await sleep(0.01)
|
@@ -8,11 +8,13 @@ from hypothesis import given, settings
|
|
8
8
|
from hypothesis.strategies import integers, sets
|
9
9
|
from pytest import mark, param, raises
|
10
10
|
|
11
|
+
from tests.conftest import SKIPIF_CI_AND_WINDOWS
|
11
12
|
from utilities.dataclasses import replace_non_sentinel
|
12
13
|
from utilities.hypothesis import git_repos, paths, temp_paths
|
13
14
|
from utilities.pathlib import (
|
14
15
|
GetRootError,
|
15
16
|
ensure_suffix,
|
17
|
+
expand_path,
|
16
18
|
get_path,
|
17
19
|
get_root,
|
18
20
|
list_dir,
|
@@ -40,6 +42,25 @@ class TestEnsureSuffix:
|
|
40
42
|
assert result == expected
|
41
43
|
|
42
44
|
|
45
|
+
class TestExpandPath:
|
46
|
+
@mark.parametrize(
|
47
|
+
("path", "expected"),
|
48
|
+
[
|
49
|
+
param("foo", Path("foo")),
|
50
|
+
param("~", Path.home()),
|
51
|
+
param("~/foo", Path.home().joinpath("foo")),
|
52
|
+
param("$HOME", Path.home(), marks=SKIPIF_CI_AND_WINDOWS),
|
53
|
+
param(
|
54
|
+
"$HOME/foo", Path.home().joinpath("foo"), marks=SKIPIF_CI_AND_WINDOWS
|
55
|
+
),
|
56
|
+
],
|
57
|
+
ids=str,
|
58
|
+
)
|
59
|
+
def test_main(self, *, path: Path, expected: Path) -> None:
|
60
|
+
result = expand_path(path)
|
61
|
+
assert result == expected
|
62
|
+
|
63
|
+
|
43
64
|
class TestGetPath:
|
44
65
|
@given(path=paths())
|
45
66
|
def test_path(self, *, path: Path) -> None:
|
@@ -0,0 +1,25 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from asyncio import get_running_loop
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
from aiolimiter import AsyncLimiter
|
7
|
+
|
8
|
+
if TYPE_CHECKING:
|
9
|
+
from collections.abc import Hashable
|
10
|
+
|
11
|
+
_LIMITERS: dict[tuple[int, Hashable], AsyncLimiter] = {}
|
12
|
+
|
13
|
+
|
14
|
+
def get_async_limiter(key: Hashable, /, *, rate: float = 1.0) -> AsyncLimiter:
|
15
|
+
"""Get a loop-aware rate limiter."""
|
16
|
+
id_ = id(get_running_loop())
|
17
|
+
full = (id_, key)
|
18
|
+
try:
|
19
|
+
return _LIMITERS[full]
|
20
|
+
except KeyError:
|
21
|
+
limiter = _LIMITERS[full] = AsyncLimiter(1.0, time_period=rate)
|
22
|
+
return limiter
|
23
|
+
|
24
|
+
|
25
|
+
__all__ = ["get_async_limiter"]
|
@@ -5,6 +5,7 @@ from contextlib import contextmanager, suppress
|
|
5
5
|
from dataclasses import dataclass
|
6
6
|
from itertools import chain
|
7
7
|
from os import chdir
|
8
|
+
from os.path import expandvars
|
8
9
|
from pathlib import Path
|
9
10
|
from re import IGNORECASE, search
|
10
11
|
from subprocess import PIPE, CalledProcessError, check_output
|
@@ -34,6 +35,16 @@ def ensure_suffix(path: PathLike, suffix: str, /) -> Path:
|
|
34
35
|
##
|
35
36
|
|
36
37
|
|
38
|
+
def expand_path(path: PathLike, /) -> Path:
|
39
|
+
"""Expand a path."""
|
40
|
+
path = str(path)
|
41
|
+
path = expandvars(path)
|
42
|
+
return Path(path).expanduser()
|
43
|
+
|
44
|
+
|
45
|
+
##
|
46
|
+
|
47
|
+
|
37
48
|
@overload
|
38
49
|
def get_path(*, path: MaybeCallablePathLike | None) -> Path: ...
|
39
50
|
@overload
|
@@ -111,4 +122,4 @@ def temp_cwd(path: PathLike, /) -> Iterator[None]:
|
|
111
122
|
chdir(prev)
|
112
123
|
|
113
124
|
|
114
|
-
__all__ = ["PWD", "ensure_suffix", "get_path", "list_dir", "temp_cwd"]
|
125
|
+
__all__ = ["PWD", "ensure_suffix", "expand_path", "get_path", "list_dir", "temp_cwd"]
|
@@ -19,7 +19,7 @@ def _ppf_1d(array: NDArrayF, cutoff: float, /) -> NDArrayF:
|
|
19
19
|
out = full_like(array, nan, dtype=float)
|
20
20
|
out[j] = _ppf_1d(array[j], cutoff)
|
21
21
|
return out
|
22
|
-
low, high = min(
|
22
|
+
low, high = array.min(), array.max()
|
23
23
|
if is_zero(span := high - low):
|
24
24
|
return zeros_like(array, dtype=float)
|
25
25
|
centred = (array - low) / span
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_missing/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_missing/module.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_with/outer_1.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/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.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_without/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/modules/package_without/module_1.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/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
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio_classes/__init__.py
RENAMED
File without changes
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_asyncio_classes/loopers.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
|
{dycw_utilities-0.129.11 → dycw_utilities-0.129.13}/src/tests/test_traceback_funcs/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|