crackerjack 0.24.9__py3-none-any.whl → 0.25.0__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.
Potentially problematic release.
This version of crackerjack might be problematic. Click here for more details.
- crackerjack/crackerjack.py +5 -5
- crackerjack/pyproject.toml +1 -1
- {crackerjack-0.24.9.dist-info → crackerjack-0.25.0.dist-info}/METADATA +47 -15
- {crackerjack-0.24.9.dist-info → crackerjack-0.25.0.dist-info}/RECORD +6 -6
- {crackerjack-0.24.9.dist-info → crackerjack-0.25.0.dist-info}/WHEEL +0 -0
- {crackerjack-0.24.9.dist-info → crackerjack-0.25.0.dist-info}/licenses/LICENSE +0 -0
crackerjack/crackerjack.py
CHANGED
|
@@ -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):
|
crackerjack/pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.
|
|
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
|
|
@@ -595,19 +595,51 @@ Crackerjack is designed with modern Python principles in mind:
|
|
|
595
595
|
|
|
596
596
|
## Acknowledgments
|
|
597
597
|
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
-
|
|
602
|
-
-
|
|
603
|
-
-
|
|
604
|
-
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
-
|
|
608
|
-
-
|
|
609
|
-
-
|
|
610
|
-
-
|
|
611
|
-
-
|
|
598
|
+
Crackerjack stands on the shoulders of giants. We're grateful to the maintainers and contributors of these outstanding tools that make modern Python development possible:
|
|
599
|
+
|
|
600
|
+
### Core Development Tools
|
|
601
|
+
- **[UV](https://docs.astral.sh/uv/)** - Next-generation Python package and project management
|
|
602
|
+
- **[Ruff](https://docs.astral.sh/ruff/)** - Lightning-fast Python linter and formatter written in Rust
|
|
603
|
+
- **[pyright](https://microsoft.github.io/pyright/)** - Fast, feature-rich static type checker for Python
|
|
604
|
+
- **[pytest](https://pytest.org/)** - Flexible and powerful testing framework
|
|
605
|
+
|
|
606
|
+
### Code Quality & Security
|
|
607
|
+
- **[pre-commit](https://pre-commit.com/)** - Multi-language pre-commit hooks framework
|
|
608
|
+
- **[bandit](https://bandit.readthedocs.io/)** - Security vulnerability scanner for Python
|
|
609
|
+
- **[vulture](https://github.com/jendrikseipp/vulture)** - Dead code detection tool
|
|
610
|
+
- **[refurb](https://github.com/dosisod/refurb)** - Code modernization and improvement suggestions
|
|
611
|
+
- **[codespell](https://github.com/codespell-project/codespell)** - Spelling mistake detection and correction
|
|
612
|
+
- **[detect-secrets](https://github.com/Yelp/detect-secrets)** - Prevention of secrets in repositories
|
|
613
|
+
|
|
614
|
+
### Dependencies & Project Management
|
|
615
|
+
- **[creosote](https://github.com/fredrikaverpil/creosote)** - Unused dependency detection
|
|
616
|
+
- **[autotyping](https://github.com/JelleZijlstra/autotyping)** - Automatic type hint generation
|
|
617
|
+
- **[complexipy](https://github.com/rohaquinlop/complexipy)** - Code complexity analysis
|
|
618
|
+
|
|
619
|
+
### CLI & User Interface
|
|
620
|
+
- **[Typer](https://typer.tiangolo.com/)** - Modern CLI framework for building command-line interfaces
|
|
621
|
+
- **[Rich](https://rich.readthedocs.io/)** - Rich text and beautiful formatting in the terminal
|
|
622
|
+
- **[click](https://click.palletsprojects.com/)** - Python package for creating command line interfaces
|
|
623
|
+
|
|
624
|
+
### Performance & Development Tools
|
|
625
|
+
- **[icecream](https://github.com/gruns/icecream)** - Sweet and creamy print debugging
|
|
626
|
+
- **[bevy](https://github.com/ZeroIntensity/bevy)** - Lightweight dependency injection framework
|
|
627
|
+
- **[msgspec](https://github.com/jcrist/msgspec)** - High-performance message serialization
|
|
628
|
+
- **[attrs](https://github.com/python-attrs/attrs)** - Classes without boilerplate
|
|
629
|
+
|
|
630
|
+
### Development Environment
|
|
631
|
+
- **[PyCharm](https://www.jetbrains.com/pycharm/)** - The premier Python IDE that powered the development of Crackerjack
|
|
632
|
+
- **[Claude Code](https://claude.ai/code)** - AI-powered development assistant that accelerated development and ensured code quality
|
|
633
|
+
|
|
634
|
+
### Legacy Inspiration
|
|
635
|
+
- **[PDM](https://pdm.fming.dev/)** - Original inspiration for modern Python dependency management patterns
|
|
636
|
+
|
|
637
|
+
### Special Recognition
|
|
638
|
+
|
|
639
|
+
We extend special thanks to the **Astral team** for their groundbreaking work on UV and Ruff, which have revolutionized Python tooling. Their commitment to performance, reliability, and developer experience has set new standards for the Python ecosystem.
|
|
640
|
+
|
|
641
|
+
The integration of these tools into Crackerjack's unified workflow demonstrates the power of the modern Python toolchain when thoughtfully combined. Each tool excels in its domain, and together they create a development experience that is both powerful and delightful.
|
|
642
|
+
|
|
643
|
+
We're honored to build upon this foundation and contribute to the Python community's continued evolution toward better development practices and tools.
|
|
612
644
|
|
|
613
645
|
---
|
|
@@ -5,12 +5,12 @@ crackerjack/.pre-commit-config-ai.yaml,sha256=kPAU41yuX8XU00HDl6Y2mX-L3aLMYTNo8f
|
|
|
5
5
|
crackerjack/.pre-commit-config.yaml,sha256=KwzEBj84K5Vp09aYXlk2H7LFlMJl6jToOl8q4u3IxuU,2480
|
|
6
6
|
crackerjack/__init__.py,sha256=8tBSPAru_YDuPpjz05cL7pNbZjYFoRT_agGd_FWa3gY,839
|
|
7
7
|
crackerjack/__main__.py,sha256=-h6Au8CGHS9QdzzbDMGzKHAlNEx7cYmzCrV4g4vV19k,6407
|
|
8
|
-
crackerjack/crackerjack.py,sha256=
|
|
8
|
+
crackerjack/crackerjack.py,sha256=iYzhBdEvhCdyrqv-t0jQ862JNn3rwV15P2beaOzu3zs,49463
|
|
9
9
|
crackerjack/errors.py,sha256=Wcv0rXfzV9pHOoXYrhQEjyJd4kUUBbdiY-5M9nI8pDw,4050
|
|
10
10
|
crackerjack/interactive.py,sha256=pFItgRUyjOakABLCRz6nIp6_Ycx2LBSeojpYNiTelv0,16126
|
|
11
11
|
crackerjack/py313.py,sha256=buYE7LO11Q64ffowEhTZRFQoAGj_8sg3DTlZuv8M9eo,5890
|
|
12
|
-
crackerjack/pyproject.toml,sha256=
|
|
13
|
-
crackerjack-0.
|
|
14
|
-
crackerjack-0.
|
|
15
|
-
crackerjack-0.
|
|
16
|
-
crackerjack-0.
|
|
12
|
+
crackerjack/pyproject.toml,sha256=NFvAHJWYrEQr9WqHllZVKy5dGDO3O2fMMkFJSSboNNk,5284
|
|
13
|
+
crackerjack-0.25.0.dist-info/METADATA,sha256=X4EhLP97QsYQxKZYCFnGHTMaE8kYDRQQ-e8hJFQggtI,28711
|
|
14
|
+
crackerjack-0.25.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
15
|
+
crackerjack-0.25.0.dist-info/licenses/LICENSE,sha256=fDt371P6_6sCu7RyqiZH_AhT1LdN3sN1zjBtqEhDYCk,1531
|
|
16
|
+
crackerjack-0.25.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|