commitizen 4.16.4__tar.gz → 4.17.0__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.
Files changed (75) hide show
  1. {commitizen-4.16.4 → commitizen-4.17.0}/PKG-INFO +2 -2
  2. commitizen-4.17.0/commitizen/__version__.py +1 -0
  3. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cli.py +0 -1
  4. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/changelog.py +1 -1
  5. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/version.py +57 -5
  6. commitizen-4.17.0/pyproject.toml +363 -0
  7. commitizen-4.16.4/pyproject.toml → commitizen-4.17.0/pyproject.toml.orig +3 -3
  8. commitizen-4.16.4/commitizen/__version__.py +0 -1
  9. {commitizen-4.16.4 → commitizen-4.17.0}/LICENSE +0 -0
  10. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/__init__.py +0 -0
  11. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/__main__.py +0 -0
  12. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/bump.py +0 -0
  13. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog.py +0 -0
  14. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/__init__.py +0 -0
  15. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/asciidoc.py +0 -0
  16. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/base.py +0 -0
  17. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/markdown.py +0 -0
  18. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/restructuredtext.py +0 -0
  19. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/changelog_formats/textile.py +0 -0
  20. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cmd.py +0 -0
  21. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/__init__.py +0 -0
  22. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/bump.py +0 -0
  23. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/check.py +0 -0
  24. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/commit.py +0 -0
  25. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/example.py +0 -0
  26. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/info.py +0 -0
  27. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/init.py +0 -0
  28. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/list_cz.py +0 -0
  29. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/commands/schema.py +0 -0
  30. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/__init__.py +0 -0
  31. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/base_config.py +0 -0
  32. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/factory.py +0 -0
  33. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/json_config.py +0 -0
  34. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/toml_config.py +0 -0
  35. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/config/yaml_config.py +0 -0
  36. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/__init__.py +0 -0
  37. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/base.py +0 -0
  38. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/conventional_commits/__init__.py +0 -0
  39. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/conventional_commits/conventional_commits.py +0 -0
  40. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/conventional_commits/conventional_commits_info.txt +0 -0
  41. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/customize/__init__.py +0 -0
  42. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/customize/customize.py +0 -0
  43. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/customize/customize_info.txt +0 -0
  44. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/exceptions.py +0 -0
  45. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/jira/__init__.py +0 -0
  46. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/jira/jira.py +0 -0
  47. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/jira/jira_info.txt +0 -0
  48. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/cz/utils.py +0 -0
  49. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/defaults.py +0 -0
  50. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/exceptions.py +0 -0
  51. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/factory.py +0 -0
  52. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/git.py +0 -0
  53. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/hooks.py +0 -0
  54. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/out.py +0 -0
  55. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/project_info.py +0 -0
  56. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/__init__.py +0 -0
  57. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/base_provider.py +0 -0
  58. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/cargo_provider.py +0 -0
  59. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/commitizen_provider.py +0 -0
  60. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/composer_provider.py +0 -0
  61. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/npm_provider.py +0 -0
  62. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/pep621_provider.py +0 -0
  63. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/poetry_provider.py +0 -0
  64. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/scm_provider.py +0 -0
  65. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/providers/uv_provider.py +0 -0
  66. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/py.typed +0 -0
  67. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/question.py +0 -0
  68. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/tags.py +0 -0
  69. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/templates/CHANGELOG.adoc.j2 +0 -0
  70. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/templates/CHANGELOG.md.j2 +0 -0
  71. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/templates/CHANGELOG.rst.j2 +0 -0
  72. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/templates/CHANGELOG.textile.j2 +0 -0
  73. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/version_increment.py +0 -0
  74. {commitizen-4.16.4 → commitizen-4.17.0}/commitizen/version_schemes.py +0 -0
  75. {commitizen-4.16.4 → commitizen-4.17.0}/docs/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: commitizen
3
- Version: 4.16.4
3
+ Version: 4.17.0
4
4
  Summary: Python commitizen client tool
5
5
  Keywords: commitizen,conventional,commits,git
6
6
  Author: Santiago Fraire
@@ -29,7 +29,7 @@ Requires-Dist: packaging>=26
29
29
  Requires-Dist: tomlkit>=0.8.0,<1.0.0
