crackerjack 0.17.0__tar.gz → 0.17.2__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 (68) hide show
  1. {crackerjack-0.17.0 → crackerjack-0.17.2}/PKG-INFO +33 -4
  2. {crackerjack-0.17.0 → crackerjack-0.17.2}/README.md +30 -1
  3. crackerjack-0.17.2/crackerjack/.ruff_cache/0.11.8/530407680854991027 +0 -0
  4. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/pyproject.toml +3 -3
  5. {crackerjack-0.17.0 → crackerjack-0.17.2}/pyproject.toml +3 -3
  6. crackerjack-0.17.0/crackerjack/.ruff_cache/0.11.8/530407680854991027 +0 -0
  7. {crackerjack-0.17.0 → crackerjack-0.17.2}/LICENSE +0 -0
  8. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.gitignore +0 -0
  9. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.libcst.codemod.yaml +0 -0
  10. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pdm.toml +0 -0
  11. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pre-commit-config.yaml +0 -0
  12. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pytest_cache/.gitignore +0 -0
  13. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pytest_cache/CACHEDIR.TAG +0 -0
  14. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pytest_cache/README.md +0 -0
  15. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pytest_cache/v/cache/nodeids +0 -0
  16. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.pytest_cache/v/cache/stepwise +0 -0
  17. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/.gitignore +0 -0
  18. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.11/3256171999636029978 +0 -0
  19. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.14/602324811142551221 +0 -0
  20. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.4/10355199064880463147 +0 -0
  21. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.6/15140459877605758699 +0 -0
  22. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.7/1790508110482614856 +0 -0
  23. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.1.9/17041001205004563469 +0 -0
  24. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.2/4070660268492669020 +0 -0
  25. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.3/9818742842212983150 +0 -0
  26. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.4/9818742842212983150 +0 -0
  27. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.6/3557596832929915217 +0 -0
  28. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.7/10386934055395314831 +0 -0
  29. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.11.7/3557596832929915217 +0 -0
  30. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.2.0/10047773857155985907 +0 -0
  31. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.2.1/8522267973936635051 +0 -0
  32. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.2.2/18053836298936336950 +0 -0
  33. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.3.0/12548816621480535786 +0 -0
  34. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.3.3/11081883392474770722 +0 -0
  35. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.3.4/676973378459347183 +0 -0
  36. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.3.5/16311176246009842383 +0 -0
  37. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.5.7/1493622539551733492 +0 -0
  38. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.5.7/6231957614044513175 +0 -0
  39. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.5.7/9932762556785938009 +0 -0
  40. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.0/11982804814124138945 +0 -0
  41. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.0/12055761203849489982 +0 -0
  42. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.2/1206147804896221174 +0 -0
  43. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.4/1206147804896221174 +0 -0
  44. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.5/1206147804896221174 +0 -0
  45. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.7/3657366982708166874 +0 -0
  46. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.6.9/285614542852677309 +0 -0
  47. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.7.1/1024065805990144819 +0 -0
  48. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.7.1/285614542852677309 +0 -0
  49. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.7.3/16061516852537040135 +0 -0
  50. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.8.4/16354268377385700367 +0 -0
  51. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.9.10/12813592349865671909 +0 -0
  52. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.9.10/923908772239632759 +0 -0
  53. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.9.3/13948373885254993391 +0 -0
  54. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.9.9/12813592349865671909 +0 -0
  55. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/0.9.9/8843823720003377982 +0 -0
  56. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/.ruff_cache/CACHEDIR.TAG +0 -0
  57. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/__init__.py +0 -0
  58. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/__main__.py +0 -0
  59. {crackerjack-0.17.0 → crackerjack-0.17.2}/crackerjack/crackerjack.py +0 -0
  60. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/README.md +0 -0
  61. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/__init__.py +0 -0
  62. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/data/comments_sample.txt +0 -0
  63. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/data/docstrings_sample.txt +0 -0
  64. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/data/expected_comments_sample.txt +0 -0
  65. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/data/init.py +0 -0
  66. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/test_crackerjack.py +0 -0
  67. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/test_crackerjack_runner.py +0 -0
  68. {crackerjack-0.17.0 → crackerjack-0.17.2}/tests/test_main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: crackerjack
3
- Version: 0.17.0
3
+ Version: 0.17.2
4
4
  Summary: Default template for PDM package
5
5
  Keywords: black,ruff,mypy,creosote,refurb
6
6
  Author-Email: lesleslie <les@wedgwoodwebworks.com>
@@ -28,14 +28,14 @@ Requires-Dist: pytest>=8.3.5
28
28
  Requires-Dist: pydantic>=2.11.4
29
29
  Requires-Dist: pdm-bump>=0.9.12
