winipedia-utils 0.5.29__tar.gz → 0.6.1__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.

Potentially problematic release.


This version of winipedia-utils might be problematic. Click here for more details.

Files changed (97) hide show
  1. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/PKG-INFO +23 -16
  2. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/README.md +22 -15
  3. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/pyproject.toml +1 -1
  4. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/base/base.py +24 -4
  5. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/pre_commit/hooks.py +46 -5
  6. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/pre_commit/run_hooks.py +3 -5
  7. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/LICENSE +0 -0
  8. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/__init__.py +0 -0
  9. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/artifacts/__init__.py +0 -0
  10. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/artifacts/build.py +0 -0
  11. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/concurrent/__init__.py +0 -0
  12. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/concurrent/concurrent.py +0 -0
  13. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/concurrent/multiprocessing.py +0 -0
  14. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/concurrent/multithreading.py +0 -0
  15. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/data/__init__.py +0 -0
  16. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/data/dataframe/__init__.py +0 -0
  17. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/data/dataframe/cleaning.py +0 -0
  18. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/data/structures/__init__.py +0 -0
  19. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/data/structures/dicts.py +0 -0
  20. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/__init__.py +0 -0
  21. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/__init__.py +0 -0
  22. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/github.py +0 -0
  23. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/repo/__init__.py +0 -0
  24. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/repo/protect.py +0 -0
  25. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/repo/repo.py +0 -0
  26. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/__init__.py +0 -0
  27. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/base/__init__.py +0 -0
  28. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/health_check.py +0 -0
  29. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/publish.py +0 -0
  30. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/github/workflows/release.py +0 -0
  31. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/gitignore/__init__.py +0 -0
  32. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/gitignore/config.py +0 -0
  33. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/gitignore/gitignore.py +0 -0
  34. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/pre_commit/__init__.py +0 -0
  35. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/git/pre_commit/config.py +0 -0
  36. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/iterating/__init__.py +0 -0
  37. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/iterating/iterate.py +0 -0
  38. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/logging/__init__.py +0 -0
  39. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/logging/ansi.py +0 -0
  40. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/logging/config.py +0 -0
  41. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/logging/logger.py +0 -0
  42. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/__init__.py +0 -0
  43. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/class_.py +0 -0
  44. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/function.py +0 -0
  45. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/inspection.py +0 -0
  46. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/module.py +0 -0
  47. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/modules/package.py +0 -0
  48. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/oop/__init__.py +0 -0
  49. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/oop/mixins/__init__.py +0 -0
  50. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/oop/mixins/meta.py +0 -0
  51. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/oop/mixins/mixin.py +0 -0
  52. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/os/__init__.py +0 -0
  53. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/os/os.py +0 -0
  54. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/projects/__init__.py +0 -0
  55. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/projects/poetry/__init__.py +0 -0
  56. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/projects/poetry/config.py +0 -0
  57. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/projects/poetry/poetry.py +0 -0
  58. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/projects/project.py +0 -0
  59. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/py.typed +0 -0
  60. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/__init__.py +0 -0
  61. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/__init__.py +0 -0
  62. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/delete_garbage_can.svg +0 -0
  63. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/download_arrow.svg +0 -0
  64. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/exit_fullscreen_icon.svg +0 -0
  65. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/fullscreen_icon.svg +0 -0
  66. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/menu_icon.svg +0 -0
  67. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/pause_icon.svg +0 -0
  68. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/play_icon.svg +0 -0
  69. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/plus_icon.svg +0 -0
  70. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/resources/svgs/svg.py +0 -0
  71. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/security/__init__.py +0 -0
  72. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/security/cryptography.py +0 -0
  73. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/security/keyring.py +0 -0
  74. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/setup.py +0 -0
  75. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/__init__.py +0 -0
  76. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/assertions.py +0 -0
  77. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/config.py +0 -0
  78. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/convention.py +0 -0
  79. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/create_tests.py +0 -0
  80. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/fixtures.py +0 -0
  81. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/skip.py +0 -0
  82. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/__init__.py +0 -0
  83. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/__init__.py +0 -0
  84. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/__init__.py +0 -0
  85. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/fixture.py +0 -0
  86. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/__init__.py +0 -0
  87. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/class_.py +0 -0
  88. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/function.py +0 -0
  89. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/module.py +0 -0
  90. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/package.py +0 -0
  91. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/fixtures/scopes/session.py +0 -0
  92. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/utils/__init__.py +0 -0
  93. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/base/utils/utils.py +0 -0
  94. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/testing/tests/conftest.py +0 -0
  95. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/text/__init__.py +0 -0
  96. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/text/config.py +0 -0
  97. {winipedia_utils-0.5.29 → winipedia_utils-0.6.1}/winipedia_utils/text/string.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winipedia-utils
