commitizen 4.13.6__tar.gz → 4.13.7__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 (73) hide show
  1. {commitizen-4.13.6 → commitizen-4.13.7}/PKG-INFO +1 -1
  2. commitizen-4.13.7/commitizen/__version__.py +1 -0
  3. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/check.py +5 -5
  4. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/commit.py +5 -6
  5. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/__init__.py +1 -2
  6. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/toml_config.py +4 -8
  7. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/conventional_commits/conventional_commits.py +1 -2
  8. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/customize/customize.py +2 -2
  9. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/jira/jira.py +1 -2
  10. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/base_provider.py +12 -6
  11. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/cargo_provider.py +10 -4
  12. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/npm_provider.py +19 -9
  13. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/uv_provider.py +9 -3
  14. {commitizen-4.13.6 → commitizen-4.13.7}/pyproject.toml +4 -3
  15. commitizen-4.13.6/commitizen/__version__.py +0 -1
  16. {commitizen-4.13.6 → commitizen-4.13.7}/LICENSE +0 -0
  17. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/__init__.py +0 -0
  18. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/__main__.py +0 -0
  19. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/bump.py +0 -0
  20. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog.py +0 -0
  21. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/__init__.py +0 -0
  22. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/asciidoc.py +0 -0
  23. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/base.py +0 -0
  24. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/markdown.py +0 -0
  25. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/restructuredtext.py +0 -0
  26. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/changelog_formats/textile.py +0 -0
  27. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cli.py +0 -0
  28. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cmd.py +0 -0
  29. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/__init__.py +0 -0
  30. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/bump.py +0 -0
  31. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/changelog.py +0 -0
  32. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/example.py +0 -0
  33. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/info.py +0 -0
  34. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/init.py +0 -0
  35. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/list_cz.py +0 -0
  36. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/schema.py +0 -0
  37. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/commands/version.py +0 -0
  38. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/base_config.py +0 -0
  39. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/factory.py +0 -0
  40. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/json_config.py +0 -0
  41. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/config/yaml_config.py +0 -0
  42. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/__init__.py +0 -0
  43. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/base.py +0 -0
  44. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/conventional_commits/__init__.py +0 -0
  45. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/conventional_commits/conventional_commits_info.txt +0 -0
  46. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/customize/__init__.py +0 -0
  47. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/customize/customize_info.txt +0 -0
  48. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/exceptions.py +0 -0
  49. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/jira/__init__.py +0 -0
  50. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/jira/jira_info.txt +0 -0
  51. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/cz/utils.py +0 -0
  52. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/defaults.py +0 -0
  53. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/exceptions.py +0 -0
  54. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/factory.py +0 -0
  55. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/git.py +0 -0
  56. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/hooks.py +0 -0
  57. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/out.py +0 -0
  58. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/project_info.py +0 -0
  59. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/__init__.py +0 -0
  60. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/commitizen_provider.py +0 -0
  61. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/composer_provider.py +0 -0
  62. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/pep621_provider.py +0 -0
  63. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/poetry_provider.py +0 -0
  64. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/providers/scm_provider.py +0 -0
  65. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/py.typed +0 -0
  66. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/question.py +0 -0
  67. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/tags.py +0 -0
  68. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/templates/CHANGELOG.adoc.j2 +0 -0
  69. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/templates/CHANGELOG.md.j2 +0 -0
  70. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/templates/CHANGELOG.rst.j2 +0 -0
  71. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/templates/CHANGELOG.textile.j2 +0 -0
  72. {commitizen-4.13.6 → commitizen-4.13.7}/commitizen/version_schemes.py +0 -0
  73. {commitizen-4.13.6 → commitizen-4.13.7}/docs/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: commitizen
3
- Version: 4.13.6
3
+ Version: 4.13.7
4
4
  Summary: Python commitizen client tool
5
5
  Keywords: commitizen,conventional,commits,git
6
6
  Author: Santiago Fraire
@@ -0,0 +1 @@
1
+ __version__ = "4.13.7"
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import re
4
4
  import sys
5
+ from pathlib import Path
5
6
  from typing import TYPE_CHECKING, TypedDict
6
7
 
7
8
  from commitizen import factory, git, out
@@ -116,11 +117,10 @@ class Check:
116
117
  # Get commit message from command line (--message)
117
118
  return self.commit_msg
118
119
 
119
- with open(
120
- self.commit_msg_file, encoding=self.config.settings["encoding"]
121
- ) as commit_file:
122
- # Get commit message from file (--commit-msg-file)
123
- return commit_file.read()
120
+ # Get commit message from file (--commit-msg-file)
121
+ return Path(self.commit_msg_file).read_text(
122
+ encoding=self.config.settings["encoding"]
123
+ )
124
124
 