30
30
  Requires-Dist: jinja2>=2.10.3
31
31
  Requires-Dist: pyyaml>=3.8
32
- Requires-Dist: argcomplete>=1.12.1,<3.7
32
+ Requires-Dist: argcomplete>=1.12.1,<3.8
33
33
  Requires-Dist: typing-extensions>=4.0.1,<5.0.0 ; python_full_version < '3.11'
34
34
  Requires-Dist: charset-normalizer>=2.1.0,<4
35
35
  Requires-Dist: deprecated>=1.2.13,<2
@@ -0,0 +1 @@
1
+ __version__ = "4.17.0"
@@ -583,7 +583,6 @@ data = {
583
583
  "const": "USE_GIT_COMMITS",
584
584
  "choices": ["USE_GIT_COMMITS"]
585
585
  + [str(increment) for increment in VersionIncrement],
586
- "exclusive_group": "group2",
587
586
  },
588
587
  {
589
588
  "name": "manual_version",
@@ -31,7 +31,7 @@ class ChangelogArgs(TypedDict, total=False):
31
31
  change_type_order: list[str]
32
32
  current_version: str
33
33
  dry_run: bool
34
- file_name: str
34
+ file_name: str | None
35
35
  incremental: bool
36
36
  merge_prerelease: bool
37
37
  rev_range: str
@@ -4,14 +4,20 @@ from typing import TypedDict
4
4
 
5
5
  from packaging.version import InvalidVersion
6
6
 
7
- from commitizen import out
7
+ from commitizen import bump, factory, git, out
8
8
  from commitizen.__version__ import __version__
9
9
  from commitizen.config import BaseConfig
10
- from commitizen.exceptions import NoVersionSpecifiedError, VersionSchemeUnknown
10
+ from commitizen.exceptions import (
11
+ NoCommitsFoundError,
12
+ NoPatternMapError,
13
+ NotAGitProjectError,
14
+ NoVersionSpecifiedError,
15
+ VersionSchemeUnknown,
16
+ )
11
17
  from commitizen.providers import get_provider
12
18
  from commitizen.tags import TagRules
13
19
  from commitizen.version_increment import VersionIncrement
14
- from commitizen.version_schemes import Increment, get_version_scheme
20
+ from commitizen.version_schemes import Increment, VersionProtocol, get_version_scheme
15
21
 
16
22
 
17
23
  class VersionArgs(TypedDict, total=False):
@@ -63,6 +69,9 @@ class Version:
63
69
  or self.arguments.get("next")
64
70
  or self.arguments.get("manual_version")
65
71
  ):
72
+ # TODO: once `cz --version` is implemented, move `self.cz` back to __init__
73
+ self.cz = factory.committer_factory(self.config)
74
+
66
75
  version_str = self.arguments.get("manual_version")
67
76
  if version_str is None:
68
77
  try:
@@ -84,11 +93,15 @@ class Version:
84
93
 
85
94
  if next_increment_str := self.arguments.get("next"):
86
95
  if next_increment_str == "USE_GIT_COMMITS":
96
+ # Only check under `git` to allow the user to do stuff like
97
+ # `cz version 1.2.3 --major`
98
+ if not git.is_git_project():
99
+ raise NotAGitProjectError()
100
+
87
101
  # TODO: implement USE_GIT_COMMITS by deriving the increment from
88
102
  # git history. This requires refactoring the bump logic out of
89
103
  # `commitizen/commands/bump.py` so it can be reused here. See #1678.
90
- out.error("--next USE_GIT_COMMITS is not implemented yet.")
91
- return
104
+ version = self._get_next_git_version(version)
92
105
 
93
106
  next_increment = VersionIncrement.from_value(next_increment_str)
94
107
  increment: Increment | None
@@ -100,6 +113,9 @@ class Version:
100
113
  increment = "MINOR"
101
114
  else:
102
115
  increment = "MAJOR"
116
+
117
+ # TODO: Consider adding all the parameters `.bump` supports:
118
+ # prerelease, prerelease_offset,exact_increment, etc...
103
119
  version = version.bump(increment=increment)
104
120
 
105
121
  if self.arguments.get("major"):
@@ -139,3 +155,39 @@ class Version:
139
155
 