30
30
  Requires-Dist: pdm>=2.24.1
31
- Requires-Dist: uv>=0.7.2
31
+ Requires-Dist: uv>=0.7.3
32
32
  Requires-Dist: pytest-cov>=6.1.1
33
33
  Requires-Dist: pytest-mock>=3.14.0
34
34
  Requires-Dist: tomli-w>=1.2.0
35
35
  Requires-Dist: pytest-asyncio>=0.26.0
36
36
  Requires-Dist: rich>=14.0.0
37
37
  Requires-Dist: typer>=0.15.3
38
- Requires-Dist: pytest-timeout>=2.3.1
38
+ Requires-Dist: pytest-timeout>=2.4.0
39
39
  Description-Content-Type: text/markdown
40
40
 
41
41
  # Crackerjack: Elevate Your Python Development
@@ -51,7 +51,20 @@ Description-Content-Type: text/markdown
51
51
 
52
52
  **Crackerjack** (`ˈkra-kər-ˌjak`): *a person or thing of marked excellence.*
53
53
 
54
- Crackerjack is an opinionated Python project management tool designed to help you create, maintain, and publish high-quality Python projects with ease. It combines best-in-class tools and a streamlined workflow to ensure code quality, consistency, and reliability.
54
+ ## What is Crackerjack?
55
+
56
+ Crackerjack is an opinionated Python project management tool designed to solve common challenges in Python development:
57
+
58
+ - **Problem**: Setting up Python projects with best practices is time-consuming and requires knowledge of many tools
59
+ - **Solution**: Crackerjack automates project setup with pre-configured best practices and tools
60
+
61
+ - **Problem**: Maintaining consistent code quality across a project is difficult
62
+ - **Solution**: Crackerjack enforces a consistent style and quality standard through integrated linting, formatting, and pre-commit hooks
63
+
64
+ - **Problem**: Publishing Python packages involves many manual steps
65
+ - **Solution**: Crackerjack streamlines the entire development lifecycle from code cleaning to testing to version bumping to publishing
66
+
67
+ Crackerjack combines best-in-class tools (Ruff, PDM, pre-commit, pytest, and more) into a single, streamlined workflow to ensure code quality, consistency, and reliability. It's designed for Python developers who want to focus on writing code rather than configuring tools.
55
68
 
56
69
  ---
57
70
 
@@ -217,6 +230,7 @@ runner.process(MyOptions())
217
230
  - `-x`, `--clean`: Clean code by removing docstrings, line comments, and extra whitespace.
218
231
  - `-t`, `--test`: Run tests using `pytest`.
219
232
  - `-a`, `--all`: Run with `-x -t -p <micro|minor|major> -c` development options.
