dycw-actions 0.8.11__py3-none-any.whl → 0.14.0__py3-none-any.whl

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.
Files changed (46) hide show
  1. actions/.DS_Store +0 -0
  2. actions/__init__.py +1 -1
  3. actions/clean_dir/lib.py +7 -4
  4. actions/cli.py +23 -2
  5. actions/constants.py +2 -0
  6. actions/git_clone_with/__init__.py +1 -0
  7. actions/git_clone_with/cli.py +41 -0
  8. actions/git_clone_with/constants.py +7 -0
  9. actions/git_clone_with/lib.py +78 -0
  10. actions/git_clone_with/settings.py +20 -0
  11. actions/pre_commit/conformalize_repo/action_dicts.py +39 -40
  12. actions/pre_commit/conformalize_repo/cli.py +16 -4
  13. actions/pre_commit/conformalize_repo/constants.py +14 -0
  14. actions/pre_commit/conformalize_repo/lib.py +350 -220
  15. actions/pre_commit/conformalize_repo/settings.py +42 -16
  16. actions/pre_commit/constants.py +3 -3
  17. actions/pre_commit/format_requirements/lib.py +5 -2
  18. actions/pre_commit/replace_sequence_strs/lib.py +5 -2
  19. actions/pre_commit/touch_empty_py/lib.py +7 -4
  20. actions/pre_commit/touch_py_typed/lib.py +9 -5
  21. actions/pre_commit/update_requirements/cli.py +10 -2
  22. actions/pre_commit/update_requirements/lib.py +78 -15
  23. actions/pre_commit/update_requirements/settings.py +23 -0
  24. actions/pre_commit/utilities.py +131 -39
  25. actions/publish_package/lib.py +33 -20
  26. actions/random_sleep/lib.py +12 -7
  27. actions/re_encrypt/__init__.py +1 -0
  28. actions/re_encrypt/cli.py +36 -0
  29. actions/re_encrypt/constants.py +7 -0
  30. actions/re_encrypt/lib.py +115 -0
  31. actions/re_encrypt/settings.py +26 -0
  32. actions/register_gitea_runner/configs/entrypoint.sh +8 -8
  33. actions/register_gitea_runner/lib.py +23 -14
  34. actions/run_hooks/lib.py +27 -14
  35. actions/setup_cronjob/lib.py +19 -13
  36. actions/setup_ssh_config/__init__.py +1 -0
  37. actions/setup_ssh_config/cli.py +17 -0
  38. actions/setup_ssh_config/constants.py +7 -0
  39. actions/setup_ssh_config/lib.py +30 -0
  40. actions/tag_commit/lib.py +16 -9
  41. actions/types.py +5 -9
  42. actions/utilities.py +1 -16
  43. {dycw_actions-0.8.11.dist-info → dycw_actions-0.14.0.dist-info}/METADATA +5 -3
  44. {dycw_actions-0.8.11.dist-info → dycw_actions-0.14.0.dist-info}/RECORD +46 -30
  45. {dycw_actions-0.8.11.dist-info → dycw_actions-0.14.0.dist-info}/WHEEL +1 -1
  46. {dycw_actions-0.8.11.dist-info → dycw_actions-0.14.0.dist-info}/entry_points.txt +0 -0
actions/run_hooks/lib.py CHANGED
@@ -1,23 +1,28 @@
1
1
  from __future__ import annotations
2
2
 
3
- import time
4
3
  from contextlib import suppress
5
- from pathlib import Path
6
4
  from re import search
7
5
  from subprocess import CalledProcessError
8
- from typing import TYPE_CHECKING, Any
6
+ from typing import TYPE_CHECKING
9
7
 
10
- from utilities.functions import ensure_class, ensure_str
8
+ import utilities.time
9
+ from utilities.functions import ensure_str, get_func_name
10
+ from utilities.tabulate import func_param_desc
11
11
  from whenever import TimeDelta
12
12
  from yaml import safe_load
13
13
 
14
+ from actions import __version__
15
+ from actions.constants import PRE_COMMIT_CONFIG_YAML
14
16
  from actions.logging import LOGGER
17
+ from actions.pre_commit.utilities import get_list_dicts
15
18
  from actions.run_hooks.settings import SETTINGS
16
- from actions.utilities import log_func_call, logged_run
19
+ from actions.utilities import logged_run
17
20
 
18
21
  if TYPE_CHECKING:
19
22
  from collections.abc import Iterator
20
23
 
24
+ from utilities.types import StrDict
25
+
21
26
 
