crackerjack 0.24.10__tar.gz → 0.25.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.

Potentially problematic release.


This version of crackerjack might be problematic. Click here for more details.

Files changed (44) hide show
  1. {crackerjack-0.24.10 → crackerjack-0.25.0}/PKG-INFO +1 -1
  2. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/crackerjack.py +5 -5
  3. {crackerjack-0.24.10/crackerjack → crackerjack-0.25.0}/pyproject.toml +1 -1
  4. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_crackerjack.py +28 -4
  5. {crackerjack-0.24.10 → crackerjack-0.25.0}/uv.lock +1 -1
  6. {crackerjack-0.24.10 → crackerjack-0.25.0}/.envrc +0 -0
  7. {crackerjack-0.24.10 → crackerjack-0.25.0}/.github/FUNDING.yml +0 -0
  8. {crackerjack-0.24.10 → crackerjack-0.25.0}/.gitignore +0 -0
  9. {crackerjack-0.24.10 → crackerjack-0.25.0}/.libcst.codemod.yaml +0 -0
  10. {crackerjack-0.24.10 → crackerjack-0.25.0}/.pre-commit-config-ai.yaml +0 -0
  11. {crackerjack-0.24.10 → crackerjack-0.25.0}/.pre-commit-config.yaml +0 -0
  12. {crackerjack-0.24.10 → crackerjack-0.25.0}/CLAUDE.md +0 -0
  13. {crackerjack-0.24.10 → crackerjack-0.25.0}/LICENSE +0 -0
  14. {crackerjack-0.24.10 → crackerjack-0.25.0}/README-AI-AGENT.md +0 -0
  15. {crackerjack-0.24.10 → crackerjack-0.25.0}/README.md +0 -0
  16. {crackerjack-0.24.10 → crackerjack-0.25.0}/RULES.md +0 -0
  17. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/.gitignore +0 -0
  18. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/.libcst.codemod.yaml +0 -0
  19. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/.pdm.toml +0 -0
  20. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/.pre-commit-config-ai.yaml +0 -0
  21. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/.pre-commit-config.yaml +0 -0
  22. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/__init__.py +0 -0
  23. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/__main__.py +0 -0
  24. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/errors.py +0 -0
  25. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/interactive.py +0 -0
  26. {crackerjack-0.24.10 → crackerjack-0.25.0}/crackerjack/py313.py +0 -0
  27. {crackerjack-0.24.10 → crackerjack-0.25.0/crackerjack}/pyproject.toml +0 -0
  28. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/TESTING.md +0 -0
  29. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/__init__.py +0 -0
  30. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/conftest.py +0 -0
  31. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/data/comments_sample.txt +0 -0
  32. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/data/docstrings_sample.txt +0 -0
  33. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/data/expected_comments_sample.txt +0 -0
  34. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/data/init.py +0 -0
  35. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_crackerjack_runner.py +0 -0
  36. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_errors.py +0 -0
  37. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_interactive.py +0 -0
  38. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_interactive_run.py +0 -0
  39. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_main.py +0 -0
  40. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_multiline_functions.py +0 -0
  41. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_py313_advanced.py +0 -0
  42. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_py313_features.py +0 -0
  43. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_pytest_features.py +0 -0
  44. {crackerjack-0.24.10 → crackerjack-0.25.0}/tests/test_structured_errors.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crackerjack
3
- Version: 0.24.10
3
+ Version: 0.25.0
4
4
  Summary: Crackerjack: code quality toolkit
5
5
  Project-URL: documentation, https://github.com/lesleslie/crackerjack
6
6
  Project-URL: homepage, https://github.com/lesleslie/crackerjack
@@ -634,7 +634,7 @@ class CodeCleaner(BaseModel, arbitrary_types_allowed=True):
634
634
  temp_path.write_text(code)
635
635
  try:
636
636
  result = subprocess.run(
637
- ["ruff", "format", str(temp_path)],
637
+ ["uv", "run", "ruff", "format", str(temp_path)],
638
638
  check=False,
639
639
  capture_output=True,
640
640
  text=True,
@@ -887,7 +887,7 @@ class ProjectManager(BaseModel, arbitrary_types_allowed=True):
887
887
  self.execute_command(["git", "branch", "-m", "main"])
888
888
  self.execute_command(["git", "add", "pyproject.toml", "uv.lock"])
889
889
  self.execute_command(["git", "config", "advice.addIgnoredFile", "false"])
890
- install_cmd = ["pre-commit", "install"]
890
+ install_cmd = ["uv", "run", "pre-commit", "install"]
891
891
  if hasattr(self, "options") and getattr(self.options, "ai_agent", False):
892
892
  install_cmd.extend(["-c", ".pre-commit-config-ai.yaml"])
893
893
  self.execute_command(install_cmd)
@@ -899,7 +899,7 @@ class ProjectManager(BaseModel, arbitrary_types_allowed=True):
899
899
  "[bold bright_cyan]🔍 HOOKS[/bold bright_cyan] [bold bright_white]Running code quality checks[/bold bright_white]"
900
900
  )