140
156
  # If no arguments are provided, just show the installed commitizen version
141
157
  out.write(__version__)
158
+
159
+ def _get_next_git_version(
160
+ self, current_version: VersionProtocol
161
+ ) -> VersionProtocol:
162
+ """Calculate the next version based on commits."""
163
+ rules = TagRules.from_settings(self.config.settings)
164
+ current_tag = rules.find_tag_for(git.get_tags(), current_version)
165
+ commits = git.get_commits(current_tag.name if current_tag else None)
166
+
167
+ # No commits, there is no need to create an empty tag.
168
+ # Unless we previously had a prerelease.
169
+ if not commits and not current_version.is_prerelease:
170
+ raise NoCommitsFoundError("[NO_COMMITS_FOUND]\nNo new commits found.")
171
+
172
+ bump_map = (
173
+ self.cz.bump_map_major_version_zero
174
+ if self.config.settings["major_version_zero"]
175
+ else self.cz.bump_map
176
+ )
177
+ bump_pattern = self.cz.bump_pattern
178
+
179
+ if not bump_map or not bump_pattern:
180
+ raise NoPatternMapError(
181
+ f"'{self.config.settings['name']}' rule does not support bump"
182
+ )
183
+ increment = bump.find_increment(
184
+ commits, regex=bump_pattern, increments_map=bump_map
185
+ )
186
+
187
+ # TODO: Consider adding all the parameters `.bump` supports:
188
+ # prerelease, prerelease_offset,exact_increment, etc..
189
+ new_version = current_version.bump(
190
+ increment,
191
+ )
192
+
193
+ return new_version
@@ -0,0 +1,363 @@
1
+ [project]
2
+ name = "commitizen"
3
+ version = "4.17.0"
4
+ description = "Python commitizen client tool"
5
+ license = "MIT"
6
+ license-files = ["LICENSE"]
7
+ readme = "docs/README.md"
8
+ requires-python = ">=3.10,<4.0"
9
+ dependencies = [
10
+ "questionary (>=2.0,<3.0)",
11
+ "prompt_toolkit!=3.0.52",
12
+ "decli (>=0.6.0,<1.0)",
13
+ "colorama (>=0.4.1,<1.0)",
14
+ "termcolor (>=1.1.0,<4.0.0)",
15
+ "packaging>=26",
16
+ "tomlkit (>=0.8.0,<1.0.0)",
17
+ "jinja2>=2.10.3",
18
+ "pyyaml>=3.08",
19
+ "argcomplete >=1.12.1,<3.8",
20
+ "typing-extensions (>=4.0.1,<5.0.0) ; python_version < '3.11'",
21
+ "charset-normalizer (>=2.1.0,<4)",
22
+ "deprecated (>=1.2.13, <2)",
23
+ "importlib-metadata >=8.0.0,<8.7.0 ; python_version < '3.10'",
24
+ ]
25
+ keywords = [
26
+ "commitizen",
27
+ "conventional",
28
+ "commits",
29
+ "git",
30
+ ]
31
+ classifiers = [
32
+ "Development Status :: 5 - Production/Stable",
33
+ "Environment :: Console",
34
+ "Intended Audience :: Developers",
35
+ "Natural Language :: English",
36
+ "Operating System :: OS Independent",
37
+ "Programming Language :: Python",
38
+ "Programming Language :: Python :: 3",
39
+ "Programming Language :: Python :: 3.10",
40
+ "Programming Language :: Python :: 3.11",
41
+ "Programming Language :: Python :: 3.12",
42
+ "Programming Language :: Python :: 3.13",
43
+ "Programming Language :: Python :: 3.14",
44
+ "Programming Language :: Python :: Implementation :: CPython",
45
+ ]
46
+
47
+ [[project.authors]]
48
+ name = "Santiago Fraire"
49
+ email = "santiwilly@gmail.com"
50
+
51
+ [[project.maintainers]]
52
+ name = "Wei Lee"
53
+ email = "weilee.rx@gmail.com"
54
+
55
+ [[project.maintainers]]
56
+ name = "Axel H."
57
+ email = "noirbizarre@gmail.com"
58
+
59
+ [[project.maintainers]]
60
+ name = "Tim Hsiung"
61
+ email = "bear890707@gmail.com"
62
+
63
+ [project.urls]
64
+ Homepage = "https://github.com/commitizen-tools/commitizen"
65
+ Documentation = "https://commitizen-tools.github.io/commitizen/"
66
+ Repository = "https://github.com/commitizen-tools/commitizen"
67
+ Issues = "https://github.com/commitizen-tools/commitizen/issues"
68
+ Changelog = "https://github.com/commitizen-tools/commitizen/blob/master/CHANGELOG.md"
69
+
70
+ [project.scripts]
71
+ cz = "commitizen.cli:main"
72
+ git-cz = "commitizen.cli:main"
73
+
74
+ [project.entry-points."commitizen.plugin"]
75
+ cz_conventional_commits = "commitizen.cz.conventional_commits:ConventionalCommitsCz"
76
+ cz_jira = "commitizen.cz.jira:JiraSmartCz"
77
+ cz_customize = "commitizen.cz.customize:CustomizeCommitsCz"
78
+
79
+ [project.entry-points."commitizen.changelog_format"]
80
+ markdown = "commitizen.changelog_formats.markdown:Markdown"
81
+ asciidoc = "commitizen.changelog_formats.asciidoc:AsciiDoc"
82
+ textile = "commitizen.changelog_formats.textile:Textile"
83
+ restructuredtext = "commitizen.changelog_formats.restructuredtext:RestructuredText"
84
+
85
+ [project.entry-points."commitizen.provider"]
86
+ cargo = "commitizen.providers:CargoProvider"
87
+ commitizen = "commitizen.providers:CommitizenProvider"
88
+ composer = "commitizen.providers:ComposerProvider"
89
+ npm = "commitizen.providers:NpmProvider"
90
+ pep621 = "commitizen.providers:Pep621Provider"
91
+ poetry = "commitizen.providers:PoetryProvider"
92
+ scm = "commitizen.providers:ScmProvider"
93
+ uv = "commitizen.providers:UvProvider"
94
+
95
+ [project.entry-points."commitizen.scheme"]
96
+ pep440 = "commitizen.version_schemes:Pep440"
97
+ semver = "commitizen.version_schemes:SemVer"
98
+ semver2 = "commitizen.version_schemes:SemVer2"
99
+
100
+ [dependency-groups]
101
+ dev = [
102
+ { include-group = "base" },
103
+ { include-group = "test" },
104
+ { include-group = "linters" },
105
+ { include-group = "documentation" },
106
+ { include-group = "script" },
107
+ "ipython>=8.0",
108
+ "tox>4",
109
+ "tox-uv",
110
+ ]
111
+ base = [
112
+ "mkdocs-llmstxt>=0.5.0",
113
+ "poethepoet>=0.34.0",
114
+ ]
115
+ test = [
116
+ "pytest>=9",
117
+ "pytest-cov>=4",
118
+ "pytest-mock>=3.10",
119
+ "pytest-regressions>=2.4.0",
120
+ "pytest-freezer>=0.4.6",
121
+ "pytest-xdist>=3.1.0",
122
+ "pytest-gitconfig>=0.9.0",
123
+ "pre-commit>=4.5.1",
124
+ ]
125
+ linters = [
126
+ "ruff>=0.11.5",
127
+ "mypy>=1.16.0",
128
+ "types-deprecated>=1.2.9.2",
129
+ "types-python-dateutil>=2.8.19.13",
130
+ "types-PyYAML>=5.4.3",
131
+ "types-termcolor>=0.1.1",
132
+ "types-colorama>=0.4.15.20240311",
133
+ "prek>=0.2.28",
134
+ ]
135
+ documentation = [
136
+ "mkdocs>=1.4.2,<2",
137
+ "mkdocs-git-revision-date-localized-plugin>=1.5.0",
138
+ "mkdocs-material>=9.1.6",
139
+ ]
140
+ script = ["rich>=13.7.1"]
141
+
142
+ [build-system]
143
+ requires = ["uv_build >= 0.9.17, < 0.13"]
144
+ build-backend = "uv_build"
145
+
146
+ [tool.commitizen]
147
+ tag_format = "v$version"
148
+ version_files = [
149
+ "commitizen/__version__.py",
150
+ ".pre-commit-config.yaml:rev:.+Commitizen",
151
+ ]
152
+ version_provider = "uv"
153
+ version_scheme = "pep440"
154
+ annotated_tag = true
155
+
156
+ [tool.uv.build-backend]
157
+ module-name = "commitizen"
158
+ module-root = ""
159
+ include = ["commitizen/py.typed"]
160
+
161
+ [tool.coverage.report]
162
+ show_missing = true
163
+ exclude_lines = [
164
+ "pragma: no cover",
165
+ "def __repr__",
166
+ 'if self\.debug',
167
+ "raise AssertionError",
168
+ "raise NotImplementedError",
169
+ "if 0:",
170
+ "if __name__ == .__main__.:",
171
+ "if TYPE_CHECKING:",
172
+ ]
173
+ omit = [
174
+ "env/*",
175
+ "venv/*",
176
+ ".venv/*",
177
+ "*/virtualenv/*",
178
+ "*/virtualenvs/*",
179
+ "*/tests/*",
180
+ ]
181
+
182
+ [tool.pytest]
183
+ addopts = ["--strict-markers"]
184
+ testpaths = ["tests/"]
185
+ filterwarnings = ['ignore:Call to deprecated function \(or staticmethod\) get_smart_tag_range:DeprecationWarning']
186
+
187
+ [tool.tox]
188
+ requires = ["tox>=4.22"]
189
+ env_list = [
190
+ "3.10",
191
+ "3.11",
192
+ "3.12",
193
+ "3.13",
194
+ "3.14",
195
+ ]
196
+
197
+ [tool.tox.env_run_base]
198
+ description = "Run tests suite against Python {base_python}"
199
+ dependency_groups = ["test"]
200
+ commands = [[
201
+ "pytest",
202
+ { replace = "posargs", extend = true },
203
+ ]]
204
+
205
+ [tool.ruff]
206
+ required-version = ">=0.11.5"
207
+ line-length = 88
208
+
209
+ [tool.ruff.lint]
210
+ select = [
211
+ "ANN001",
212
+ "ANN2",
213
+ "E",
214
+ "F",
215
+ "UP",
216
+ "I",
217
+ "PGH003",
218
+ "PGH004",
219
+ "RUF022",
220
+ "RUF100",
221
+ "PT",
222
+ "S101",
223
+ "TC001",
224
+ "TC002",
225
+ "TC003",
226
+ "TC004",
227
+ "TC005",
228
+ "TC006",
229
+ ]
230
+ ignore = [
231
+ "E501",
232
+ "D1",
233
+ "D415",
234
+ ]
235
+ extend-safe-fixes = [
236
+ "TC",
237
+ "UP",
238
+ "PT006",
239
+ ]
240
+
241
+ [tool.ruff.lint.per-file-ignores]
242
+ "tests/*" = [
243
+ "ANN",
244
+ "S101",
245
+ ]
246
+
247
+ [tool.ruff.lint.isort]
248
+ known-first-party = [
249
+ "commitizen",
250
+ "tests",
251
+ ]
252
+
253
+ [tool.ruff.lint.pydocstyle]
254
+ convention = "google"
255
+
256
+ [tool.mypy]
257
+ files = [
258
+ "commitizen",
259
+ "tests",
260
+ "scripts",
261
+ ]
262
+ disallow_untyped_decorators = true
263
+ disallow_subclassing_any = true
264
+ warn_return_any = true
265
+ warn_redundant_casts = true
266
+ warn_unused_ignores = true
267
+ warn_unused_configs = true
268
+
269
+ [[tool.mypy.overrides]]
270
+ module = "py.*"
271
+ ignore_missing_imports = true
272
+
273
+ [tool.codespell]
274
+ skip = ".git*,*.svg,*.lock"
275
+ check-hidden = true
276
+ ignore-words-list = "asend"
277
+
278
+ [tool.poe.executor]
279
+ type = "uv"
280
+
281
+ [tool.poe.tasks.format]
282
+ help = "Format the code"
283
+
284
+ [[tool.poe.tasks.format.sequence]]
285
+ cmd = "ruff check --fix"
286
+
287
+ [[tool.poe.tasks.format.sequence]]
288
+ cmd = "ruff format"
289
+
290
+ [tool.poe.tasks.lint]
291
+ help = "Lint the code"
292
+
293
+ [[tool.poe.tasks.lint.sequence]]
294
+ cmd = "ruff check"
295
+
296
+ [[tool.poe.tasks.lint.sequence]]
297
+ cmd = "mypy"
298
+
299
+ [tool.poe.tasks.check-commit]
300
+ help = "Check the commit messages"
301
+ cmd = "cz --no-raise 3 check --rev-range origin/master.."
302
+
303
+ [tool.poe.tasks.test]
304
+ help = "Run the test suite"
305
+ cmd = "pytest -n auto --dist=loadfile"
306
+
307
+ [tool.poe.tasks."test:all"]
308
+ help = "Run the test suite on all supported Python versions"
309
+ cmd = "tox --parallel"
310
+
311
+ [tool.poe.tasks."test:regen"]
312
+ help = "Regenerate the test fixtures"
313
+
314
+ [[tool.poe.tasks."test:regen".parallel]]
315
+ ref = "test -k 'not py_' --regen-all"
316
+
317
+ [[tool.poe.tasks."test:regen".parallel]]
318
+ ref = "test:all -- -k py_ --regen-all"
319
+
320
+ [tool.poe.tasks.cover]
321
+ help = "Run the test suite with coverage"
322
+ ref = "test --cov-report term-missing --cov-report=xml:coverage.xml --cov=commitizen --junitxml=junit.xml -o junit_family=legacy"
323
+
324
+ [tool.poe.tasks.all]
325
+ help = "Run all tasks"
326
+ sequence = [
327
+ "format",
328
+ "lint",
329
+ "check-commit",
330
+ "cover",
331
+ ]
332
+
333
+ [tool.poe.tasks."doc:screenshots"]
334
+ help = "Render documentation screenshots"
335
+
336
+ [[tool.poe.tasks."doc:screenshots".parallel]]
337
+ script = "scripts.gen_cli_help_screenshots:gen_cli_help_screenshots"
338
+
339
+ [[tool.poe.tasks."doc:screenshots".parallel]]
340
+ script = "scripts.gen_cli_interactive_gifs:gen_cli_interactive_gifs"
341
+
342
+ [tool.poe.tasks."doc:build"]
343
+ help = "Build the documentation"
344
+ cmd = "mkdocs build"
345
+
346
+ [tool.poe.tasks.doc]
347
+ help = "Live documentation server"
348
+ cmd = "mkdocs serve --livereload"
349
+
350
+ [tool.poe.tasks.ci]
351
+ help = "Run all tasks in CI"
352
+ sequence = [
353
+ "check-commit",
354
+ { cmd = "prek run --all-files" },
355
+ "cover",
356
+ ]
357
+
358
+ [tool.poe.tasks.ci.env]
359
+ SKIP = "no-commit-to-branch"
360
+
361
+ [tool.poe.tasks.setup-pre-commit]
362
+ help = "Install pre-commit hooks"
363
+ cmd = "prek install"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "commitizen"
3
- version = "4.16.4"
3
+ version = "4.17.0"
4
4
  description = "Python commitizen client tool"
5
5
  authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }]
6
6
  maintainers = [
@@ -23,7 +23,7 @@ dependencies = [
23
23
  "tomlkit (>=0.8.0,<1.0.0)",
24
24
  "jinja2>=2.10.3",
25
25
  "pyyaml>=3.08",
26
- "argcomplete >=1.12.1,<3.7",
26
+ "argcomplete >=1.12.1,<3.8",
27
27
  "typing-extensions (>=4.0.1,<5.0.0) ; python_version < '3.11'",
28
28
  "charset-normalizer (>=2.1.0,<4)",
29
29
  "deprecated (>=1.2.13, <2)",
@@ -133,7 +133,7 @@ script = [
133
133
  ]
134
134
 
135
135
  [build-system]
136
- requires = ["uv_build >= 0.9.17, <0.12"]
136
+ requires = ["uv_build >= 0.9.17, < 0.13"]
137
137
  build-backend = "uv_build"
138
138
 
139
139
 
@@ -1 +0,0 @@
1
- __version__ = "4.16.4"
File without changes
File without changes