dycw-utilities 0.174.19__tar.gz → 0.174.20__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.174.19 → dycw_utilities-0.174.20}/PKG-INFO +1 -1
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/pyproject.toml +2 -2
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/__init__.py +1 -1
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/subprocess.py +9 -11
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/README.md +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/aeventkit.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/altair.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/asyncio.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/atomicwrites.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/atools.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/cachetools.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/click.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/concurrent.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/contextlib.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/contextvars.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/cryptography.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/cvxpy.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/dataclasses.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/docker.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/enum.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/errors.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/fastapi.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/fpdf2.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/functions.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/functools.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/getpass.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/git.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/grp.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/gzip.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/hashlib.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/http.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/hypothesis.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/importlib.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/inflect.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/ipython.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/iterables.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/jinja2.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/json.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/jupyter.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/libcst.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/lightweight_charts.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/logging.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/math.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/memory_profiler.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/modules.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/more_itertools.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/numpy.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/operator.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/optuna.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/orjson.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/os.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/parse.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pathlib.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/permissions.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pickle.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/platform.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/polars.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/polars_ols.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/postgres.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pottery.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pqdm.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/psutil.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pwd.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/py.typed +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pydantic.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pydantic_settings.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pydantic_settings_sops.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pyinstrument.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_plugins/__init__.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_plugins/pytest_randomly.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_plugins/pytest_regressions.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_regressions.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/random.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/re.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/redis.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/reprlib.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/scipy.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/sentinel.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/shelve.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/shutil.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/slack_sdk.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/socket.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/sqlalchemy.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/sqlalchemy_polars.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/statsmodels.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/string.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/tempfile.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/testbook.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/text.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/threading.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/timer.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/traceback.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/types.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/typing.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/tzdata.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/tzlocal.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/uuid.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/version.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/warnings.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/whenever.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/zipfile.py +0 -0
- {dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/zoneinfo.py +0 -0
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
name = "dycw-utilities"
|
|
102
102
|
readme = "README.md"
|
|
103
103
|
requires-python = ">= 3.12"
|
|
104
|
-
version = "0.174.
|
|
104
|
+
version = "0.174.20"
|
|
105
105
|
|
|
106
106
|
[project.entry-points.pytest11]
|
|
107
107
|
pytest-randomly = "utilities.pytest_plugins.pytest_randomly"
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
# bump-my-version
|
|
136
136
|
[tool.bumpversion]
|
|
137
137
|
allow_dirty = true
|
|
138
|
-
current_version = "0.174.
|
|
138
|
+
current_version = "0.174.20"
|
|
139
139
|
|
|
140
140
|
[[tool.bumpversion.files]]
|
|
141
141
|
filename = "src/utilities/__init__.py"
|
|
@@ -49,6 +49,13 @@ UPDATE_CA_CERTIFICATES: str = "update-ca-certificates"
|
|
|
49
49
|
##
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
def apt_install(package: str, /, *, update: bool = False, sudo: bool = False) -> None:
|
|
53
|
+
"""Install a package."""
|
|
54
|
+
if update: # pragma: no cover
|
|
55
|
+
run(*maybe_sudo_cmd(*APT_UPDATE, sudo=sudo))
|
|
56
|
+
run(*maybe_sudo_cmd(*apt_install_cmd(package), sudo=sudo))
|
|
57
|
+
|
|
58
|
+
|
|
52
59
|
def apt_install_cmd(package: str, /) -> list[str]:
|
|
53
60
|
"""Command to use 'apt' to install a package."""
|
|
54
61
|
return ["apt", "install", "-y", package]
|
|
@@ -250,7 +257,7 @@ def git_clone(
|
|
|
250
257
|
rm(path, sudo=sudo)
|
|
251
258
|
run(*maybe_sudo_cmd(*git_clone_cmd(url, path), sudo=sudo))
|
|
252
259
|
if branch is not None:
|
|
253
|
-
|
|
260
|
+
git_checkout(branch, path)
|
|
254
261
|
|
|
255
262
|
|
|
256
263
|
def git_clone_cmd(url: str, path: PathLike, /) -> list[str]:
|
|
@@ -261,15 +268,6 @@ def git_clone_cmd(url: str, path: PathLike, /) -> list[str]:
|
|
|
261
268
|
##
|
|
262
269
|
|
|
263
270
|
|
|
264
|
-
def git_hard_reset_cmd(*, branch: str | None = None) -> list[str]:
|
|
265
|
-
"""Command to use 'git hard-reset' to hard reset a repository."""
|
|
266
|
-
branch_use = "master" if branch is None else branch
|
|
267
|
-
return ["git", "hard-reset", branch_use]
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
##
|
|
271
|
-
|
|
272
|
-
|
|
273
271
|
def maybe_parent(path: PathLike, /, *, parent: bool = False) -> Path:
|
|
274
272
|
"""Get the parent of a path, if required."""
|
|
275
273
|
path = Path(path)
|
|
@@ -1207,6 +1205,7 @@ __all__ = [
|
|
|
1207
1205
|
"RsyncCmdError",
|
|
1208
1206
|
"RsyncCmdNoSourcesError",
|
|
1209
1207
|
"RsyncCmdSourcesNotFoundError",
|
|
1208
|
+
"apt_install",
|
|
1210
1209
|
"apt_install_cmd",
|
|
1211
1210
|
"cd_cmd",
|
|
1212
1211
|
"chmod",
|
|
@@ -1222,7 +1221,6 @@ __all__ = [
|
|
|
1222
1221
|
"git_checkout_cmd",
|
|
1223
1222
|
"git_clone",
|
|
1224
1223
|
"git_clone_cmd",
|
|
1225
|
-
"git_hard_reset_cmd",
|
|
1226
1224
|
"maybe_parent",
|
|
1227
1225
|
"maybe_sudo_cmd",
|
|
1228
1226
|
"mkdir",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_plugins/__init__.py
RENAMED
|
File without changes
|
{dycw_utilities-0.174.19 → dycw_utilities-0.174.20}/src/utilities/pytest_plugins/pytest_randomly.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|