901
901
  self.console.print("-" * 60 + "\n")
902
- cmd = ["pre-commit", "run", "--all-files"]
902
+ cmd = ["uv", "run", "pre-commit", "run", "--all-files"]
903
903
  if hasattr(self, "options") and getattr(self.options, "ai_agent", False):
904
904
  cmd.extend(["-c", ".pre-commit-config-ai.yaml"])
905
905
  check_all = self.execute_command(cmd)
@@ -990,7 +990,7 @@ class Crackerjack(BaseModel, arbitrary_types_allowed=True):
990
990
 
991
991
  def _update_precommit(self, options: t.Any) -> None:
992
992
  if self.pkg_path.stem == "crackerjack" and options.update_precommit:
993
- update_cmd = ["pre-commit", "autoupdate"]
993
+ update_cmd = ["uv", "run", "pre-commit", "autoupdate"]
994
994
  if options.ai_agent:
995
995
  update_cmd.extend(["-c", ".pre-commit-config-ai.yaml"])
996
996
  self.execute_command(update_cmd)
@@ -1076,7 +1076,7 @@ class Crackerjack(BaseModel, arbitrary_types_allowed=True):
1076
1076
  test.append("-xvs")
1077
1077
 
1078
1078
  def _prepare_pytest_command(self, options: OptionsProtocol) -> list[str]:
1079
- test = ["pytest"]
1079
+ test = ["uv", "run", "pytest"]
1080
1080
  project_size = self._detect_project_size()
1081
1081
  test_timeout = self._get_test_timeout(options, project_size)
1082
1082
  if getattr(options, "ai_agent", False):
@@ -4,7 +4,7 @@ requires = [ "hatchling" ]
4
4
 
5
5
  [project]
6
6
  name = "crackerjack"
7
- version = "0.24.9"
7
+ version = "0.25.0"
8
8
  description = "Crackerjack: code quality toolkit"
9
9
  readme = "README.md"
10
10
  keywords = [
@@ -909,7 +909,9 @@ class TestCrackerjackProcess:
909
909
  with patch.object(cj, "_setup_package"):
910
910
  with patch.object(cj, "_update_project"):
911
911
  cj.process(options)
912
- mock_cj_execute.assert_any_call(["pre-commit", "autoupdate"])
912
+ mock_cj_execute.assert_any_call(
913
+ ["uv", "run", "pre-commit", "autoupdate"]
914
+ )
913
915
 
914
916
  def test_update_precommit_ai_agent(
915
917
  self,
@@ -927,7 +929,14 @@ class TestCrackerjackProcess:
927
929
  with patch.object(cj, "_update_project"):
928
930
  cj.process(options)
929
931
  mock_cj_execute.assert_any_call(
930
- ["pre-commit", "autoupdate", "-c", ".pre-commit-config-ai.yaml"]
932
+ [
933
+ "uv",
934
+ "run",
935
+ "pre-commit",
936
+ "autoupdate",
937
+ "-c",
938
+ ".pre-commit-config-ai.yaml",
939
+ ]
931
940
  )
932
941
 
933
942
  def test_run_pre_commit_ai_agent(
@@ -943,7 +952,15 @@ class TestCrackerjackProcess:
943
952
  mock_project.execute_command.return_value = MagicMock(returncode=0)
944
953
  ProjectManager.run_pre_commit(mock_project)
945
954
  mock_project.execute_command.assert_called_with(
946
- ["pre-commit", "run", "--all-files", "-c", ".pre-commit-config-ai.yaml"]
955
+ [
956
+ "uv",
957
+ "run",
958
+ "pre-commit",
959
+ "run",
960
+ "--all-files",
961
+ "-c",
962
+ ".pre-commit-config-ai.yaml",
963
+ ]
947
964
  )
948
965
 
949
966
  def test_pre_commit_install_ai_agent(
@@ -965,7 +982,14 @@ class TestCrackerjackProcess:
965
982
  original_method = ProjectManager.update_pkg_configs
966
983
  original_method(mock_project)
967
984
  mock_execute.assert_any_call(
968
- ["pre-commit", "install", "-c", ".pre-commit-config-ai.yaml"]
985
+ [
986
+ "uv",
987
+ "run",
988
+ "pre-commit",
989
+ "install",
990
+ "-c",
991
+ ".pre-commit-config-ai.yaml",
992
+ ]
969
993
  )
970
994
 
971
995
  def test_process_with_precommit_failure(
@@ -105,7 +105,7 @@ wheels = [
105
105
 
106
106
  [[package]]
107
107
  name = "crackerjack"
108
- version = "0.24.10"
108
+ version = "0.25.0"
109
109
  source = { editable = "." }
110
110
  dependencies = [
111
111
  { name = "autotyping" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes