pdd-cli 0.0.29__py3-none-any.whl → 0.0.31__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 pdd-cli might be problematic. Click here for more details.
- pdd/__init__.py +10 -2
- pdd/cli.py +26 -4
- pdd/code_generator_main.py +335 -105
- pdd/fix_verification_errors_loop.py +57 -31
- pdd/fix_verification_main.py +76 -48
- pdd/incremental_code_generator.py +198 -0
- pdd/prompts/code_patcher_LLM.prompt +63 -0
- pdd/prompts/diff_analyzer_LLM.prompt +69 -0
- pdd/prompts/find_verification_errors_LLM.prompt +13 -13
- pdd/prompts/fix_verification_errors_LLM.prompt +17 -16
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/METADATA +29 -4
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/RECORD +16 -17
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/WHEEL +1 -1
- pdd/cli_1_0_1_0_20250510_005101.py +0 -1054
- pdd/cli_2_0_1_0_20250510_005101.py +0 -1054
- pdd/cli_3_0_1_0_20250510_005101.py +0 -1054
- pdd/cli_4_0_1_0_20250510_005101.py +0 -1054
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/entry_points.txt +0 -0
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/licenses/LICENSE +0 -0
- {pdd_cli-0.0.29.dist-info → pdd_cli-0.0.31.dist-info}/top_level.txt +0 -0
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
% Here are the potential issues that need to be fixed: <issues>{issues}</issues>
|
|
12
12
|
|
|
13
13
|
% CRITICAL INSTRUCTIONS:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
1. IMPORTANT: Ensure your fixes maintain backward compatibility with the original program's function calls. If the program calls a function not mentioned in the prompt, preserve that function in your fixed code.
|
|
15
|
+
2. When the original prompt and program have conflicting requirements, prioritize in this order:
|
|
16
|
+
a. Keep the program working with the same output (preserve existing functions)
|
|
17
|
+
b. Add any new functionality requested by the prompt
|
|
18
|
+
c. Improve/fix the implementation details of existing functions
|
|
19
|
+
3. Do not remove any functions that are called by the original program, even if they are not explicitly requested in the prompt. The prompt may only specify new functionality to add.
|
|
20
|
+
4. First analyze how the program interacts with the code module to identify all required functions, then ensure your fix preserves these interaction points.
|
|
21
|
+
5. Prefer making additive changes (adding new functions, improving existing ones) rather than removing functionality, even if that means going beyond the minimal requirements of the prompt.
|
|
22
|
+
6. If your previous fixes resulted in verification failures related to missing functions, ensure those functions are included in your solution.
|
|
23
23
|
|
|
24
24
|
% Follow these steps to fix the program or code_module:
|
|
25
25
|
Step 1. Analyze and understand each identified issue in the context of the code_module and program.
|
|
@@ -29,11 +29,12 @@
|
|
|
29
29
|
Step 5. Provide the complete fixed code_module and program with explanations for each significant change made.
|
|
30
30
|
Step 6. Verify that the fixed code meets all requirements from the original prompt and addresses all identified issues while preserving program functionality.
|
|
31
31
|
|
|
32
|
-
% Return your response as a single, valid JSON object.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
% Return your response as a single, valid JSON object. The JSON object must conform to the following structure:
|
|
33
|
+
<example_output>
|
|
34
|
+
{{
|
|
35
|
+
"explanation": "Detailed explanation of all steps taken, including analysis of issues, solutions developed, and verification that the fixes are correct and meet critical instructions and prompt requirements.",
|
|
36
|
+
"fixed_code": "The complete, runnable, and fixed Python code for the code_module. This should ONLY be the code, with no additional text or commentary.",
|
|
37
|
+
"fixed_program": "The complete, runnable, and fixed Python code for the program. This should ONLY be the code, with no additional text or commentary."
|
|
38
|
+
}}
|
|
39
|
+
</example_output>
|
|
39
40
|
% Ensure that the "fixed_code" and "fixed_program" fields contain only the raw source code. Do not include any markdown formatting, comments (unless part of the code itself), or any other explanatory text within these fields.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pdd-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.31
|
|
4
4
|
Summary: PDD (Prompt-Driven Development) Command Line Interface
|
|
5
5
|
Author: Greg Tanaka
|
|
6
6
|
Author-email: glt@alumni.caltech.edu
|
|
@@ -46,7 +46,7 @@ Requires-Dist: pytest-asyncio; extra == "dev"
|
|
|
46
46
|
Requires-Dist: z3-solver; extra == "dev"
|
|
47
47
|
Dynamic: license-file
|
|
48
48
|
|
|
49
|
-
.. image:: https://img.shields.io/badge/pdd--cli-v0.0.
|
|
49
|
+
.. image:: https://img.shields.io/badge/pdd--cli-v0.0.31-blue
|
|
50
50
|
:alt: PDD-CLI Version
|
|
51
51
|
|
|
52
52
|
PDD (Prompt-Driven Development) Command Line Interface
|
|
@@ -97,6 +97,29 @@ Key Features
|
|
|
97
97
|
Quick Installation
|
|
98
98
|
------------------
|
|
99
99
|
|
|
100
|
+
**Recommended: Using uv (Faster & Better Dependency Management)**
|
|
101
|
+
|
|
102
|
+
We recommend installing PDD using the `uv <https://github.com/astral-sh/uv>`_ package manager for better dependency management and automatic environment configuration:
|
|
103
|
+
|
|
104
|
+
.. code-block:: console
|
|
105
|
+
|
|
106
|
+
# Install uv if you haven't already
|
|
107
|
+
curl -sSf https://astral.sh/uv/install.sh | sh
|
|
108
|
+
|
|
109
|
+
# Install PDD using uv tool install
|
|
110
|
+
uv tool install pdd-cli
|
|
111
|
+
|
|
112
|
+
This installation method ensures:
|
|
113
|
+
|
|
114
|
+
- Faster installations with optimized dependency resolution
|
|
115
|
+
- Automatic environment setup without manual configuration
|
|
116
|
+
- Proper handling of the PDD_PATH environment variable
|
|
117
|
+
- Better isolation from other Python packages
|
|
118
|
+
|
|
119
|
+
**Alternative: Using pip**
|
|
120
|
+
|
|
121
|
+
If you prefer, you can install with pip:
|
|
122
|
+
|
|
100
123
|
.. code-block:: console
|
|
101
124
|
|
|
102
125
|
pip install pdd-cli
|
|
@@ -107,7 +130,7 @@ After installation, verify:
|
|
|
107
130
|
|
|
108
131
|
pdd --version
|
|
109
132
|
|
|
110
|
-
You'll see the current PDD version (e.g., 0.0.
|
|
133
|
+
You'll see the current PDD version (e.g., 0.0.31).
|
|
111
134
|
|
|
112
135
|
Advanced Installation Tips
|
|
113
136
|
--------------------------
|
|
@@ -127,7 +150,9 @@ Create and activate a virtual environment, then install pdd-cli:
|
|
|
127
150
|
# On Unix/MacOS:
|
|
128
151
|
source pdd-env/bin/activate
|
|
129
152
|
|
|
130
|
-
# Install PDD
|
|
153
|
+
# Install PDD (with uv - recommended)
|
|
154
|
+
uv tool install pdd-cli
|
|
155
|
+
# OR with pip
|
|
131
156
|
pip install pdd-cli
|
|
132
157
|
|
|
133
158
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pdd/__init__.py,sha256=
|
|
1
|
+
pdd/__init__.py,sha256=jxdehx0Dwyv-txEO52fharzqR0xsjYo_FD34mwxB61o,632
|
|
2
2
|
pdd/auto_deps_main.py,sha256=NVLqL5FHxe2eorViXTuh8z2zH9Sb-b6MNN9aZ1hqevY,3552
|
|
3
3
|
pdd/auto_include.py,sha256=aCa2QXDlOdKbh4vS3uDjWptkHB_Qv3QBNCbZe6mGWoo,6074
|
|
4
4
|
pdd/auto_update.py,sha256=Pfav1hrqQIDjZIPuIvryBeM7k-Rc72feVUTJZPtigaU,2889
|
|
@@ -6,14 +6,10 @@ pdd/bug_main.py,sha256=cSGBnHmFIA8WrkGiohJFVRuM2086v-wlPvTJqTv00WQ,4631
|
|
|
6
6
|
pdd/bug_to_unit_test.py,sha256=oejqoKomLseKknYDFlQKQ04TNT3soqOjMPghxty8Guo,6311
|
|
7
7
|
pdd/change.py,sha256=EKmv7WvXNX24rjLCnrcaoo4xOVkNhCa9HLRbpMAxQSw,5036
|
|
8
8
|
pdd/change_main.py,sha256=5IAFW1_eazYCr3F1DlfO6FDpNDZ4LgkXBWLb6rKW-PQ,25643
|
|
9
|
-
pdd/cli.py,sha256=
|
|
10
|
-
pdd/cli_1_0_1_0_20250510_005101.py,sha256=oYQJiuc5txvR24YJyCt9jwBJlwr3ufAGhzxVhIjj0oI,37360
|
|
11
|
-
pdd/cli_2_0_1_0_20250510_005101.py,sha256=oYQJiuc5txvR24YJyCt9jwBJlwr3ufAGhzxVhIjj0oI,37360
|
|
12
|
-
pdd/cli_3_0_1_0_20250510_005101.py,sha256=oYQJiuc5txvR24YJyCt9jwBJlwr3ufAGhzxVhIjj0oI,37360
|
|
13
|
-
pdd/cli_4_0_1_0_20250510_005101.py,sha256=oYQJiuc5txvR24YJyCt9jwBJlwr3ufAGhzxVhIjj0oI,37360
|
|
9
|
+
pdd/cli.py,sha256=M1djSaS9gr0WWCTxmF7lSmGStfGXN_I4GEjC8snUlco,38149
|
|
14
10
|
pdd/cmd_test_main.py,sha256=aSCxRnSurg15AvPcJDAPp9xy8p_qqnjU1oV14Hi2R54,5301
|
|
15
11
|
pdd/code_generator.py,sha256=DqQNN6jCNjSJvHi0IFyqkSfak6LeDG-yQHPYnvd4AJQ,4424
|
|
16
|
-
pdd/code_generator_main.py,sha256=
|
|
12
|
+
pdd/code_generator_main.py,sha256=wup3O2dVh9JzlGsWtXvypqAHgHyBZHOWAe3NJuV_-g4,18648
|
|
17
13
|
pdd/comment_line.py,sha256=sX2hf4bG1fILi_rvI9MkkwCZ2IitgKkW7nOiw8aQKPY,1845
|
|
18
14
|
pdd/conflicts_in_prompts.py,sha256=XaEm9jIMcbENTyhphD8NXs2EmRxuPu1EI8GHrsiRwq0,4687
|
|
19
15
|
pdd/conflicts_main.py,sha256=O87s9baSa9DJMndxPIdsnYO_spoajcv9jii3XYt_-fM,3473
|
|
@@ -32,8 +28,8 @@ pdd/fix_error_loop.py,sha256=BdoI08HD30BHCjjfvpH7zamdjv6sMqi70li_oRu_-P0,24004
|
|
|
32
28
|
pdd/fix_errors_from_unit_tests.py,sha256=SdL4wgo6ARgIClTTYlHuNu12t1cE4YohpGqo4Mcj1P8,9192
|
|
33
29
|
pdd/fix_main.py,sha256=q2FDggCGXSbrMlb6OaxCmpJ5v02W8tmRU8IKmHdYYbQ,13799
|
|
34
30
|
pdd/fix_verification_errors.py,sha256=_ToACv9z10YIoUUbwQSS41dXKsQ_lJi2FHy1qBYHMpY,16566
|
|
35
|
-
pdd/fix_verification_errors_loop.py,sha256=
|
|
36
|
-
pdd/fix_verification_main.py,sha256=
|
|
31
|
+
pdd/fix_verification_errors_loop.py,sha256=CVkskhxXu7su95HXQkOCmU2yJgY6zf0vMbGDxxNmuh4,54754
|
|
32
|
+
pdd/fix_verification_main.py,sha256=ydMfUn0USemh_lmxhKV2vZv75impgLsPbnoZio-G7K0,21792
|
|
37
33
|
pdd/generate_output_paths.py,sha256=o8Sjx0zLeBXXxEirGewcla40RinjTfnkrxBldRQ6HvI,20237
|
|
38
34
|
pdd/generate_test.py,sha256=6wNICtDP-_sWaura0PrrTrCRqjUbgzpTRMk0mTxupL4,4845
|
|
39
35
|
pdd/get_comment.py,sha256=yuRtk68-SDkMaGzOSyIFdldRoymJBRSKjOYkr0narVc,2627
|
|
@@ -42,6 +38,7 @@ pdd/get_jwt_token.py,sha256=BGxqMh7qf2mG-TFw7JlV941O9XtrW22L_dRoS_UZNjM,11560
|
|
|
42
38
|
pdd/get_language.py,sha256=yxyQqVEb5H3ep3Hc6XgAl3vMLTHD5OIs8ZSekB493GA,1438
|
|
43
39
|
pdd/git_update.py,sha256=Ya7eI7YFtGIpT7FdziFJfnFkiZlj8I9Lh98lqtXfClc,2855
|
|
44
40
|
pdd/increase_tests.py,sha256=dlYd9PosV3g8kpDlQh6gd8WUauClvs_-Z8ERRD-kZk4,3456
|
|
41
|
+
pdd/incremental_code_generator.py,sha256=cWo3DJ0PybnrepFEAMibGjTVY3T8mLVvPt5W8cNhuxU,9402
|
|
45
42
|
pdd/insert_includes.py,sha256=UASoq_46UNL6l7VGB7DW2jb4kcWlP6Hbj2EWuh7210Q,5310
|
|
46
43
|
pdd/install_completion.py,sha256=H_FIid0eHCn7I6HHIsBqdComAxjLIu7CbD6yfMU48aw,5085
|
|
47
44
|
pdd/llm_invoke.py,sha256=457rD3f7KQHJ3BtI4boxTurArCww2zWAl4X77TxVROs,65788
|
|
@@ -72,9 +69,11 @@ pdd/data/llm_model.csv,sha256=enzLqM-cZl1GUjN4gkCcNw24VtMS39FdDa7aujg2-Gs,1489
|
|
|
72
69
|
pdd/prompts/auto_include_LLM.prompt,sha256=0t-Jmm5o6vVTmqsISTUiewqPT8bB389UZnJoHZvgtu4,13967
|
|
73
70
|
pdd/prompts/bug_to_unit_test_LLM.prompt,sha256=KdMkvRVnjVSf0NTYIaDXIMT93xPttXEwkMpjWx5leLs,1588
|
|
74
71
|
pdd/prompts/change_LLM.prompt,sha256=W3sE6XZ2fb35XdqOykK1hDPtqkHSv9MZGD3sT8B8WjY,2083
|
|
72
|
+
pdd/prompts/code_patcher_LLM.prompt,sha256=yeV4lsRuPQzNdKRV_LQUOmmWh2yhu8YgKXUWo4bge4I,2392
|
|
75
73
|
pdd/prompts/conflict_LLM.prompt,sha256=46DB_qOCtsfVsj6y8E8grI0izxAk_-ixoENUUHQAkHc,1593
|
|
76
74
|
pdd/prompts/continue_generation_LLM.prompt,sha256=Jsd3eeu23heqw2frfOLzZ5c9dn0QZrfWGratfyWV-ac,111
|
|
77
75
|
pdd/prompts/detect_change_LLM.prompt,sha256=-q8VqXAv6ufEE193DNbTcgpbxiKISR5-5j3M0TTqa8s,4522
|
|
76
|
+
pdd/prompts/diff_analyzer_LLM.prompt,sha256=2lZI4g4DO9NwMPnxVJW717dGG5LQuBXqgeIjYfplEdU,2901
|
|
78
77
|
pdd/prompts/example_generator_LLM.prompt,sha256=48mUvjEYxQYf_HhDLP6RGOz6_d_go6JNExZ9g8aicCg,610
|
|
79
78
|
pdd/prompts/extract_auto_include_LLM.prompt,sha256=BamIIt8qrML2ZtNe3D4K30iMobJ4URtkyomHCDaf0iw,313
|
|
80
79
|
pdd/prompts/extract_code_LLM.prompt,sha256=rRql9Dv2Rn01F2hFeaGzfh9apxCkjY7WzAG0SAvIe8M,2470
|
|
@@ -87,10 +86,10 @@ pdd/prompts/extract_prompt_update_LLM.prompt,sha256=XH2muMzTb_wqcQS9rR4THXe6TP7B
|
|
|
87
86
|
pdd/prompts/extract_promptline_LLM.prompt,sha256=owIBRaF2bWwg3S64uyMKzOFMdvvmI_EEGoF97Pa9118,813
|
|
88
87
|
pdd/prompts/extract_unit_code_fix_LLM.prompt,sha256=c4l6twMLC2YqDDvOj_DcaKmJQF8kIupeqvkueK_OQng,14301
|
|
89
88
|
pdd/prompts/extract_xml_LLM.prompt,sha256=eRcHaL-khShpb7C1_b7wmBJHfo2Kh1Wvjo_aOcWZovU,561
|
|
90
|
-
pdd/prompts/find_verification_errors_LLM.prompt,sha256=
|
|
89
|
+
pdd/prompts/find_verification_errors_LLM.prompt,sha256=NwmJbAFkNwSWaJOsewznb7hbOljc9AJ-Sf6fB7xIACI,2863
|
|
91
90
|
pdd/prompts/fix_code_module_errors_LLM.prompt,sha256=sjqB-apFtiMZerXm_qZEuA6pfRtk2hOiXxPXwuxIZxM,2462
|
|
92
91
|
pdd/prompts/fix_errors_from_unit_tests_LLM.prompt,sha256=Yy6WIg9WfizrFpFZogoCtlQy-H123ycc_SaF6m8_Ljo,5079
|
|
93
|
-
pdd/prompts/fix_verification_errors_LLM.prompt,sha256=
|
|
92
|
+
pdd/prompts/fix_verification_errors_LLM.prompt,sha256=zZrQQnBRBL42fINmCC2WjQlLGPNriIuHsnzrkN5seN8,3532
|
|
94
93
|
pdd/prompts/generate_test_LLM.prompt,sha256=eCI7CTMpoA76DTruTgWygClxJX0gj_uNxTqHbmqcJ50,2254
|
|
95
94
|
pdd/prompts/increase_tests_LLM.prompt,sha256=rekFzLRuZy99KifEKNlmPYoQdl8wa04112mtCdIY6S8,955
|
|
96
95
|
pdd/prompts/insert_includes_LLM.prompt,sha256=g-p2gXKENsqvfK5Q9FYbqFsIJ5CP7rbxmd4rROA-W80,1453
|
|
@@ -102,9 +101,9 @@ pdd/prompts/trim_results_start_LLM.prompt,sha256=OKz8fAf1cYWKWgslFOHEkUpfaUDARh3
|
|
|
102
101
|
pdd/prompts/unfinished_prompt_LLM.prompt,sha256=-JgBpiPTQZdWOAwOG1XpfpD9waynFTAT3Jo84eQ4bTw,1543
|
|
103
102
|
pdd/prompts/update_prompt_LLM.prompt,sha256=prIc8uLp2jqnLTHt6JvWDZGanPZipivhhYeXe0lVaYw,1328
|
|
104
103
|
pdd/prompts/xml_convertor_LLM.prompt,sha256=YGRGXJeg6EhM9690f-SKqQrKqSJjLFD51UrPOlO0Frg,2786
|
|
105
|
-
pdd_cli-0.0.
|
|
106
|
-
pdd_cli-0.0.
|
|
107
|
-
pdd_cli-0.0.
|
|
108
|
-
pdd_cli-0.0.
|
|
109
|
-
pdd_cli-0.0.
|
|
110
|
-
pdd_cli-0.0.
|
|
104
|
+
pdd_cli-0.0.31.dist-info/licenses/LICENSE,sha256=-1bjYH-CEjGEQ8VixtnRYuu37kN6F9NxmZSDkBuUQ9o,1062
|
|
105
|
+
pdd_cli-0.0.31.dist-info/METADATA,sha256=vPmIZMT89earZuyQwrk4b37QCCpbh1ey1InuMPn327I,7762
|
|
106
|
+
pdd_cli-0.0.31.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
|
|
107
|
+
pdd_cli-0.0.31.dist-info/entry_points.txt,sha256=Kr8HtNVb8uHZtQJNH4DnF8j7WNgWQbb7_Pw5hECSR-I,36
|
|
108
|
+
pdd_cli-0.0.31.dist-info/top_level.txt,sha256=xjnhIACeMcMeDfVNREgQZl4EbTni2T11QkL5r7E-sbE,4
|
|
109
|
+
pdd_cli-0.0.31.dist-info/RECORD,,
|