233
+ - `--ai-agent`: Enable AI agent mode with structured output (see [AI Agent Integration](#ai-agent-integration)).
220
234
  - `--help`: Display help.
221
235
 
222
236
  ### Example Workflows
@@ -270,6 +284,21 @@ runner.process(MyOptions())
270
284
  python -m crackerjack -a minor
271
285
  ```
272
286
 
287
+ ## AI Agent Integration
288
+
289
+ Crackerjack includes special features for integration with AI agents like Claude, ChatGPT, and other LLM-based assistants:
290
+
291
+ - **Structured JSON Output:** When run with `--ai-agent`, Crackerjack outputs results in JSON format that's easy for AI agents to parse
292
+ - **Clear Status Indicators:** Provides clear status indicators (running, success, failed, complete) to track progress
293
+ - **Action Tracking:** Includes a list of actions performed to help AI agents understand what happened
294
+
295
+ ### Example AI Agent Usage
296
+
297
+ ```bash
298
+ python -m crackerjack --ai-agent --test
299
+ ```
300
+
301
+ For detailed information about using Crackerjack with AI agents, including the structured output format and programmatic usage, see [README-AI-AGENT.md](README-AI-AGENT.md).
273
302
 
274
303
  ## Contributing
275
304
 
@@ -11,7 +11,20 @@
11
11
 
12
12
  **Crackerjack** (`ˈkra-kər-ˌjak`): *a person or thing of marked excellence.*
13
13
 
14
- Crackerjack is an opinionated Python project management tool designed to help you create, maintain, and publish high-quality Python projects with ease. It combines best-in-class tools and a streamlined workflow to ensure code quality, consistency, and reliability.
14
+ ## What is Crackerjack?
15
+
16
+ Crackerjack is an opinionated Python project management tool designed to solve common challenges in Python development:
17
+
18
+ - **Problem**: Setting up Python projects with best practices is time-consuming and requires knowledge of many tools
19
+ - **Solution**: Crackerjack automates project setup with pre-configured best practices and tools
20
+
21
+ - **Problem**: Maintaining consistent code quality across a project is difficult
22
+ - **Solution**: Crackerjack enforces a consistent style and quality standard through integrated linting, formatting, and pre-commit hooks
23
+
24
+ - **Problem**: Publishing Python packages involves many manual steps
25
+ - **Solution**: Crackerjack streamlines the entire development lifecycle from code cleaning to testing to version bumping to publishing
26
+
27
+ Crackerjack combines best-in-class tools (Ruff, PDM, pre-commit, pytest, and more) into a single, streamlined workflow to ensure code quality, consistency, and reliability. It's designed for Python developers who want to focus on writing code rather than configuring tools.
15
28
 
16
29
  ---
17
30
 
@@ -177,6 +190,7 @@ runner.process(MyOptions())
177
190
  - `-x`, `--clean`: Clean code by removing docstrings, line comments, and extra whitespace.
178
191
  - `-t`, `--test`: Run tests using `pytest`.
179
192
  - `-a`, `--all`: Run with `-x -t -p <micro|minor|major> -c` development options.
193
+ - `--ai-agent`: Enable AI agent mode with structured output (see [AI Agent Integration](#ai-agent-integration)).
180
194
  - `--help`: Display help.
181
195
 
182
196
  ### Example Workflows
@@ -230,6 +244,21 @@ runner.process(MyOptions())
230
244
  python -m crackerjack -a minor
231
245
  ```
232
246
 
247
+ ## AI Agent Integration
248
+
249
+ Crackerjack includes special features for integration with AI agents like Claude, ChatGPT, and other LLM-based assistants:
250
+
251
+ - **Structured JSON Output:** When run with `--ai-agent`, Crackerjack outputs results in JSON format that's easy for AI agents to parse
252
+ - **Clear Status Indicators:** Provides clear status indicators (running, success, failed, complete) to track progress
253
+ - **Action Tracking:** Includes a list of actions performed to help AI agents understand what happened
254
+
255
+ ### Example AI Agent Usage
256
+
257
+ ```bash
258
+ python -m crackerjack --ai-agent --test
259
+ ```
260
+
261
+ For detailed information about using Crackerjack with AI agents, including the structured output format and programmatic usage, see [README-AI-AGENT.md](README-AI-AGENT.md).
233
262
 
234
263
  ## Contributing
235
264
 
@@ -152,7 +152,7 @@ pythonPlatform = "Darwin"
152
152
 
153
153
  [project]
154
154
  name = "crackerjack"
155
- version = "0.16.1"
155
+ version = "0.17.1"
156
156
  description = "Default template for PDM package"
157
157
  requires-python = ">=3.13"
158
158
  readme = "README.md"
@@ -184,14 +184,14 @@ dependencies = [
184
184
  "pydantic>=2.11.4",
185
185
  "pdm-bump>=0.9.12",
186
186
  "pdm>=2.24.1",
187
- "uv>=0.7.2",
187
+ "uv>=0.7.3",
188
188
  "pytest-cov>=6.1.1",
189
189
  "pytest-mock>=3.14.0",
190
190
  "tomli-w>=1.2.0",
191
191
  "pytest-asyncio>=0.26.0",
192
192
  "rich>=14.0.0",
193
193
  "typer>=0.15.3",
194
- "pytest-timeout>=2.3.1",
194
+ "pytest-timeout>=2.4.0",
195
195
  ]
196
196
  authors = [
197
197
  { name = "lesleslie", email = "les@wedgwoodwebworks.com" },
@@ -171,7 +171,7 @@ pythonPlatform = "Darwin"
171
171
 
172
172
  [project]
173
173
  name = "crackerjack"
174
- version = "0.17.0"
174
+ version = "0.17.2"
175
175
  description = "Default template for PDM package"
176
176
  requires-python = ">=3.13"
177
177
  readme = "README.md"
@@ -203,14 +203,14 @@ dependencies = [
203
203
  "pydantic>=2.11.4",
204
204
  "pdm-bump>=0.9.12",
205
205
  "pdm>=2.24.1",
206
- "uv>=0.7.2",
206
+ "uv>=0.7.3",
207
207
  "pytest-cov>=6.1.1",
208
208
  "pytest-mock>=3.14.0",
209
209
  "tomli-w>=1.2.0",
210
210
  "pytest-asyncio>=0.26.0",
211
211
  "rich>=14.0.0",
212
212
  "typer>=0.15.3",
213
- "pytest-timeout>=2.3.1",
213
+ "pytest-timeout>=2.4.0",
214
214
  ]
215
215
  authors = [
216
216
  { name = "lesleslie", email = "les@wedgwoodwebworks.com" },
File without changes