125
125
  def _get_commits(self) -> list[git.GitCommit]:
126
126
  if (msg := self._get_commit_message()) is not None:
@@ -5,6 +5,7 @@ import os
5
5
  import shutil
6
6
  import subprocess
7
7
  import tempfile
8
+ from pathlib import Path
8
9
  from typing import TYPE_CHECKING, TypedDict
9
10
 
10
11
  import questionary
@@ -26,8 +27,6 @@ from commitizen.exceptions import (
26
27
  from commitizen.git import smart_open
27
28
 
28
29
  if TYPE_CHECKING:
29
- from pathlib import Path
30
-
31
30
  from commitizen.config import BaseConfig
32
31
 
33
32
 
@@ -61,8 +60,9 @@ class Commit:
61
60
  return None
62
61
 
63
62
  # Read commit message from backup
64
- with self.backup_file_path.open(encoding=self.config.settings["encoding"]) as f:
65
- return f.read().strip()
63
+ return self.backup_file_path.read_text(
64
+ encoding=self.config.settings["encoding"]
65
+ ).strip()
66
66
 
67
67
  def _get_message_by_prompt_commit_questions(self) -> str:
68
68
  # Prompt user for the commit message
@@ -112,8 +112,7 @@ class Commit:
112
112
  file_path = file.name
113
113
  argv = [exec_path, file_path]
114
114
  subprocess.call(argv)
115
- with open(file_path) as temp_file:
116
- message = temp_file.read().strip()
115
+ message = Path(file_path).read_text().strip()
117
116
  os.unlink(file.name)
118
117
  return message
119
118
 
@@ -28,8 +28,7 @@ def _resolve_config_candidates() -> list[BaseConfig]:
28
28
 
29
29
 
30
30
  def _create_config_from_path(path: Path) -> BaseConfig:
31
- with path.open("rb") as f:
32
- return create_config(data=f.read(), path=path)
31
+ return create_config(data=path.read_bytes(), path=path)
33
32
 
34
33
 
35
34
  def read_cfg(filepath: str | None = None) -> BaseConfig:
@@ -26,15 +26,13 @@ class TomlConfig(BaseConfig):
26
26
  self._parse_setting(data)
27
27
 
28
28
  def contains_commitizen_section(self) -> bool:
29
- with self.path.open("rb") as f:
30
- config_doc = parse(f.read())
29
+ config_doc = parse(self.path.read_bytes())
31
30
  return config_doc.get("tool", {}).get("commitizen") is not None
32
31
 
33
32
  def init_empty_config_content(self) -> None:
34
33
  config_doc = TOMLDocument()
35
34
  if self.path.is_file():
36
- with self.path.open("rb") as input_toml_file:
37
- config_doc = parse(input_toml_file.read())
35
+ config_doc = parse(self.path.read_bytes())
38
36
 
39
37
  if config_doc.get("tool") is None:
40
38
  config_doc["tool"] = table()
@@ -46,12 +44,10 @@ class TomlConfig(BaseConfig):
46
44
  )
47
45
 
48
46
  def set_key(self, key: str, value: object) -> Self:
49
- with self.path.open("rb") as f:
50
- config_doc = parse(f.read())
47
+ config_doc = parse(self.path.read_bytes())
51
48
 
52
49
  config_doc["tool"]["commitizen"][key] = value # type: ignore[index]
53
- with self.path.open("wb") as f:
54
- f.write(config_doc.as_string().encode(self._settings["encoding"]))
50
+ self.path.write_bytes(config_doc.as_string().encode(self._settings["encoding"]))
55
51
 
56
52
  return self
57
53
 
@@ -215,5 +215,4 @@ class ConventionalCommitsCz(BaseCommitizen):
215
215
 
216
216
  def info(self) -> str:
217
217
  filepath = Path(__file__).parent / "conventional_commits_info.txt"
218
- with filepath.open(encoding=self.config.settings["encoding"]) as f:
219
- return f.read()
218
+ return filepath.read_text(encoding=self.config.settings["encoding"])
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from pathlib import Path
3
4
  from typing import TYPE_CHECKING, Any
4
5
 
5
6
  if TYPE_CHECKING:
@@ -68,6 +69,5 @@ class CustomizeCommitsCz(BaseCommitizen):
68
69
 
69
70
  def info(self) -> str:
70
71
  if info_path := self.custom_settings.get("info_path"):
71
- with open(info_path, encoding=self.config.settings["encoding"]) as f:
72
- return f.read()
72
+ return Path(info_path).read_text(encoding=self.config.settings["encoding"])
73
73
  return self.custom_settings.get("info") or ""