3
- Version: 0.5.29
3
+ Version: 0.6.1
4
4
  Summary: A package with many utility functions
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -153,21 +153,28 @@ When you commit code using `git commit`, the following checks run automatically:
153
153
 
154
154
  Info: If git commit fails bc of ModuleNotFoundError or smth similar, you need to run `poetry run git commit` instead.
155
155
  winipedia_utils hook is a python script that depends on winipedia_utils being installed. Poetry is needed to install winipedia_utils.
156
- Usually VSCode or other IDEs activates the venv automatically when opening the terminal but if not you need to activate it manually or run `poetry run git commit` instead.
157
-
158
- 1. Patch version (poetry version patch)
159
- 2. Add version patch to git (git add pyproject.toml)
160
- 3. Update package manager (poetry self update)
161
- 4. Install packages (poetry install --with dev)
162
- 5. Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
163
- 6. Lock dependencies (poetry lock)
164
- 7. Check package manager configs (poetry check --strict)
165
- 8. Create tests (python -m winipedia_utils.testing.create_tests)
166
- 9. Lint code (ruff check --fix)
167
- 10. Format code (ruff format)
168
- 11. Check static types (mypy)
169
- 12. Check security (bandit -c pyproject.toml -r .)
170
- 13. Run tests (pytest (uses pyproject.toml as config))
156
+ Usually VSCode or other IDEs activates the venv automatically when opening the terminal but if not you need to activate it manually or run `poetry run git commit` instead. It fails fast, so if one hook in winipedia_utils hook fails, the others don't run bc sys.exit(1) is called.
157
+
158
+ Hooks run in the following order:
159
+
160
+ - Fetch latest changes (git fetch origin)
161
+ - Stash changes (git stash push -m "WIP: Stashed changes before rebasing")
162
+ - Rebase on main (git rebase origin/main)
163
+ - Pop stashed changes (git stash pop)
164
+ - Add popped stash to git (git add ., bc unstashing unadds the changes and pre-commit fails, be aware that this might add changes you didn't want to commit, so inspect the changes before committing)
165
+ - Patch version (poetry version patch)
166
+ - Add version patch to git (git add pyproject.toml)
167
+ - Update package manager (poetry self update)
168
+ - Install packages (poetry install --with dev)
169
+ - Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
170
+ - Lock dependencies (poetry lock)
171
+ - Check package manager configs (poetry check --strict)
172
+ - Create tests (python -m winipedia_utils.testing.create_tests)
173
+ - Lint code (ruff check --fix)
174
+ - Format code (ruff format)
175
+ - Check static types (mypy)
176
+ - Check security (bandit -c pyproject.toml -r .)
177
+ - Run tests (pytest (uses pyproject.toml as config))
171
178
 
172
179
  ### Auto-generated Test Structure
173
180
 
@@ -126,21 +126,28 @@ When you commit code using `git commit`, the following checks run automatically:
126
126
 
127
127
  Info: If git commit fails bc of ModuleNotFoundError or smth similar, you need to run `poetry run git commit` instead.
128
128
  winipedia_utils hook is a python script that depends on winipedia_utils being installed. Poetry is needed to install winipedia_utils.
129
- Usually VSCode or other IDEs activates the venv automatically when opening the terminal but if not you need to activate it manually or run `poetry run git commit` instead.
130
-
131
- 1. Patch version (poetry version patch)
132
- 2. Add version patch to git (git add pyproject.toml)
133
- 3. Update package manager (poetry self update)
134
- 4. Install packages (poetry install --with dev)
135
- 5. Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
136
- 6. Lock dependencies (poetry lock)
137
- 7. Check package manager configs (poetry check --strict)
138
- 8. Create tests (python -m winipedia_utils.testing.create_tests)
139
- 9. Lint code (ruff check --fix)
140
- 10. Format code (ruff format)
141
- 11. Check static types (mypy)
142
- 12. Check security (bandit -c pyproject.toml -r .)
143
- 13. Run tests (pytest (uses pyproject.toml as config))
129
+ Usually VSCode or other IDEs activates the venv automatically when opening the terminal but if not you need to activate it manually or run `poetry run git commit` instead. It fails fast, so if one hook in winipedia_utils hook fails, the others don't run bc sys.exit(1) is called.
130
+
131
+ Hooks run in the following order:
132
+
133
+ - Fetch latest changes (git fetch origin)
134
+ - Stash changes (git stash push -m "WIP: Stashed changes before rebasing")
135
+ - Rebase on main (git rebase origin/main)
136
+ - Pop stashed changes (git stash pop)
137
+ - Add popped stash to git (git add ., bc unstashing unadds the changes and pre-commit fails, be aware that this might add changes you didn't want to commit, so inspect the changes before committing)
138
+ - Patch version (poetry version patch)
139
+ - Add version patch to git (git add pyproject.toml)
140
+ - Update package manager (poetry self update)
141
+ - Install packages (poetry install --with dev)
142
+ - Update packages (poetry update --with dev (winipedia_utils forces all dependencies with * to be updated to latest compatible version))
143
+ - Lock dependencies (poetry lock)
144
+ - Check package manager configs (poetry check --strict)
145
+ - Create tests (python -m winipedia_utils.testing.create_tests)
146
+ - Lint code (ruff check --fix)
147
+ - Format code (ruff format)
148
+ - Check static types (mypy)
149
+ - Check security (bandit -c pyproject.toml -r .)
150
+ - Run tests (pytest (uses pyproject.toml as config))
144
151
 
145
152
  ### Auto-generated Test Structure
146
153
 
@@ -1,7 +1,7 @@
1
1
  # Project section
2
2
  [project]
3
3
  name = "winipedia-utils"
4
- version = "0.5.29"
4
+ version = "0.6.1"
5
5
  description = "A package with many utility functions"
6
6
  readme = "README.md"
7
7
  requires-python = ">=3.12"
@@ -441,6 +441,19 @@ class Workflow(YamlConfigFile):
441
441
  step=step,
442
442
  )
443
443
 
444
+ @classmethod
445
+ def step_patch_version(
446
+ cls,
447
+ *,
448
+ step: dict[str, Any] | None = None,
449
+ ) -> dict[str, Any]:
450
+ """Get the patch version step."""
451
+ return cls.get_step(
452
+ step_func=cls.step_patch_version,
453
+ run="poetry version patch && git add pyproject.toml",
454
+ step=step,
455
+ )
456
+
444
457
  @classmethod
445
458
  def step_checkout_repository(
446
459
  cls,
@@ -596,10 +609,15 @@ class Workflow(YamlConfigFile):
596
609
  *,
597
610
  step: dict[str, Any] | None = None,
598
611
  ) -> dict[str, Any]:
599
- """Get the run pre-commit hooks step."""
612
+ """Get the run pre-commit hooks step.
613
+
614
+ Patching version is useful to have at least a minimal version bump when
615
+ creating a release and it also makes sure git stash pop does not fail when
616
+ there are no changes.
617
+ """
600
618
  return cls.get_step(
601
619
  step_func=cls.step_run_pre_commit_hooks,
602
- run="poetry run pre-commit run --all-files --verbose",
620
+ run="poetry version patch && git add pyproject.toml && poetry run pre-commit run --all-files --verbose", # noqa: E501
603
621
  env={"REPO_TOKEN": cls.insert_repo_token()},
604
622
  step=step,
605
623
  )
@@ -707,6 +725,7 @@ class Workflow(YamlConfigFile):
707
725
  with_: dict[str, Any] = {"path": str(path)}
708
726
  if name is not None:
709
727
  with_["name"] = name
728
+ with_["merge-multiple"] = "true"
710
729
  return cls.get_step(
711
730
  step_func=cls.step_download_artifacts,
712
731
  uses="actions/download-artifact@main",
@@ -749,12 +768,13 @@ class Workflow(YamlConfigFile):
749
768
  artifacts_pattern: str = ARTIFACTS_PATTERN,
750
769
  ) -> dict[str, Any]:
751
770
  """Get the create release step."""
771
+ version = cls.insert_version_from_extract_version_step()
752
772
  return cls.get_step(
753
773
  step_func=cls.step_create_release,
754
774
  uses="ncipollo/release-action@main",
755
775
  with_={
756
- "tag": cls.insert_version_from_extract_version_step(),
757
- "name": f"{cls.insert_repository_name()} {cls.insert_version()}",
776
+ "tag": version,
777
+ "name": f"{cls.insert_repository_name()} {version}",
758
778
  "body": cls.insert_changelog(),
759
779
  cls.ARTIFACTS_FOLDER: artifacts_pattern,
760
780
  },
@@ -13,13 +13,54 @@ from winipedia_utils.projects.poetry.poetry import (
13
13
  )
14
14
 
15
15
 
16
- def patch_version() -> list[str]:
17
- """Patch the version in pyproject.toml.
16
+ def fetch_latest_changes() -> list[str]:
17
+ """Fetch the latest changes from origin.
18
18
 
19
- This function returns the input for subprocess.run() to patch the version
20
- in pyproject.toml.
19
+ This function returns the input for subprocess.run() to fetch the latest
20
+ changes from origin.
21
21
  """
22
- return [POETRY_ARG, "version", "patch"]
22
+ return ["git", "fetch", "origin"]
23
+
24
+
25
+ def stash_changes() -> list[str]:
26
+ """Stash the changes.
27
+
28
+ This function returns the input for subprocess.run() to stash the changes.
29
+ """
30
+ return [
31
+ "git",
32
+ "stash",
33
+ "push",
34
+ "-m",
35
+ "WIP: Temporarily stashed changes before rebasing",
36
+ ]
37
+
38
+
39
+ def rebase_on_main() -> list[str]:
40
+ """Rebase the current branch on origin/main.
41
+
42
+ This function returns the input for subprocess.run() to rebase the current
43
+ branch on origin/main.
44
+ """
45
+ return ["git", "rebase", "origin/main"]
46
+
47
+
48
+ def pop_stashed_changes() -> list[str]:
49
+ """Pop the stashed changes.
50
+
51
+ This function returns the input for subprocess.run() to pop the stashed changes.
52
+ """
53
+ return ["git", "stash", "pop"]
54
+
55
+
56
+ def add_popped_stash_to_git() -> list[str]:
57
+ """Add the unstashed changes to git.
58
+
59
+ This function returns the input for subprocess.run() to add the unstashed
60
+ changes to git.
61
+ We must do git add . because unstashing unadds the changes and pre-commit fails
62
+ """
63
+ return ["git", "add", "."]
23
64
 
24
65
 
25
66
  def add_version_patch_to_git() -> list[str]:
@@ -19,7 +19,6 @@ def run_hooks() -> None:
19
19
  """Import all funcs defined in hooks.py and runs them."""
20
20
  hook_funcs = get_all_functions_from_module(hooks)
21
21
 
22
- exit_code = 0
23
22
  for hook_func in hook_funcs:
24
23
  subprocess_args = hook_func()
25
24
  result = run_subprocess(
@@ -44,7 +43,7 @@ Stderr:
44
43
 
45
44
  ---------------------------------------------------------------------------------------------
46
45
  """
47
- exit_code = 1
46
+
48
47
  # make the dashes always the same lentgth by adjusting to len of hook name
49
48
  num_dashes = 50 - len(hook_func.__name__)
50
49
  log_method(
@@ -53,6 +52,5 @@ Stderr:
53
52
  "-" * num_dashes,
54
53
  status_str,
55
54
  )
56
-
57
- if exit_code != 0:
58
- sys.exit(exit_code)
55
+ if not passed:
56
+ sys.exit(1)