22
27
  def run_hooks(
23
28
  *,
@@ -26,8 +31,16 @@ def run_hooks(
26
31
  hooks_exclude: list[str] | None = SETTINGS.hooks_exclude,
27
32
  sleep: int = SETTINGS.sleep,
28
33
  ) -> None:
29
- variables = [f"{repos=}", f"{hooks=}", f"{hooks_exclude=}", f"{sleep=}"]
30
- LOGGER.info(log_func_call(run_hooks, *variables))
34
+ LOGGER.info(
35
+ func_param_desc(
36
+ run_hooks,
37
+ __version__,
38
+ f"{repos=}",
39
+ f"{hooks=}",
40
+ f"{hooks_exclude=}",
41
+ f"{sleep=}",
42
+ )
43
+ )
31
44
  results = {
32
45
  hook: _run_hook(hook, sleep=sleep)
33
46
  for hook in _yield_hooks(repos=repos, hooks=hooks, hooks_exclude=hooks_exclude)
@@ -36,6 +49,7 @@ def run_hooks(
36
49
  if len(failed) >= 1:
37
50
  msg = f"Failed hook(s): {', '.join(failed)}"
38
51
  raise RuntimeError(msg)
52
+ LOGGER.info("Finished running %r", get_func_name(run_hooks))
39
53
 
40
54
 
41
55
  def _yield_hooks(
@@ -44,10 +58,10 @@ def _yield_hooks(
44
58
  hooks: list[str] | None = SETTINGS.hooks,
45
59
  hooks_exclude: list[str] | None = SETTINGS.hooks_exclude,
46
60
  ) -> Iterator[str]:
47
- dict_ = safe_load(Path(".pre-commit-config.yaml").read_text())
48
- repos_list = ensure_class(dict_["repos"], list)
61
+ dict_ = safe_load(PRE_COMMIT_CONFIG_YAML.read_text())
62
+ repos_list = get_list_dicts(dict_, "repos")
49
63
  results: set[str] = set()
50
- for repo in (ensure_class(r, dict) for r in repos_list):
64
+ for repo in repos_list:
51
65
  url = repo["repo"]
52
66
  if (repos is not None) and any(search(repo_i, url) for repo_i in repos):
53
67
  results.update(_yield_repo_hooks(repo))
@@ -62,9 +76,8 @@ def _yield_hooks(
62
76
  yield from sorted(results)
63
77
 
64
78
 
65
- def _yield_repo_hooks(repo: dict[str, Any], /) -> Iterator[str]:
66
- hooks = ensure_class(repo["hooks"], list)
67
- for hook in (ensure_class(r, dict) for r in hooks):
79
+ def _yield_repo_hooks(repo: StrDict, /) -> Iterator[str]:
80
+ for hook in get_list_dicts(repo, "hooks"):
68
81
  yield ensure_str(hook["id"])
69
82
 
70
83
 
@@ -83,7 +96,7 @@ def _run_hook(hook: str, /, *, sleep: int = SETTINGS.sleep) -> bool:
83
96
  "succeeded" if is_success else "failed",
84
97
  delta,
85
98
  )
86
- time.sleep(sleep)
99
+ utilities.time.sleep(sleep)
87
100
  LOGGER.info("Finished sleeping for %s", delta)
88
101
  return is_success
89
102
 
@@ -3,13 +3,15 @@ from __future__ import annotations
3
3
  from string import Template
4
4
  from typing import TYPE_CHECKING
5
5
 
6
+ from utilities.functions import get_func_name
6
7
  from utilities.platform import SYSTEM
7
8
  from utilities.subprocess import chmod, chown, tee
9
+ from utilities.tabulate import func_param_desc
8
10
 
11
+ from actions import __version__
9
12
  from actions.logging import LOGGER
10
13
  from actions.setup_cronjob.constants import PATH_CONFIGS
11
14
  from actions.setup_cronjob.settings import SETTINGS
12
- from actions.utilities import log_func_call
13
15
 
14
16
  if TYPE_CHECKING:
15
17
  from collections.abc import Sequence
@@ -30,18 +32,21 @@ def setup_cronjob(
30
32
  logs_keep: int = SETTINGS.logs_keep,
31
33
  ) -> None:
32
34
  """Set up a cronjob & logrotate."""
33
- variables = [
34
- f"{name=}",
35
- f"{prepend_path=}",
36
- f"{schedule=}",
37
- f"{user=}",
38
- f"{timeout=}",
39
- f"{kill_after=}",
40
- f"{command=}",
41
- f"{args=}",
42
- f"{logs_keep=}",
43
- ]
44
- LOGGER.info(log_func_call(setup_cronjob, *variables))
35
+ LOGGER.info(
36
+ func_param_desc(
37
+ setup_cronjob,
38
+ __version__,
39
+ f"{name=}",
40
+ f"{prepend_path=}",
41
+ f"{schedule=}",
42
+ f"{user=}",
43
+ f"{timeout=}",
44
+ f"{kill_after=}",
45
+ f"{command=}",
46
+ f"{args=}",
47
+ f"{logs_keep=}",
48
+ )
49
+ )
45
50
  if SYSTEM != "linux":
46
51
  msg = f"System must be 'linux'; got {SYSTEM!r}"
47
52
  raise TypeError(msg)
@@ -61,6 +66,7 @@ def setup_cronjob(
61
66
  _tee_and_perms(
62
67
  f"/etc/logrotate.d/{name}", _get_logrotate(name=name, logs_keep=logs_keep)
63
68
  )
69
+ LOGGER.info("Finished running %r", get_func_name(setup_cronjob))
64
70
 
65
71
 
66
72
  def _get_crontab(
@@ -0,0 +1 @@
1
+ from __future__ import annotations
@@ -0,0 +1,17 @@
1
+ from __future__ import annotations
2
+
3
+ from utilities.logging import basic_config
4
+ from utilities.os import is_pytest
5
+
6
+ from actions.logging import LOGGER
7
+ from actions.setup_ssh_config.lib import setup_ssh_config
8
+
9
+
10
+ def setup_ssh_config_sub_cmd() -> None:
11
+ if is_pytest():
12
+ return
13
+ basic_config(obj=LOGGER)
14
+ setup_ssh_config()
15
+
16
+
17
+ __all__ = ["setup_ssh_config_sub_cmd"]
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+
3
+ SETUP_SSH_CONFIG_DOCSTRING = "Setup '.ssh/config.d'"
4
+ SETUP_SSH_CONFIG_SUB_CMD = "setup-ssh-config"
5
+
6
+
7
+ __all__ = ["SETUP_SSH_CONFIG_DOCSTRING", "SETUP_SSH_CONFIG_SUB_CMD"]
@@ -0,0 +1,30 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import TYPE_CHECKING
4
+
5
+ from utilities.atomicwrites import writer
6
+ from utilities.functions import get_func_name
7
+ from utilities.tabulate import func_param_desc
8
+
9
+ from actions import __version__
10
+ from actions.constants import SSH
11
+ from actions.logging import LOGGER
12
+
13
+ if TYPE_CHECKING:
14
+ from pathlib import Path
15
+
16
+
17
+ def setup_ssh_config() -> None:
18
+ LOGGER.info(func_param_desc(setup_ssh_config, __version__))
19
+ path = get_ssh_config("*")
20
+ with writer(SSH / "config", overwrite=True) as temp:
21
+ _ = temp.write_text(f"Include {path}")
22
+ path.parent.mkdir(parents=True, exist_ok=True)
23
+ LOGGER.info("Finished running %r", get_func_name(setup_ssh_config))
24
+
25
+
26
+ def get_ssh_config(stem: str, /) -> Path:
27
+ return SSH / "config.d" / f"{stem}.conf"
28
+
29
+
30
+ __all__ = ["setup_ssh_config"]
actions/tag_commit/lib.py CHANGED
@@ -3,11 +3,14 @@ from __future__ import annotations
3
3
  from contextlib import suppress
4
4
  from subprocess import CalledProcessError
5
5
 
6
+ from utilities.functions import get_func_name
7
+ from utilities.tabulate import func_param_desc
6
8
  from utilities.version import parse_version
7
9
 
10
+ from actions import __version__
8
11
  from actions.logging import LOGGER
9
12
  from actions.tag_commit.settings import SETTINGS
10
- from actions.utilities import log_func_call, logged_run
13
+ from actions.utilities import logged_run
11
14
 
12
15
 
13
16
  def tag_commit(
@@ -18,14 +21,17 @@ def tag_commit(
18
21
  major: bool = SETTINGS.major,
19
22
  latest: bool = SETTINGS.latest,
20
23
  ) -> None:
21
- variables = [
22
- f"{user_name=}",
23
- f"{user_email=}",
24
- f"{major_minor=}",
25
- f"{major=}",
26
- f"{latest=}",
27
- ]
28
- LOGGER.info(log_func_call(tag_commit, *variables))
24
+ LOGGER.info(
25
+ func_param_desc(
26
+ tag_commit,
27
+ __version__,
28
+ f"{user_name=}",
29
+ f"{user_email=}",
30
+ f"{major_minor=}",
31
+ f"{major=}",
32
+ f"{latest=}",
33
+ )
34
+ )
29
35
  logged_run("git", "config", "--global", "user.name", user_name)
30
36
  logged_run("git", "config", "--global", "user.email", user_email)
31
37
  version = parse_version(
@@ -38,6 +44,7 @@ def tag_commit(
38
44
  _tag(str(version.major))
39
45
  if latest:
40
46
  _tag("latest")
47
+ LOGGER.info("Finished running %r", get_func_name(tag_commit))
41
48
 
42
49
 
43
50
  def _tag(version: str, /) -> None:
actions/types.py CHANGED
@@ -1,21 +1,17 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  from collections.abc import Callable
4
- from typing import TYPE_CHECKING, Any
5
4
 
6
- from tomlkit.items import Array, Table
5
+ from tomlkit.container import Container
6
+ from tomlkit.items import AoT, Table
7
7
  from typed_settings import Secret
8
8
  from utilities.packaging import Requirement
9
9
  from utilities.types import StrDict
10
10
 
11
- if TYPE_CHECKING:
12
- from tomlkit.container import Container
13
-
14
-
11
+ type ArrayLike = AoT | list[str] | list[StrDict]
12
+ type ContainerLike = Container | Table
15
13
  type FuncRequirement = Callable[[Requirement], Requirement]
16
- type HasAppend = Array | list[Any]
17
- type HasSetDefault = Container | StrDict | Table
18
14
  type SecretLike = str | Secret[str]
19
15
 
20
16
 
21
- __all__ = ["FuncRequirement", "HasAppend", "HasSetDefault", "SecretLike"]
17
+ __all__ = ["ArrayLike", "ContainerLike", "FuncRequirement", "SecretLike"]
actions/utilities.py CHANGED
@@ -2,22 +2,18 @@ from __future__ import annotations
2
2
 
3
3
  from io import StringIO
4
4
  from pathlib import Path
5
- from textwrap import indent
6
5
  from typing import TYPE_CHECKING, Any, Literal, assert_never, overload
7
6
 
8
- from tabulate import tabulate
9
7
  from typed_settings import EnvLoader, Secret
10
8
  from utilities.atomicwrites import writer
11
- from utilities.functions import get_func_name
12
9
  from utilities.subprocess import run
13
10
  from utilities.text import split_str
14
11
 
15
- from actions import __version__
16
12
  from actions.constants import YAML_INSTANCE
17
13
  from actions.logging import LOGGER
18
14
 
19
15
  if TYPE_CHECKING:
20
- from collections.abc import Callable, MutableSet
16
+ from collections.abc import MutableSet
21
17
 
22
18
  from utilities.types import PathLike, StrStrMapping
23
19
 
@@ -87,17 +83,6 @@ def ensure_new_line(text: str, /) -> str:
87
83
  return text.strip("\n") + "\n"
88
84
 
89
85
 
90
- def log_func_call(func: Callable[..., Any], /, *variables: str) -> str:
91
- name = get_func_name(func)
92
- table = tabulate(
93
- list(map(split_f_str_equals, variables)), tablefmt="rounded_outline"
94
- )
95
- indented = indent(table, " ")
96
- return f"""
97
- Running {name!r} (version {__version__}) with:
98
- {indented}"""
99
-
100
-
101
86
  @overload
102
87
  def logged_run(
103
88
  cmd: SecretLike,
@@ -1,11 +1,13 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dycw-actions
3
- Version: 0.8.11
3
+ Version: 0.14.0
4
4
  Summary: Library of actions
5
5
  Requires-Dist: click>=8.3.1,<9
6
- Requires-Dist: dycw-utilities>=0.179.0,<1
6
+ Requires-Dist: coloredlogs>=15.0.1,<16
7
+ Requires-Dist: dycw-utilities>=0.181.0,<1
7
8
  Requires-Dist: inflect>=7.5.0,<8
8
9
  Requires-Dist: libcst>=1.8.6,<2
10
+ Requires-Dist: ordered-set>=4.1.0,<5
9
11
  Requires-Dist: packaging>=25.0,<26
10
12
  Requires-Dist: pydantic>=2.12.5,<3
11
13
  Requires-Dist: pyyaml>=6.0.3,<7
@@ -13,7 +15,7 @@ Requires-Dist: requests>=2.32.5,<3
13
15
  Requires-Dist: rich>=14.2.0,<15
14
16
  Requires-Dist: ruamel-yaml>=0.19.1,<1
15
17
  Requires-Dist: tabulate>=0.9.0,<1
16
- Requires-Dist: tomlkit>=0.13.3,<1
18
+ Requires-Dist: tomlkit>=0.14.0,<1
17
19
  Requires-Dist: typed-settings[attrs,click]>=25.3.0,<26
18
20
  Requires-Dist: xdg-base-dirs>=6.0.2,<7
19
21
  Requires-Python: >=3.12
@@ -1,82 +1,98 @@
1
- actions/__init__.py,sha256=7pkV2Ni9Te7Lv9pLV0q6m_5QfLGcd8qXaD1rVsTV7c4,59
1
+ actions/.DS_Store,sha256=uGDrt4xXBZO7fqFS_nmnY3god2NrGnetnn6AeEa3yY8,6148
2
+ actions/__init__.py,sha256=zCbvuAxIVQA_nxNBgtPOMhgbVBI6IkR4mFy4PwzrJmE,59
2
3
  actions/clean_dir/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
3
4
  actions/clean_dir/cli.py,sha256=OrFA2nEN2LyGF22mhTNEBr7KSuKgX54sGy9RyE73qUc,569
4
5
  actions/clean_dir/constants.py,sha256=aDNaYtemEv3lcMXo96Oh4pw_HASMby1GZC1D_gbjPAc,167
5
- actions/clean_dir/lib.py,sha256=CvdTcQXEpWguBSJezB0sT-H5p7_f1iDjZEaKOZdi_lM,1421
6
+ actions/clean_dir/lib.py,sha256=0B8Le09FxAjAFckh69Sq2GPWVN2-asuWRYK9oSWA7sg,1523
6
7
  actions/clean_dir/settings.py,sha256=mqM0Oq-yz4dXKcUi3JmOCvDhoeBNQm_Qe70cGmhdcQE,345
7
- actions/cli.py,sha256=J9k7_BQzgDHdgzkTqwXVzncRMHm0eAT0WW_c_gAUFlE,4441
8
- actions/constants.py,sha256=Rcy_G3u_E1-4JXU5lsvR89kgqfHMibfP4IXLUeIMxck,1608
8
+ actions/cli.py,sha256=Hd5Cx_o83aCKAaNtupw1F0HQMUiG3-b6M_plxrjMlyE,5326
9
+ actions/constants.py,sha256=sBspUPK_Wi5hEx_Ro43ACdnW1YtlTC2H4qk7NaGur8w,1646
10
+ actions/git_clone_with/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
11
+ actions/git_clone_with/cli.py,sha256=vJY6-jxpnxc6N-Gm7s75iKxiPju0JJqbUs66YTrJFAw,1086
12
+ actions/git_clone_with/constants.py,sha256=Fi_w-TZbehvsMZj2VvhumtCK41VTyut2m-fGg-kxvAA,211
13
+ actions/git_clone_with/lib.py,sha256=UC_jYAaBCNJaMZ3BbEITrg73S_Jk7tWTLkNVHqmETEs,2075
14
+ actions/git_clone_with/settings.py,sha256=MnkrVS9OpGpS7gq-pEeJKIwC3EYRfXggtdHtN0fucPM,479
9
15
  actions/logging.py,sha256=rMTcQMGndUHTCaXXtyOHt_VXUMhQGRHoN7okpoX0y5I,120
10
16
  actions/pre_commit/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
11
17
  actions/pre_commit/click.py,sha256=BLHjkO0gIW7rgLabuWnszwXmI4yb8Li5D8gt81GR-FQ,270
12
18
  actions/pre_commit/conformalize_repo/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
13
- actions/pre_commit/conformalize_repo/action_dicts.py,sha256=CP7BWFgYqzl0U2FLq1tFpLdAbqMLaWVv1Jap80KJznU,7650
14
- actions/pre_commit/conformalize_repo/cli.py,sha256=5mpnTjg1Kx0br_cgO4hebHGxSXZtiLjj6ulk9ynNd9E,2987
19
+ actions/pre_commit/conformalize_repo/action_dicts.py,sha256=DnOaGdWhGiSgdlh9wINmt6lVKsdTIUO8O-Cvi4mFIgE,8218
20
+ actions/pre_commit/conformalize_repo/cli.py,sha256=-Z7Pn3CPbElZNbk4UPmulQELSlKhIM7wv4WS46Yf2_k,4045
15
21
  actions/pre_commit/conformalize_repo/configs/gitignore,sha256=8YCRPwysCD8-67yFXaTg6O8TTl4xeNIh7_DVmaU5Ix0,5063
16
- actions/pre_commit/conformalize_repo/constants.py,sha256=IiaaoPKjFiggOhmuky405X3-Ky6j67tDnWBSXTjQdlc,916
17
- actions/pre_commit/conformalize_repo/lib.py,sha256=O20JIj-4bK0W10_Pk9SokXJTMp1RbdLFtXOOuo3qEyo,48260
18
- actions/pre_commit/conformalize_repo/settings.py,sha256=sZRlKWzgpzr6Mgw56SjYXQwQj0HgWciO-870lI3mClc,5599
19
- actions/pre_commit/constants.py,sha256=gjwIj79hyQIkHUNV30k2U8FgyS0PkCyWPIOwVQv_NK0,240
22
+ actions/pre_commit/conformalize_repo/constants.py,sha256=Ct44YCQBF35qdY415xDMfTkQHAFvIcOsLvmRXxIxR1Y,1233
23
+ actions/pre_commit/conformalize_repo/lib.py,sha256=_UMv3nrg0gZOjWgqZZ43U5KbLqOFZ5D-gfKKxA4YMeE,54547
24
+ actions/pre_commit/conformalize_repo/settings.py,sha256=2x9bxDuFLZvZjYZa0kjDgBYnsfuF2XuGacW_mgOtuPg,6839
25
+ actions/pre_commit/constants.py,sha256=GBxm8GXe7o3M_l314687ZS9JA3Tj_6OMcFJWApYMeh4,247
20
26
  actions/pre_commit/format_requirements/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
21
27
  actions/pre_commit/format_requirements/cli.py,sha256=c9UdOFDLEei5AEzrVvo6FopIEOf2EqyOliA-bOR5a2o,584
22
28
  actions/pre_commit/format_requirements/constants.py,sha256=ly41jgwq0VVyHQqHaIXRc5ZmbWrNY_C3ET4G9gtE7rI,228
23
- actions/pre_commit/format_requirements/lib.py,sha256=ErHz6t70eQvvYBv61YaGV7lkWv1e2ljYK0GZSaO0djQ,1239
29
+ actions/pre_commit/format_requirements/lib.py,sha256=BPRlgml-h9Jj8R9WBujjl0JY8xjC1UONviAF8JlShWo,1410
24
30
  actions/pre_commit/replace_sequence_strs/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
25
31
  actions/pre_commit/replace_sequence_strs/cli.py,sha256=S8T-p0ex5lLmJz-5G7xDwPYnrwV82mf8UtwWtLIr36E,594
26
32
  actions/pre_commit/replace_sequence_strs/constants.py,sha256=yEEgJUpw3URzv8Cb4nIgBY2xAzEfJIF6yzyUy6K55J4,250
27
- actions/pre_commit/replace_sequence_strs/lib.py,sha256=G3_SI9HFOHnBzRBPw4nfvhB5Nu17jELEvKp3GynqqHY,2006
33
+ actions/pre_commit/replace_sequence_strs/lib.py,sha256=2OU5vl4tGGfJZjJVPyvdsE7pRv8bKG-FP_d0Aa5m3rA,2179
28
34
  actions/pre_commit/touch_empty_py/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
29
35
  actions/pre_commit/touch_empty_py/cli.py,sha256=s2S5OfAGcSLtd2aGm1ooa1k20oNK-LQ1PZWz6T30vO8,559
30
36
  actions/pre_commit/touch_empty_py/constants.py,sha256=zSwH60zfn9RhIAbBFnXjHrm2s1nFpPUskX3CZuJpQLk,198
31
- actions/pre_commit/touch_empty_py/lib.py,sha256=zynQIU0xRU3IzFZawkd-vDK7xqiPQbXXWz4mMn3SCvc,1532
37
+ actions/pre_commit/touch_empty_py/lib.py,sha256=0GslCRb3gPVKnpf8J0JuQmvR32T6qvzV4d4_k_-pqzw,1707
32
38
  actions/pre_commit/touch_py_typed/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
33
39
  actions/pre_commit/touch_py_typed/cli.py,sha256=CDJV4NuUHJlSdJ84dY0XvdwYHMdqygZ7C6x07B-iN3E,559
34
40
  actions/pre_commit/touch_py_typed/constants.py,sha256=kLZOm_wgypp7MaXRYq-6AZqVE4OttOMKmUqt11V2zn0,191
35
- actions/pre_commit/touch_py_typed/lib.py,sha256=34dU58cKTcLNTzz3yDK7fEjLov0tjaD5WjIK7Iqfojw,1886
41
+ actions/pre_commit/touch_py_typed/lib.py,sha256=e3OX4McR9rxz1I4DdFBVa51L7VbwB_AlEBHYRNMvoec,2109
36
42
  actions/pre_commit/update_requirements/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
37
43
  actions/pre_commit/update_requirements/classes.py,sha256=ERC70c1CxQ3rOsQaEtp6FGbK_VaJ4K0jAV5XTB5-L30,3486
38
- actions/pre_commit/update_requirements/cli.py,sha256=CBfm8M7hwSRw8KS6ttiNE86IFHJ52V42AxlfakqTDN0,584
44
+ actions/pre_commit/update_requirements/cli.py,sha256=hWMtC4R1NkHh6dKCQr8MwR-Zjmsmpz2vYMGr4HgN9Q4,894
39
45
  actions/pre_commit/update_requirements/constants.py,sha256=ve44_RYed_41ckgQNPkb08u7Y1cpLpzutGSL9FdGBF8,228
40
- actions/pre_commit/update_requirements/lib.py,sha256=y_5IEktESvkXKnFsmn3QyPlc8k5WXpVkOCMfcMMwsts,4401
41
- actions/pre_commit/utilities.py,sha256=myONOjsgKTo-AwytcLEGGuQ9fmMvBo5MqK3NRvGPx_g,11668
46
+ actions/pre_commit/update_requirements/lib.py,sha256=4wxufKFYfnb9HIE3ui6vD_Q9Ryq5_eHH_ETuY4rTMYw,6197
47
+ actions/pre_commit/update_requirements/settings.py,sha256=6EepqYra9JIDpBiPaQ1eup8A6S0ENRMQL3wNky6LB00,546
48
+ actions/pre_commit/utilities.py,sha256=aKG1hU1aWj3qtBfYWAkwpjVv7XM332IwFsdBQXq8o7s,13829
42
49
  actions/publish_package/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
43
50
  actions/publish_package/cli.py,sha256=nAPHCq67mxUb3yHepVGcoQ69qgaQahM1-cxdbHfxQg0,803
44
51
  actions/publish_package/constants.py,sha256=C68ZCVL_jVlYdLGpOK6saZccWoFy5AmC_NMBIWYdYOE,209
45
- actions/publish_package/lib.py,sha256=RSgSu4owyGA6KzJlE114CX5jISahfApiGo3y5ox3MSY,1438
52
+ actions/publish_package/lib.py,sha256=6W4D2bl1ohPbT0oEXIGqIGPIvYVAoXA3lNLv0SzFjuQ,1824
46
53
  actions/publish_package/settings.py,sha256=UucS_yb-es9bDz0EPeWTIql6B1Dr4kcaEMdXpt23BNQ,935
47
54
  actions/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
55
  actions/random_sleep/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
49
56
  actions/random_sleep/cli.py,sha256=XZkgOdr9wSItM2uH1o5l-dnwFPKI6X5XZdtXwc_K3cM,691
50
57
  actions/random_sleep/constants.py,sha256=5GMqCD1f12uyKDVTZBbnDDn6TQa99mUYZb9p-crg5BA,190
51
- actions/random_sleep/lib.py,sha256=MljJvE7sbtYAHbFdiuYiWuEEIzl-urlF86Iyea8sfJM,1531
58
+ actions/random_sleep/lib.py,sha256=uDWE07SBsnbQakZiAy7-StiRiDRR7J_cp3bu48dnEE8,1660
52
59
  actions/random_sleep/settings.py,sha256=F8gO2j2EEX8moemwhWWCPdRuOpZ_qLtqzSfWhjIy3P8,529
60
+ actions/re_encrypt/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
61
+ actions/re_encrypt/cli.py,sha256=TnhEPUfYvtzzmGfmJfcKQEHH6sS9n8J0QMT8nErNvAo,975
62
+ actions/re_encrypt/constants.py,sha256=Y6PNhL5MGgm1yA2viNGKHjS96zSQZDb3xe-ZPQsiZGk,177
63
+ actions/re_encrypt/lib.py,sha256=6Kg6CGTYWIhVSNBqyDuflIhRXDcojP35bUnOmT6Gv8U,3176
64
+ actions/re_encrypt/settings.py,sha256=HUliK-TN3Stzgkin7lBjMa9k46PJS9rIxgz2BVK7WeM,673
53
65
  actions/register_gitea_runner/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
54
66
  actions/register_gitea_runner/cli.py,sha256=70RUyzKCZHxyDRMFwCAwDC0LDsUZxBi2T6ctzbFlpc8,1129
55
67
  actions/register_gitea_runner/configs/config.yml,sha256=0kpaqAjMRDqdSxkSK8ydOk2IsrlkB4cUkYmbkHAurrg,5683
56
- actions/register_gitea_runner/configs/entrypoint.sh,sha256=IN40hAu8ufyyFWPIgsX_hWp0ZZZ0c36czCaqmECjBrw,476
68
+ actions/register_gitea_runner/configs/entrypoint.sh,sha256=k0K9M38oj3AGHahE1a2011sPoRmYP6Lzu1hvbkjAesw,452
57
69
  actions/register_gitea_runner/constants.py,sha256=wX1f5qvhIXngBVWbIQRoIaXIdPaUByvG8HS8P0WcCGM,694
58
- actions/register_gitea_runner/lib.py,sha256=ei62-gSRKKeTSPigMbDHYFatsctilfinw-ZVxXT3_0A,8370
70
+ actions/register_gitea_runner/lib.py,sha256=I8F-CVETA6Jj9Dc9gzXt0DCVjAgrO_-blMdN-3sS8ds,8664
59
71
  actions/register_gitea_runner/settings.py,sha256=0UQm8M3qDiBE3jiE333M4FdLjikNAzpc9gk_VlzI0s8,1149
60
72
  actions/run_hooks/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
61
73
  actions/run_hooks/cli.py,sha256=xKBw6iIlHpUlHl6-QWQLSL6KKVjnsihBeJ7h58Rl8P4,616
62
74
  actions/run_hooks/constants.py,sha256=JRhDk08qbzo5C-zwHdXZV5ajvNSKh4GcOcBvOIY6IGU,172
63
- actions/run_hooks/lib.py,sha256=6NA6kwKpXs8vIUXCpCHyMJFB_x57y5gfaqwk7Gfdvik,2957
75
+ actions/run_hooks/lib.py,sha256=JDZnnq3c5Ui4xTkHRayJDUr9fySMYKsDm3zy0XrQMNs,3202
64
76
  actions/run_hooks/settings.py,sha256=Cj6QVK6JspzOp6-1CaOENlXbg25kvgPXG4FKWgIiDgY,740
65
77
  actions/setup_cronjob/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
66
78
  actions/setup_cronjob/cli.py,sha256=l6t2WjCUprACV0rY8kHvpHLt3LgMI4q2XY4AEOiutkk,891
67
79
  actions/setup_cronjob/configs/cron.tmpl,sha256=UD_d0LYlB6tbkXAcUTzpGDWVNgIhCR45Jgky91iSCP8,412
68
80
  actions/setup_cronjob/configs/logrotate.tmpl,sha256=kkMuCRe4l03er6cFmRI0CXerHYmDumnMXLGKBjXLVxo,137
69
81
  actions/setup_cronjob/constants.py,sha256=CNebyWFymrXBx3X9X7XXpU9PSd5wzUN6XkUVomSBnWQ,301
70
- actions/setup_cronjob/lib.py,sha256=QvPhOkHq2rgtI-20Ym0LcXFxSzWsQVvzuxb7tWf7G9Q,3046
82
+ actions/setup_cronjob/lib.py,sha256=Xyezg08q_lJhlhNoD24iiwujqZOPJT4vnyVbpfo2CdQ,3260
71
83
  actions/setup_cronjob/settings.py,sha256=SxSe25f0sHUgq2-xdJN6rbbaSVFQE7FuEisiO_fmZNw,990
84
+ actions/setup_ssh_config/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
85
+ actions/setup_ssh_config/cli.py,sha256=lVmMQ1CcSifPVMgQl-nVsFTpLyBvDaFPKYJejhT0zaY,378
86
+ actions/setup_ssh_config/constants.py,sha256=ZWMmq2uBSKUKppD0pmaZ5JSCX2Ty5wJhTHSsS05ygiU,206
87
+ actions/setup_ssh_config/lib.py,sha256=qaZFkOKgI9W0Q2YVPZ7JZQS8eGbqmSWBOuyai56JuBs,833
72
88
  actions/tag_commit/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
73
89
  actions/tag_commit/cli.py,sha256=1E6cM0XKTCt_Ukb7pxqOojHpJjoa63dVBO6DXoESe9Q,745
74
90
  actions/tag_commit/constants.py,sha256=ceOvQpY4dgtJSd7v_jI1V00S0SjRq2ToGeZu41-DL7M,176
75
- actions/tag_commit/lib.py,sha256=WqYH_-cqMtSVYeagOEHL7Mqe4VOJysjG6kz8UG4UNb4,1568
91
+ actions/tag_commit/lib.py,sha256=1jwduvr_WpDXPVrNFEW-uPmrhndPzenh8wkZ_MNK68U,1792
76
92
  actions/tag_commit/settings.py,sha256=TOeKG_GODP--2lBSyGzH_M32jDIfh4vk_Ts06R3_ak4,629
77
- actions/types.py,sha256=1P3oAnYxyKgAfv8986jZ6whwdHV0qLHoX0oR8brviQk,586
78
- actions/utilities.py,sha256=PEvvhYUbBwUMe8r9xN4Iw8N-8L040dS3a6m5mTmLIwI,4763
79
- dycw_actions-0.8.11.dist-info/WHEEL,sha256=KSLUh82mDPEPk0Bx0ScXlWL64bc8KmzIPNcpQZFV-6E,79
80
- dycw_actions-0.8.11.dist-info/entry_points.txt,sha256=2Uu7wAZOm0mmcsGBEsGB370HAWgVWECRFJ9rKgfC3-I,46
81
- dycw_actions-0.8.11.dist-info/METADATA,sha256=-a4cn06ZZb4WAI_UyURA-pqyX3Lz92ElcLHLz9q7Ryk,689
82
- dycw_actions-0.8.11.dist-info/RECORD,,
93
+ actions/types.py,sha256=RRzJal-i9J3Yah8vyxJrXiBPUCff4LoMpiPNaPTYFRE,526
94
+ actions/utilities.py,sha256=BKQOfuVH0U43F6jLpy1vG6L1AwSAPcqoqyXbPbjEiFY,4295
95
+ dycw_actions-0.14.0.dist-info/WHEEL,sha256=XjEbIc5-wIORjWaafhI6vBtlxDBp7S9KiujWF1EM7Ak,79
96
+ dycw_actions-0.14.0.dist-info/entry_points.txt,sha256=2Uu7wAZOm0mmcsGBEsGB370HAWgVWECRFJ9rKgfC3-I,46
97
+ dycw_actions-0.14.0.dist-info/METADATA,sha256=xGhlXCCwGs_n_6-UNaX7HR5WmRSC-mnVGUG8ZTD7u5c,765
98
+ dycw_actions-0.14.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.22
2
+ Generator: uv 0.9.25
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any