dycw-actions 0.6.4__py3-none-any.whl → 0.7.1__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 (64) hide show
  1. actions/__init__.py +1 -1
  2. actions/action_dicts/lib.py +8 -8
  3. actions/clean_dir/cli.py +0 -12
  4. actions/clean_dir/constants.py +7 -0
  5. actions/cli.py +81 -30
  6. actions/pre_commit/click.py +15 -0
  7. actions/{conformalize_repo → pre_commit/conformalize_repo}/cli.py +2 -14
  8. actions/{conformalize_repo → pre_commit/conformalize_repo}/constants.py +8 -2
  9. actions/{conformalize_repo → pre_commit/conformalize_repo}/lib.py +79 -308
  10. actions/{conformalize_repo → pre_commit/conformalize_repo}/settings.py +1 -1
  11. actions/pre_commit/constants.py +8 -0
  12. actions/pre_commit/format_requirements/cli.py +24 -0
  13. actions/pre_commit/format_requirements/constants.py +7 -0
  14. actions/pre_commit/format_requirements/lib.py +52 -0
  15. actions/pre_commit/replace_sequence_strs/__init__.py +1 -0
  16. actions/pre_commit/replace_sequence_strs/cli.py +24 -0
  17. actions/pre_commit/replace_sequence_strs/constants.py +7 -0
  18. actions/{replace_sequence_strs → pre_commit/replace_sequence_strs}/lib.py +16 -22
  19. actions/pre_commit/touch_empty_py/__init__.py +1 -0
  20. actions/pre_commit/touch_empty_py/cli.py +24 -0
  21. actions/pre_commit/touch_empty_py/constants.py +7 -0
  22. actions/pre_commit/touch_empty_py/lib.py +54 -0
  23. actions/pre_commit/touch_py_typed/__init__.py +1 -0
  24. actions/pre_commit/touch_py_typed/cli.py +24 -0
  25. actions/pre_commit/touch_py_typed/constants.py +7 -0
  26. actions/pre_commit/touch_py_typed/lib.py +64 -0
  27. actions/pre_commit/update_requirements/__init__.py +1 -0
  28. actions/pre_commit/update_requirements/classes.py +117 -0
  29. actions/pre_commit/update_requirements/cli.py +24 -0
  30. actions/pre_commit/update_requirements/constants.py +7 -0
  31. actions/pre_commit/update_requirements/lib.py +128 -0
  32. actions/pre_commit/utilities.py +386 -0
  33. actions/publish_package/cli.py +7 -19
  34. actions/publish_package/constants.py +7 -0
  35. actions/publish_package/lib.py +3 -3
  36. actions/py.typed +0 -0
  37. actions/random_sleep/cli.py +6 -15
  38. actions/random_sleep/constants.py +7 -0
  39. actions/run_hooks/cli.py +3 -15
  40. actions/run_hooks/constants.py +7 -0
  41. actions/run_hooks/lib.py +2 -2
  42. actions/setup_cronjob/cli.py +0 -12
  43. actions/setup_cronjob/constants.py +5 -1
  44. actions/tag_commit/cli.py +7 -19
  45. actions/tag_commit/constants.py +7 -0
  46. actions/tag_commit/lib.py +8 -8
  47. actions/types.py +4 -1
  48. actions/utilities.py +68 -14
  49. {dycw_actions-0.6.4.dist-info → dycw_actions-0.7.1.dist-info}/METADATA +3 -2
  50. dycw_actions-0.7.1.dist-info/RECORD +77 -0
  51. actions/format_requirements/cli.py +0 -37
  52. actions/format_requirements/lib.py +0 -121
  53. actions/publish_package/doc.py +0 -6
  54. actions/random_sleep/doc.py +0 -6
  55. actions/replace_sequence_strs/cli.py +0 -37
  56. actions/run_hooks/doc.py +0 -6
  57. actions/tag_commit/doc.py +0 -6
  58. dycw_actions-0.6.4.dist-info/RECORD +0 -56
  59. /actions/{conformalize_repo → pre_commit}/__init__.py +0 -0
  60. /actions/{format_requirements → pre_commit/conformalize_repo}/__init__.py +0 -0
  61. /actions/{conformalize_repo → pre_commit/conformalize_repo}/configs/gitignore +0 -0
  62. /actions/{replace_sequence_strs → pre_commit/format_requirements}/__init__.py +0 -0
  63. {dycw_actions-0.6.4.dist-info → dycw_actions-0.7.1.dist-info}/WHEEL +0 -0
  64. {dycw_actions-0.6.4.dist-info → dycw_actions-0.7.1.dist-info}/entry_points.txt +0 -0
