crackerjack 0.21.8__py3-none-any.whl → 0.22.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.
- crackerjack/.pre-commit-config.yaml +1 -17
- crackerjack/.ruff_cache/0.12.1/5056746222905752453 +0 -0
- crackerjack/__main__.py +0 -4
- crackerjack/crackerjack.py +0 -1
- crackerjack/pyproject.toml +1 -1
- {crackerjack-0.21.8.dist-info → crackerjack-0.22.0.dist-info}/METADATA +10 -12
- {crackerjack-0.21.8.dist-info → crackerjack-0.22.0.dist-info}/RECORD +10 -10
- {crackerjack-0.21.8.dist-info → crackerjack-0.22.0.dist-info}/WHEEL +0 -0
- {crackerjack-0.21.8.dist-info → crackerjack-0.22.0.dist-info}/entry_points.txt +0 -0
- {crackerjack-0.21.8.dist-info → crackerjack-0.22.0.dist-info}/licenses/LICENSE +0 -0
@@ -14,11 +14,6 @@ repos:
|
|
14
14
|
- id: check-added-large-files
|
15
15
|
name: check-added-large-files
|
16
16
|
|
17
|
-
- repo: https://github.com/abravalheri/validate-pyproject
|
18
|
-
rev: v0.24.1
|
19
|
-
hooks:
|
20
|
-
- id: validate-pyproject
|
21
|
-
|
22
17
|
- repo: https://github.com/tox-dev/pyproject-fmt
|
23
18
|
rev: "v2.6.0"
|
24
19
|
hooks:
|
@@ -34,7 +29,7 @@ repos:
|
|
34
29
|
- keyring
|
35
30
|
|
36
31
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
37
|
-
rev: 0.7.
|
32
|
+
rev: 0.7.16
|
38
33
|
hooks:
|
39
34
|
- id: uv-lock
|
40
35
|
files: ^pyproject\.toml$
|
@@ -110,14 +105,3 @@ repos:
|
|
110
105
|
rev: v1.1.402
|
111
106
|
hooks:
|
112
107
|
- id: pyright
|
113
|
-
|
114
|
-
# - repo: https://github.com/pdoc3/pdoc
|
115
|
-
# rev: master
|
116
|
-
# hooks:
|
117
|
-
# - id: pdoc
|
118
|
-
# name: pdoc
|
119
|
-
# entry: pdoc --html -f -o docs module1 module2 module3
|
120
|
-
# language_version: python3.11
|
121
|
-
# require_serial: true
|
122
|
-
# types: [ python ]
|
123
|
-
# always_run: true
|
Binary file
|
crackerjack/__main__.py
CHANGED
@@ -23,7 +23,6 @@ class BumpOption(str, Enum):
|
|
23
23
|
class Options(BaseModel):
|
24
24
|
commit: bool = False
|
25
25
|
interactive: bool = False
|
26
|
-
doc: bool = False
|
27
26
|
no_config_updates: bool = False
|
28
27
|
publish: BumpOption | None = None
|
29
28
|
bump: BumpOption | None = None
|
@@ -63,7 +62,6 @@ cli_options = {
|
|
63
62
|
"--interactive",
|
64
63
|
help="Use the interactive Rich UI for a better experience.",
|
65
64
|
),
|
66
|
-
"doc": typer.Option(False, "-d", "--doc", help="Generate documentation."),
|
67
65
|
"no_config_updates": typer.Option(
|
68
66
|
False, "-n", "--no-config-updates", help="Do not update configuration files."
|
69
67
|
),
|
@@ -146,7 +144,6 @@ cli_options = {
|
|
146
144
|
def main(
|
147
145
|
commit: bool = cli_options["commit"],
|
148
146
|
interactive: bool = cli_options["interactive"],
|
149
|
-
doc: bool = cli_options["doc"],
|
150
147
|
no_config_updates: bool = cli_options["no_config_updates"],
|
151
148
|
update_precommit: bool = cli_options["update_precommit"],
|
152
149
|
verbose: bool = cli_options["verbose"],
|
@@ -169,7 +166,6 @@ def main(
|
|
169
166
|
options = Options(
|
170
167
|
commit=commit,
|
171
168
|
interactive=interactive,
|
172
|
-
doc=doc,
|
173
169
|
no_config_updates=no_config_updates,
|
174
170
|
update_precommit=update_precommit,
|
175
171
|
verbose=verbose,
|
crackerjack/crackerjack.py
CHANGED
crackerjack/pyproject.toml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: crackerjack
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.22.0
|
4
4
|
Summary: Crackerjack: code quality toolkit
|
5
5
|
Keywords: bandit,black,creosote,mypy,pyright,pytest,refurb,ruff
|
6
6
|
Author-Email: lesleslie <les@wedgwoodwebworks.com>
|
@@ -102,7 +102,7 @@ If you're new to Crackerjack, follow these steps:
|
|
102
102
|
|
103
103
|
Or use the interactive Rich UI:
|
104
104
|
```
|
105
|
-
python -m crackerjack
|
105
|
+
python -m crackerjack -i
|
106
106
|
```
|
107
107
|
|
108
108
|
---
|
@@ -160,7 +160,7 @@ Crackerjack automatically installs and manages these pre-commit hooks:
|
|
160
160
|
3. **Ruff:** [Ruff](https://github.com/astral-sh/ruff) for linting, code formatting, and general code style enforcement.
|
161
161
|
4. **Vulture:** [Vulture](https://github.com/jendrikseipp/vulture) to identify dead code.
|
162
162
|
5. **Creosote:** [Creosote](https://github.com/fredrikaverpil/creosote) to detect unused dependencies.
|
163
|
-
6. **
|
163
|
+
6. **Complexipy:** [Complexipy](https://github.com/rohaquinlop/complexipy-pre-commit) for analyzing code complexity.
|
164
164
|
7. **Codespell:** [Codespell](https://github.com/codespell-project/codespell) for correcting typos in the code.
|
165
165
|
8. **Autotyping:** [Autotyping](https://github.com/JelleZijlstra/autotyping) for adding type hints.
|
166
166
|
9. **Refurb:** [Refurb](https://github.com/dosisod/refurb) to suggest code improvements.
|
@@ -269,7 +269,7 @@ python -m crackerjack -t --benchmark-regression --benchmark-regression-threshold
|
|
269
269
|
|
270
270
|
Or with the interactive Rich UI:
|
271
271
|
```
|
272
|
-
python -m crackerjack
|
272
|
+
python -m crackerjack -i
|
273
273
|
```
|
274
274
|
|
275
275
|
## Usage
|
@@ -301,7 +301,6 @@ class MyOptions:
|
|
301
301
|
# Configuration options
|
302
302
|
self.no_config_updates = False # Skip updating config files
|
303
303
|
self.update_precommit = False # Update pre-commit hooks
|
304
|
-
self.doc = False # Generate documentation (not implemented yet)
|
305
304
|
|
306
305
|
# Process options
|
307
306
|
self.clean = True # Clean code (remove docstrings, comments, etc.)
|
@@ -347,7 +346,6 @@ runner.process(MyOptions())
|
|
347
346
|
- `-i`, `--interactive`: Run pre-commit hooks interactively when possible.
|
348
347
|
- `-n`, `--no-config-updates`: Skip updating configuration files (e.g., `pyproject.toml`).
|
349
348
|
- `-u`, `--update-precommit`: Update pre-commit hooks to the latest versions.
|
350
|
-
- `-d`, `--doc`: Generate documentation. (not yet implemented)
|
351
349
|
- `-v`, `--verbose`: Enable verbose output.
|
352
350
|
- `-p`, `--publish <micro|minor|major>`: Bump the project version and publish to PyPI using PDM.
|
353
351
|
- `-b`, `--bump <micro|minor|major>`: Bump the project version without publishing.
|
@@ -361,7 +359,7 @@ runner.process(MyOptions())
|
|
361
359
|
- `--benchmark-regression`: Fail tests if benchmarks regress beyond threshold.
|
362
360
|
- `--benchmark-regression-threshold`: Set threshold percentage for benchmark regression (default 5.0%).
|
363
361
|
- `-a`, `--all`: Run with `-x -t -p <micro|minor|major> -c` development options.
|
364
|
-
- `--interactive`: Enable the interactive Rich UI for a more user-friendly experience with visual progress tracking and interactive prompts.
|
362
|
+
- `-i`, `--interactive`: Enable the interactive Rich UI for a more user-friendly experience with visual progress tracking and interactive prompts.
|
365
363
|
- `--ai-agent`: Enable AI agent mode with structured output (see [AI Agent Integration](#ai-agent-integration)).
|
366
364
|
- `--help`: Display help.
|
367
365
|
|
@@ -461,7 +459,7 @@ runner.process(MyOptions())
|
|
461
459
|
|
462
460
|
- **Rich Interactive Mode** - Run with the interactive Rich UI:
|
463
461
|
```bash
|
464
|
-
python -m crackerjack
|
462
|
+
python -m crackerjack -i
|
465
463
|
```
|
466
464
|
|
467
465
|
- **AI Integration** - Run with structured output for AI tools:
|
@@ -500,10 +498,10 @@ Crackerjack now offers an enhanced interactive experience through its Rich UI:
|
|
500
498
|
- **Error Visualization:** Errors are presented in a structured, easy-to-understand format with recovery suggestions
|
501
499
|
- **File Selection:** Interactive file browser for operations that require selecting files
|
502
500
|
|
503
|
-
To use the Rich UI, run Crackerjack with the
|
501
|
+
To use the Rich UI, run Crackerjack with the `-i` flag:
|
504
502
|
|
505
503
|
```bash
|
506
|
-
python -m crackerjack
|
504
|
+
python -m crackerjack -i
|
507
505
|
```
|
508
506
|
|
509
507
|
This launches an interactive terminal interface where you can:
|
@@ -542,7 +540,7 @@ python -m crackerjack -v
|
|
542
540
|
For the most comprehensive error details with visual formatting, combine verbose mode with the Rich UI:
|
543
541
|
|
544
542
|
```bash
|
545
|
-
python -m crackerjack
|
543
|
+
python -m crackerjack -i -v
|
546
544
|
```
|
547
545
|
|
548
546
|
## Python 3.13+ Features
|
@@ -606,7 +604,7 @@ Crackerjack is designed with modern Python principles in mind:
|
|
606
604
|
- **bandit:** For finding security vulnerabilities.
|
607
605
|
- **vulture:** For dead code detection.
|
608
606
|
- **creosote:** For unused dependency detection.
|
609
|
-
- **
|
607
|
+
- **complexipy:** For code complexity analysis.
|
610
608
|
- **codespell:** For spelling correction.
|
611
609
|
- **autotyping:** For automatically adding type hints.
|
612
610
|
- **refurb:** For code improvement suggestions.
|
@@ -1,12 +1,12 @@
|
|
1
|
-
crackerjack-0.
|
2
|
-
crackerjack-0.
|
3
|
-
crackerjack-0.
|
4
|
-
crackerjack-0.
|
1
|
+
crackerjack-0.22.0.dist-info/METADATA,sha256=nqIxAtAdYiUHDn2lfX8PAIeSO8ufSkPQ6qcVNEmXqpo,26251
|
2
|
+
crackerjack-0.22.0.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
|
3
|
+
crackerjack-0.22.0.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
4
|
+
crackerjack-0.22.0.dist-info/licenses/LICENSE,sha256=fDt371P6_6sCu7RyqiZH_AhT1LdN3sN1zjBtqEhDYCk,1531
|
5
5
|
crackerjack/.gitignore,sha256=n8cD6U16L3XZn__PvhYm_F7-YeFHFucHCyxWj2NZCGs,259
|
6
6
|
crackerjack/.libcst.codemod.yaml,sha256=a8DlErRAIPV1nE6QlyXPAzTOgkB24_spl2E9hphuf5s,772
|
7
7
|
crackerjack/.pdm.toml,sha256=dZe44HRcuxxCFESGG8SZIjmc-cGzSoyK3Hs6t4NYA8w,23
|
8
8
|
crackerjack/.pre-commit-config-ai.yaml,sha256=K8xXKMJcdhfXOk24L4XpK7H8YlvnZfOh4NVA6qvOz8I,3319
|
9
|
-
crackerjack/.pre-commit-config.yaml,sha256=
|
9
|
+
crackerjack/.pre-commit-config.yaml,sha256=fLYBe846QI2Kgfjut0biMx4sjbZkJwc0Z9nvcNhGXD0,2643
|
10
10
|
crackerjack/.pytest_cache/.gitignore,sha256=Ptcxtl0GFQwTji2tsL4Gl1UIiKa0frjEXsya26i46b0,37
|
11
11
|
crackerjack/.pytest_cache/CACHEDIR.TAG,sha256=N9yI75oKvt2-gQU6bdj9-xOvthMEXqHrSlyBWnSjveQ,191
|
12
12
|
crackerjack/.pytest_cache/README.md,sha256=c_1vzN2ALEGaay2YPWwxc7fal1WKxLWJ7ewt_kQ9ua0,302
|
@@ -34,7 +34,7 @@ crackerjack/.ruff_cache/0.11.7/10386934055395314831,sha256=lBNwN5zAgM4OzbkXIOzCc
|
|
34
34
|
crackerjack/.ruff_cache/0.11.7/3557596832929915217,sha256=fKlwUbsvT3YIKV6UR-aA_i64lLignWeVfVu-MMmVbU0,207
|
35
35
|
crackerjack/.ruff_cache/0.11.8/530407680854991027,sha256=xAMAL3Vu_HR6M-h5ojCTaak0By5ii8u-14pXULLgLqw,224
|
36
36
|
crackerjack/.ruff_cache/0.12.0/5056746222905752453,sha256=MqrIT5qymJcgAOBZyn-TvYoGCFfDFCgN9IwSULq8n14,256
|
37
|
-
crackerjack/.ruff_cache/0.12.1/5056746222905752453,sha256=
|
37
|
+
crackerjack/.ruff_cache/0.12.1/5056746222905752453,sha256=38wx4Qzd6e1GIHXu-oCJpPPNMXpUhTAGS3pPKW85138,256
|
38
38
|
crackerjack/.ruff_cache/0.2.0/10047773857155985907,sha256=j9LNa_RQ4Plor7go1uTYgz17cEENKvZQ-dP6b9MX0ik,248
|
39
39
|
crackerjack/.ruff_cache/0.2.1/8522267973936635051,sha256=u_aPBMibtAp_iYvLwR88GMAECMcIgHezxMyuapmU2P4,248
|
40
40
|
crackerjack/.ruff_cache/0.2.2/18053836298936336950,sha256=Xb_ebP0pVuUfSqPEZKlhQ70so_vqkEfMYpuHQ06iR5U,248
|
@@ -63,10 +63,10 @@ crackerjack/.ruff_cache/0.9.9/12813592349865671909,sha256=tmr8_vhRD2OxsVuMfbJPdT
|
|
63
63
|
crackerjack/.ruff_cache/0.9.9/8843823720003377982,sha256=e4ymkXfQsUg5e_mtO34xTsaTvs1uA3_fI216Qq9qCAM,136
|
64
64
|
crackerjack/.ruff_cache/CACHEDIR.TAG,sha256=WVMVbX4MVkpCclExbq8m-IcOZIOuIZf5FrYw5Pk-Ma4,43
|
65
65
|
crackerjack/__init__.py,sha256=8tBSPAru_YDuPpjz05cL7pNbZjYFoRT_agGd_FWa3gY,839
|
66
|
-
crackerjack/__main__.py,sha256=
|
67
|
-
crackerjack/crackerjack.py,sha256=
|
66
|
+
crackerjack/__main__.py,sha256=lEyi83ChuehqEJgUQ6Ib4ByOofvmhi_0M7oFamMC_1I,6407
|
67
|
+
crackerjack/crackerjack.py,sha256=lWA98K2uY4i4TnXN24pselsiJWSlQgQ6ztTXGn7n27Q,40032
|
68
68
|
crackerjack/errors.py,sha256=QEPtVuMtKtQHuawgr1ToMaN1KbUg5h9-4mS33YB5Znk,4062
|
69
69
|
crackerjack/interactive.py,sha256=y5QbyR2Wp8WkC_iC89ZqETm-wjAN9X5DK1L3yetpjN4,16153
|
70
70
|
crackerjack/py313.py,sha256=buYE7LO11Q64ffowEhTZRFQoAGj_8sg3DTlZuv8M9eo,5890
|
71
|
-
crackerjack/pyproject.toml,sha256=
|
72
|
-
crackerjack-0.
|
71
|
+
crackerjack/pyproject.toml,sha256=UaUtLOyXoOvjesOY4lRj-hT4L5WjVbCH0C5fGoAMBXQ,4988
|
72
|
+
crackerjack-0.22.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|