@@ -74,5 +74,4 @@ class JiraSmartCz(BaseCommitizen):
74
74
 
75
75
  def info(self) -> str:
76
76
  filepath = Path(__file__).parent / "jira_info.txt"
77
- with filepath.open(encoding=self.config.settings["encoding"]) as f:
78
- return f.read()
77
+ return filepath.read_text(encoding=self.config.settings["encoding"])
@@ -49,6 +49,9 @@ class FileProvider(VersionProvider):
49
49
  def file(self) -> Path:
50
50
  return Path() / self.filename
51
51
 
52
+ def _get_encoding(self) -> str:
53
+ return self.config.settings["encoding"]
54
+
52
55
 
53
56
  class JsonProvider(FileProvider):
54
57
  """
@@ -58,13 +61,16 @@ class JsonProvider(FileProvider):
58
61
  indent: ClassVar[int] = 2
59
62
 
60
63
  def get_version(self) -> str:
61
- document = json.loads(self.file.read_text())
64
+ document = json.loads(self.file.read_text(encoding=self._get_encoding()))
62
65
  return self.get(document)
63
66
 
64
67
  def set_version(self, version: str) -> None:
65
- document = json.loads(self.file.read_text())
68
+ document = json.loads(self.file.read_text(encoding=self._get_encoding()))
66
69
  self.set(document, version)
67
- self.file.write_text(json.dumps(document, indent=self.indent) + "\n")
70
+ self.file.write_text(
71
+ json.dumps(document, indent=self.indent) + "\n",
72
+ encoding=self._get_encoding(),
73
+ )
68
74
 
69
75
  def get(self, document: Mapping[str, str]) -> str:
70
76
  return document["version"]
@@ -79,13 +85,13 @@ class TomlProvider(FileProvider):
79
85
  """
80
86
 
81
87
  def get_version(self) -> str:
82
- document = tomlkit.parse(self.file.read_text())
88
+ document = tomlkit.parse(self.file.read_text(encoding=self._get_encoding()))
83
89
  return self.get(document)
84
90
 
85
91
  def set_version(self, version: str) -> None:
86
- document = tomlkit.parse(self.file.read_text())
92
+ document = tomlkit.parse(self.file.read_text(encoding=self._get_encoding()))
87
93
  self.set(document, version)
88
- self.file.write_text(tomlkit.dumps(document))
94
+ self.file.write_text(tomlkit.dumps(document), encoding=self._get_encoding())
89
95
 
90
96
  def get(self, document: tomlkit.TOMLDocument) -> str:
91
97
  return document["project"]["version"] # type: ignore[index,return-value]
@@ -43,8 +43,10 @@ class CargoProvider(TomlProvider):
43
43
  self.set_lock_version(version)
44
44
 
45
45
  def set_lock_version(self, version: str) -> None:
46
- cargo_toml_content = parse(self.file.read_text())
47
- cargo_lock_content = parse(self.lock_file.read_text())
46
+ cargo_toml_content = parse(self.file.read_text(encoding=self._get_encoding()))
47
+ cargo_lock_content = parse(
48
+ self.lock_file.read_text(encoding=self._get_encoding())
49
+ )
48
50
  packages = cargo_lock_content["package"]
49
51
 
50
52
  if TYPE_CHECKING:
@@ -75,7 +77,9 @@ class CargoProvider(TomlProvider):
75
77
  continue
76
78
 
77
79
  cargo_file = Path(path) / "Cargo.toml"
78
- package_content = parse(cargo_file.read_text()).get("package", {})
80
+ package_content = parse(
81
+ cargo_file.read_text(encoding=self._get_encoding())
82
+ ).get("package", {})
79
83
  if TYPE_CHECKING:
80
84
  assert isinstance(package_content, dict)
81
85
  try:
@@ -92,7 +96,9 @@ class CargoProvider(TomlProvider):
92
96
  if package["name"] in members_inheriting:
93
97
  cargo_lock_content["package"][i]["version"] = version # type: ignore[index]
94
98
 
95
- self.lock_file.write_text(dumps(cargo_lock_content))
99
+ self.lock_file.write_text(
100
+ dumps(cargo_lock_content), encoding=self._get_encoding()
101
+ )
96
102
 
97
103
 
98
104
  def _try_get_workspace(document: TOMLDocument) -> dict:
@@ -4,13 +4,13 @@ import json
4
4
  from pathlib import Path
5
5
  from typing import TYPE_CHECKING, Any, ClassVar
6
6
 
7
- from commitizen.providers.base_provider import VersionProvider
7
+ from commitizen.providers.base_provider import JsonProvider
8
8
 
9
9
  if TYPE_CHECKING:
10
10
  from collections.abc import Mapping
11
11
 
12
12
 
13
- class NpmProvider(VersionProvider):
13
+ class NpmProvider(JsonProvider):
14
14
  """
15
15
  npm package.json and package-lock.json version management
16
16
  """
@@ -36,29 +36,39 @@ class NpmProvider(VersionProvider):
36
36
  """
37
37
  Get the current version from package.json
38
38
  """
39
- package_document = json.loads(self.package_file.read_text())
39
+ package_document = json.loads(
40
+ self.package_file.read_text(encoding=self._get_encoding())
41
+ )
40
42
  return self.get_package_version(package_document)
41
43
 
42
44
  def set_version(self, version: str) -> None:
43
45
  package_document = self.set_package_version(
44
- json.loads(self.package_file.read_text()), version
46
+ json.loads(self.package_file.read_text(encoding=self._get_encoding())),
47
+ version,
45
48
  )
46
49
  self.package_file.write_text(
47
- json.dumps(package_document, indent=self.indent) + "\n"
50
+ json.dumps(package_document, indent=self.indent) + "\n",
51
+ encoding=self._get_encoding(),
48
52
  )
49
53
  if self.lock_file.is_file():
50
54
  lock_document = self.set_lock_version(
51
- json.loads(self.lock_file.read_text()), version
55
+ json.loads(self.lock_file.read_text(encoding=self._get_encoding())),
56
+ version,
52
57
  )
53
58
  self.lock_file.write_text(
54
- json.dumps(lock_document, indent=self.indent) + "\n"
59
+ json.dumps(lock_document, indent=self.indent) + "\n",
60
+ encoding=self._get_encoding(),
55
61
  )
56
62
  if self.shrinkwrap_file.is_file():
57
63
  shrinkwrap_document = self.set_shrinkwrap_version(
58
- json.loads(self.shrinkwrap_file.read_text()), version
64
+ json.loads(
65
+ self.shrinkwrap_file.read_text(encoding=self._get_encoding())
66
+ ),
67
+ version,
59
68
  )
60
69
  self.shrinkwrap_file.write_text(
61
- json.dumps(shrinkwrap_document, indent=self.indent) + "\n"
70
+ json.dumps(shrinkwrap_document, indent=self.indent) + "\n",
71
+ encoding=self._get_encoding(),
62
72
  )
63
73
 
64
74
  def get_package_version(self, document: Mapping[str, str]) -> str:
@@ -26,15 +26,21 @@ class UvProvider(TomlProvider):
26
26
  self.set_lock_version(version)
27
27
 
28
28
  def set_lock_version(self, version: str) -> None:
29
- pyproject_toml_content = tomlkit.parse(self.file.read_text())
29
+ pyproject_toml_content = tomlkit.parse(
30
+ self.file.read_text(encoding=self._get_encoding())
31
+ )
30
32
  project_name = pyproject_toml_content["project"]["name"] # type: ignore[index]
31
33
  normalized_project_name = canonicalize_name(str(project_name))
32
34
 
33
- document = tomlkit.parse(self.lock_file.read_text())
35
+ document = tomlkit.parse(
36
+ self.lock_file.read_text(encoding=self._get_encoding())
37
+ )
34
38
 
35
39
  packages: tomlkit.items.AoT = document["package"] # type: ignore[assignment]
36
40
  for i, package in enumerate(packages):
37
41
  if package["name"] == normalized_project_name:
38
42
  document["package"][i]["version"] = version # type: ignore[index]
39
43
  break
40
- self.lock_file.write_text(tomlkit.dumps(document))
44
+ self.lock_file.write_text(
45
+ tomlkit.dumps(document), encoding=self._get_encoding()
46
+ )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "commitizen"
3
- version = "4.13.6"
3
+ version = "4.13.7"
4
4
  description = "Python commitizen client tool"
5
5
  authors = [{ name = "Santiago Fraire", email = "santiwilly@gmail.com" }]
6
6
  maintainers = [
@@ -237,8 +237,9 @@ select = [
237
237
  ]
238
238
  ignore = ["E501", "D1", "D415"]
239
239
  extend-safe-fixes = [
240
- "TC", # Move imports inside/outside TYPE_CHECKING blocks
241
- "UP", # Update syntaxes for current Python version recommendations
240
+ "TC", # Move imports inside/outside TYPE_CHECKING blocks
241
+ "UP", # Update syntaxes for current Python version recommendations
242
+ "PT006", # Use tuple in pytest.mark.parametrize
242
243
  ]
243
244
 
244
245
  [tool.ruff.lint.per-file-ignores]
@@ -1 +0,0 @@
1
- __version__ = "4.13.6"
File without changes
File without changes