actions/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.6.4"
3
+ __version__ = "0.7.1"
@@ -2,11 +2,11 @@ from __future__ import annotations
2
2
 
3
3
  from typing import TYPE_CHECKING, Any
4
4
 
5
- import actions.publish_package.doc
6
- import actions.random_sleep.doc
7
- import actions.run_hooks.doc
8
- import actions.tag_commit.doc
9
5
  from actions.action_dicts.constants import GITHUB_TOKEN, PRERELEASE, RESOLUTION
6
+ from actions.publish_package.constants import PUBLISH_PACKAGE_DOCSTRING
7
+ from actions.random_sleep.constants import RANDOM_SLEEP_DOCSTRING
8
+ from actions.run_hooks.constants import RUN_HOOKS_DOCSTRING
9
+ from actions.tag_commit.constants import TAG_COMMIT_DOCSTRING
10
10
 
11
11
  if TYPE_CHECKING:
12
12
  from actions.types import StrDict
@@ -28,7 +28,7 @@ def run_action_pre_commit_dict(
28
28
  dict_["sleep"] = sleep
29
29
  return {
30
30
  "if": f"{_runner(gitea=gitea)}.event_name == 'pull_request'",
31
- "name": actions.run_hooks.doc.DOCSTRING,
31
+ "name": RUN_HOOKS_DOCSTRING,
32
32
  "uses": "dycw/action-run-hooks@latest",
33
33
  "with": dict_,
34
34
  }
@@ -50,7 +50,7 @@ def run_action_publish_dict(
50
50
  _add_boolean(dict_, "trusted-publishing", value=trusted_publishing)
51
51
  _add_native_tls(dict_, native_tls=native_tls)
52
52
  return {
53
- "name": actions.publish_package.doc.DOCSTRING,
53
+ "name": PUBLISH_PACKAGE_DOCSTRING,
54
54
  "uses": "dycw/action-publish-package@latest",
55
55
  "with": dict_,
56
56
  }
@@ -114,7 +114,7 @@ def run_action_random_sleep_dict(
114
114
  "log-freq": log_freq,
115
115
  }
116
116
  return {
117
- "name": actions.random_sleep.doc.DOCSTRING,
117
+ "name": RANDOM_SLEEP_DOCSTRING,
118
118
  "uses": "dycw/action-random-sleep@latest",
119
119
  "with": dict_,
120
120
  }
@@ -139,7 +139,7 @@ def run_action_tag_dict(
139
139
  _add_boolean(dict_, "major", value=major)
140
140
  _add_boolean(dict_, "latest", value=latest)
141
141
  return {
142
- "name": actions.tag_commit.doc.DOCSTRING,
142
+ "name": TAG_COMMIT_DOCSTRING,
143
143
  "uses": "dycw/action-tag-commit@latest",
144
144
  "with": dict_,
145
145
  }
actions/clean_dir/cli.py CHANGED
@@ -1,12 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
- from rich.pretty import pretty_repr
4
3
  from typed_settings import click_options
5
4
  from utilities.logging import basic_config
6
5
  from utilities.os import is_pytest
7
- from utilities.text import strip_and_dedent
8
6
 
9
- from actions import __version__
10
7
  from actions.clean_dir.lib import clean_dir
11
8
  from actions.clean_dir.settings import Settings
12
9
  from actions.logging import LOGGER
@@ -18,15 +15,6 @@ def clean_dir_sub_cmd(settings: Settings, /) -> None:
18
15
  if is_pytest():
19
16
  return
20
17
  basic_config(obj=LOGGER)
21
- LOGGER.info(
22
- strip_and_dedent("""
23
- Running '%s' (version %s) with settings:
24
- %s
25
- """),
26
- clean_dir.__name__,
27
- __version__,
28
- pretty_repr(settings),
29
- )
30
18
  clean_dir(dir_=settings.dir)
31
19
 
32
20
 
@@ -0,0 +1,7 @@
1
+ from __future__ import annotations
2
+
3
+ CLEAN_DIR_DOCSTRING = "Clean a directory"
4
+ CLEAN_DIR_SUB_CMD = "clean-dir"
5
+
6
+
7
+ __all__ = ["CLEAN_DIR_DOCSTRING", "CLEAN_DIR_SUB_CMD"]
actions/cli.py CHANGED
@@ -3,57 +3,108 @@ from __future__ import annotations
3
3
  from click import group
4
4
  from utilities.click import CONTEXT_SETTINGS
5
5
 
6
- import actions.publish_package.doc
7
- import actions.random_sleep.doc
8
- import actions.run_hooks.doc
9
- import actions.tag_commit.doc
10
6
  from actions.clean_dir.cli import clean_dir_sub_cmd
11
- from actions.conformalize_repo.cli import conformalize_repo_sub_cmd
12
- from actions.format_requirements.cli import format_requirements_sub_cmd
7
+ from actions.clean_dir.constants import CLEAN_DIR_SUB_CMD
8
+ from actions.pre_commit.conformalize_repo.cli import conformalize_repo_sub_cmd
9
+ from actions.pre_commit.conformalize_repo.constants import (
10
+ CONFORMALIZE_REPO_DOCSTRING,
11
+ CONFORMALIZE_REPO_SUB_CMD,
12
+ )
13
+ from actions.pre_commit.format_requirements.cli import format_requirements_sub_cmd
14
+ from actions.pre_commit.format_requirements.constants import (
15
+ FORMAT_REQUIREMENTS_DOCSTRING,
16
+ FORMAT_REQUIREMENTS_SUB_CMD,
17
+ )
18
+ from actions.pre_commit.replace_sequence_strs.cli import replace_sequence_strs_sub_cmd
19
+ from actions.pre_commit.replace_sequence_strs.constants import (
20
+ REPLACE_SEQUENCE_STRS_DOCSTRING,
21
+ REPLACE_SEQUENCE_STRS_SUB_CMD,
22
+ )
23
+ from actions.pre_commit.touch_empty_py.cli import touch_empty_py_sub_cmd
24
+ from actions.pre_commit.touch_empty_py.constants import (
25
+ TOUCH_EMPTY_PY_DOCSTRING,
26
+ TOUCH_EMPTY_PY_SUB_CMD,
27
+ )
28
+ from actions.pre_commit.touch_py_typed.cli import touch_py_typed_sub_cmd
29
+ from actions.pre_commit.touch_py_typed.constants import (
30
+ TOUCH_PY_TYPED_DOCSTRING,
31
+ TOUCH_PY_TYPED_SUB_CMD,
32
+ )
33
+ from actions.pre_commit.update_requirements.cli import update_requirements_sub_cmd
34
+ from actions.pre_commit.update_requirements.constants import (
35
+ UPDATE_REQUIREMENTS_DOCSTRING,
36
+ UPDATE_REQUIREMENTS_SUB_CMD,
37
+ )
13
38
  from actions.publish_package.cli import publish_package_sub_cmd
39
+ from actions.publish_package.constants import (
40
+ PUBLISH_PACKAGE_DOCSTRING,
41
+ PUBLISH_PACKAGE_SUB_CMD,
42
+ )
14
43
  from actions.random_sleep.cli import random_sleep_sub_cmd
15
- from actions.replace_sequence_strs.cli import sequence_strs_sub_cmd
44
+ from actions.random_sleep.constants import RANDOM_SLEEP_DOCSTRING, RANDOM_SLEEP_SUB_CMD
16
45
  from actions.run_hooks.cli import run_hooks_sub_cmd
46
+ from actions.run_hooks.constants import RUN_HOOKS_DOCSTRING, RUN_HOOKS_SUB_CMD
17
47
  from actions.setup_cronjob.cli import setup_cronjob_sub_cmd
48
+ from actions.setup_cronjob.constants import (
49
+ SETUP_CRONJOB_DOCSTRING,
50
+ SETUP_CRONJOB_SUB_CMD,
51
+ )
18
52
  from actions.tag_commit.cli import tag_commit_sub_cmd
53
+ from actions.tag_commit.constants import TAG_COMMIT_DOCSTRING, TAG_COMMIT_SUB_CMD
19
54
 
20
55
 
21
56
  @group(**CONTEXT_SETTINGS)
22
57
  def _main() -> None: ...
23
58
 
24
59
 
25
- _ = _main.command(name="clean-dir", help="Clean a directory", **CONTEXT_SETTINGS)(
60
+ _ = _main.command(name=CLEAN_DIR_SUB_CMD, help=CLEAN_DIR_SUB_CMD, **CONTEXT_SETTINGS)(
26
61
  clean_dir_sub_cmd
27
62
  )
28
63
  _ = _main.command(
29
- name="conformalize-repo", help="Conformalize a repo", **CONTEXT_SETTINGS
30
- )(conformalize_repo_sub_cmd)
31
- _ = _main.command(
32
- name="format-requirements", help="Format a set of requirements", **CONTEXT_SETTINGS
33
- )(format_requirements_sub_cmd)
34
- _ = _main.command(
35
- name="publish-package",
36
- help=actions.publish_package.doc.DOCSTRING,
37
- **CONTEXT_SETTINGS,
64
+ name=PUBLISH_PACKAGE_SUB_CMD, help=PUBLISH_PACKAGE_DOCSTRING, **CONTEXT_SETTINGS
38
65
  )(publish_package_sub_cmd)
66
+ _ = _main.command(name=RUN_HOOKS_SUB_CMD, help=RUN_HOOKS_DOCSTRING, **CONTEXT_SETTINGS)(
67
+ run_hooks_sub_cmd
68
+ )
39
69
  _ = _main.command(
40
- name="replace-sequence-strs",
41
- help="Replace 'Sequence[str]' with 'list[str]'",
42
- **CONTEXT_SETTINGS,
43
- )(sequence_strs_sub_cmd)
44
- _ = _main.command(
45
- name="run-hooks", help=actions.run_hooks.doc.DOCSTRING, **CONTEXT_SETTINGS
46
- )(run_hooks_sub_cmd)
47
- _ = _main.command(
48
- name="random-sleep", help=actions.random_sleep.doc.DOCSTRING, **CONTEXT_SETTINGS
70
+ name=RANDOM_SLEEP_SUB_CMD, help=RANDOM_SLEEP_DOCSTRING, **CONTEXT_SETTINGS
49
71
  )(random_sleep_sub_cmd)
50
- _ = _main.command(name="setup-cronjob", help="Setup a cronjob", **CONTEXT_SETTINGS)(
51
- setup_cronjob_sub_cmd
52
- )
53
72
  _ = _main.command(
54
- name="tag-commit", help=actions.tag_commit.doc.DOCSTRING, **CONTEXT_SETTINGS
73
+ name=SETUP_CRONJOB_SUB_CMD, help=SETUP_CRONJOB_DOCSTRING, **CONTEXT_SETTINGS
74
+ )(setup_cronjob_sub_cmd)
75
+ _ = _main.command(
76
+ name=TAG_COMMIT_SUB_CMD, help=TAG_COMMIT_DOCSTRING, **CONTEXT_SETTINGS
55
77
  )(tag_commit_sub_cmd)
56
78
 
57
79
 
80
+ @_main.group(name="pre-commit", help="Pre-commit hooks", **CONTEXT_SETTINGS)
81
+ def pre_commit_sub_cmd() -> None: ...
82
+
83
+
84
+ _ = pre_commit_sub_cmd.command(
85
+ name=CONFORMALIZE_REPO_SUB_CMD, help=CONFORMALIZE_REPO_DOCSTRING, **CONTEXT_SETTINGS
86
+ )(conformalize_repo_sub_cmd)
87
+ _ = pre_commit_sub_cmd.command(
88
+ name=FORMAT_REQUIREMENTS_SUB_CMD,
89
+ help=FORMAT_REQUIREMENTS_DOCSTRING,
90
+ **CONTEXT_SETTINGS,
91
+ )(format_requirements_sub_cmd)
92
+ _ = pre_commit_sub_cmd.command(
93
+ name=REPLACE_SEQUENCE_STRS_SUB_CMD,
94
+ help=REPLACE_SEQUENCE_STRS_DOCSTRING,
95
+ **CONTEXT_SETTINGS,
96
+ )(replace_sequence_strs_sub_cmd)
97
+ _ = pre_commit_sub_cmd.command(
98
+ name=TOUCH_EMPTY_PY_SUB_CMD, help=TOUCH_EMPTY_PY_DOCSTRING, **CONTEXT_SETTINGS
99
+ )(touch_empty_py_sub_cmd)
100
+ _ = pre_commit_sub_cmd.command(
101
+ name=TOUCH_PY_TYPED_SUB_CMD, help=TOUCH_PY_TYPED_DOCSTRING, **CONTEXT_SETTINGS
102
+ )(touch_py_typed_sub_cmd)
103
+ _ = pre_commit_sub_cmd.command(
104
+ name=UPDATE_REQUIREMENTS_SUB_CMD,
105
+ help=UPDATE_REQUIREMENTS_DOCSTRING,
106
+ **CONTEXT_SETTINGS,
107
+ )(update_requirements_sub_cmd)
108
+
58
109
  if __name__ == "__main__":
59
110
  _main()
@@ -0,0 +1,15 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+
5
+ import click
6
+ from click import argument
7
+
8
+ path_argument = argument(
9
+ "paths",
10
+ nargs=-1,
11
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, path_type=Path),
12
+ )
13
+
14
+
15
+ __all__ = ["path_argument"]
@@ -1,15 +1,12 @@
1
1
  from __future__ import annotations
2
2
 
3
- from rich.pretty import pretty_repr
4
3
  from typed_settings import click_options
5
4
  from utilities.logging import basic_config
6
5
  from utilities.os import is_pytest
7
- from utilities.text import strip_and_dedent
8
6
 
9
- from actions import __version__
10
- from actions.conformalize_repo.lib import conformalize_repo
11
- from actions.conformalize_repo.settings import Settings
12
7
  from actions.logging import LOGGER
8
+ from actions.pre_commit.conformalize_repo.lib import conformalize_repo
9
+ from actions.pre_commit.conformalize_repo.settings import Settings
13
10
  from actions.utilities import LOADER
14
11
 
15
12
 
@@ -18,15 +15,6 @@ def conformalize_repo_sub_cmd(settings: Settings, /) -> None:
18
15
  if is_pytest():
19
16
  return
20
17
  basic_config(obj=LOGGER)
21
- LOGGER.info(
22
- strip_and_dedent("""
23
- Running '%s' (version %s) with settings:
24
- %s
25
- """),
26
- conformalize_repo.__name__,
27
- __version__,
28
- pretty_repr(settings),
29
- )
30
18
  conformalize_repo(
31
19
  coverage=settings.coverage,
32
20
  description=settings.description,
@@ -6,7 +6,7 @@ from re import search
6
6
  from utilities.pathlib import get_repo_root
7
7
  from utilities.pytest import IS_CI
8
8
 
9
- from actions.constants import PATH_ACTIONS
9
+ from actions.pre_commit.constants import PATH_PRE_COMMIT
10
10
 
11
11
  ACTIONS_URL = "https://github.com/dycw/actions"
12
12
  DOCKERFMT_URL = "https://github.com/reteps/dockerfmt"
@@ -31,6 +31,10 @@ REPO_ROOT = get_repo_root()
31
31
  RUFF_TOML = Path("ruff.toml")
32
32
 
33
33
 
34
+ CONFORMALIZE_REPO_DOCSTRING = "Conformalize a repo"
35
+ CONFORMALIZE_REPO_SUB_CMD = "conformalize-repo"
36
+
37
+
34
38
  MAX_PYTHON_VERSION = "3.14"
35
39
 
36
40
 
@@ -40,12 +44,14 @@ RUN_VERSION_BUMP = (search("template", str(REPO_ROOT)) is None) and not IS_CI
40
44
  GITHUB_WORKFLOWS = Path(".github/workflows")
41
45
  GITHUB_PULL_REQUEST_YAML = GITHUB_WORKFLOWS / "pull-request.yaml"
42
46
  GITHUB_PUSH_YAML = GITHUB_WORKFLOWS / "push.yaml"
43
- PATH_CONFIGS = PATH_ACTIONS / "conformalize_repo/configs"
47
+ PATH_CONFIGS = PATH_PRE_COMMIT / "conformalize_repo/configs"
44
48
 
45
49
 
46
50
  __all__ = [
47
51
  "ACTIONS_URL",
48
52
  "BUMPVERSION_TOML",
53
+ "CONFORMALIZE_REPO_DOCSTRING",
54
+ "CONFORMALIZE_REPO_SUB_CMD",
49
55
  "COVERAGERC_TOML",
50
56
  "DOCKERFMT_URL",
51
57
  "ENVRC",