pdd-cli 0.0.14__py3-none-any.whl → 0.0.16__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/auto_update.py +3 -3
- pdd/cli.py +1 -1
- pdd/data/llm_model.csv +1 -1
- pdd/fix_error_loop.py +31 -48
- pdd/get_extension_1_1_1_0_20250221_230416.py +52 -0
- pdd/pytest_output.py +150 -0
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/METADATA +3 -3
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/RECORD +12 -10
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/LICENSE +0 -0
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/WHEEL +0 -0
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/entry_points.txt +0 -0
- {pdd_cli-0.0.14.dist-info → pdd_cli-0.0.16.dist-info}/top_level.txt +0 -0
pdd/auto_update.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import importlib.metadata
|
|
2
2
|
import requests
|
|
3
3
|
import semver
|
|
4
4
|
import subprocess
|
|
@@ -14,7 +14,7 @@ def auto_update(package_name: str = "pdd-cli", latest_version: str = None) -> No
|
|
|
14
14
|
"""
|
|
15
15
|
try:
|
|
16
16
|
# Get current installed version
|
|
17
|
-
current_version =
|
|
17
|
+
current_version = importlib.metadata.version(package_name)
|
|
18
18
|
|
|
19
19
|
# If latest_version is not provided, fetch from PyPI
|
|
20
20
|
if latest_version is None:
|
|
@@ -63,7 +63,7 @@ def auto_update(package_name: str = "pdd-cli", latest_version: str = None) -> No
|
|
|
63
63
|
else:
|
|
64
64
|
print("Please answer 'y' or 'n'")
|
|
65
65
|
|
|
66
|
-
except
|
|
66
|
+
except importlib.metadata.PackageNotFoundError:
|
|
67
67
|
print(f"Package {package_name} is not installed")
|
|
68
68
|
except Exception as e:
|
|
69
69
|
print(f"Error checking for updates: {str(e)}")
|
pdd/cli.py
CHANGED
|
@@ -46,7 +46,7 @@ console = Console()
|
|
|
46
46
|
@click.option("--review-examples", is_flag=True,
|
|
47
47
|
help="Review and optionally exclude few-shot examples before command execution.")
|
|
48
48
|
@click.option('--local', is_flag=True, help='Run commands locally instead of in the cloud.')
|
|
49
|
-
@click.version_option(version="0.0.
|
|
49
|
+
@click.version_option(version="0.0.16")
|
|
50
50
|
@click.pass_context
|
|
51
51
|
def cli(
|
|
52
52
|
ctx,
|
pdd/data/llm_model.csv
CHANGED
|
@@ -12,6 +12,6 @@ Ollama,"deepseek-r1:70b-llama-distill-q8_0",0.0,0.0,1315,,PWD,,,,,False
|
|
|
12
12
|
Ollama,deepseek-r1:32b-qwen-distill-fp16,0.0,0.0,1316,,PWD,,,,,False
|
|
13
13
|
OpenAI,"o3-mini",1.1,4.4,1319,,OPENAI_API_KEY,tiktoken,o200k_base,,100000,True
|
|
14
14
|
OpenAI,"o1-2024-12-17",15,60,1331,,OPENAI_API_KEY,tiktoken,o200k_base,,32768,True
|
|
15
|
-
OpenAI,"gpt-4o",2.5,10,1332,,OPENAI_API_KEY,tiktoken,o200k_base,16384,,True
|
|
15
|
+
OpenAI,"gpt-4o-2024-11-20",2.5,10,1332,,OPENAI_API_KEY,tiktoken,o200k_base,16384,,True
|
|
16
16
|
OpenAI,"deepseek-reasoner",0.55,2.19,1336,https://api.deepseek.com/beta,DEEPSEEK_API_KEY,autotokenizer,deepseek-coder-7b-instruct-v1.5,8192,,False
|
|
17
17
|
Fireworks,accounts/fireworks/models/deepseek-r1,3,8,1338,,FIREWORKS_API_KEY,,,8192,,False
|
pdd/fix_error_loop.py
CHANGED
|
@@ -4,6 +4,7 @@ import sys
|
|
|
4
4
|
import subprocess
|
|
5
5
|
import shutil
|
|
6
6
|
from datetime import datetime
|
|
7
|
+
import json
|
|
7
8
|
|
|
8
9
|
# Added for the new pytest-based reporting:
|
|
9
10
|
# import pytest
|
|
@@ -23,57 +24,39 @@ def escape_brackets(text: str) -> str:
|
|
|
23
24
|
|
|
24
25
|
def run_pytest_on_file(test_file: str) -> (int, int, int, str):
|
|
25
26
|
"""
|
|
26
|
-
Run pytest on the specified test file using
|
|
27
|
+
Run pytest on the specified test file using subprocess.
|
|
27
28
|
Returns a tuple: (failures, errors, warnings, logs)
|
|
28
29
|
"""
|
|
29
|
-
import pytest
|
|
30
|
-
import io
|
|
31
|
-
# import sys
|
|
32
|
-
|
|
33
|
-
class TestResultCollector:
|
|
34
|
-
def __init__(self):
|
|
35
|
-
self.failures = 0
|
|
36
|
-
self.errors = 0
|
|
37
|
-
self.warnings = 0
|
|
38
|
-
self.logs = io.StringIO() # Capture logs in memory
|
|
39
|
-
|
|
40
|
-
def pytest_runtest_logreport(self, report):
|
|
41
|
-
"""Capture test failures and errors"""
|
|
42
|
-
if report.when == "call":
|
|
43
|
-
if report.failed:
|
|
44
|
-
self.failures += 1
|
|
45
|
-
elif report.outcome == "error":
|
|
46
|
-
self.errors += 1
|
|
47
|
-
if report.when == "setup" and report.failed:
|
|
48
|
-
self.errors += 1
|
|
49
|
-
if report.when == "teardown" and report.failed:
|
|
50
|
-
self.errors += 1
|
|
51
|
-
|
|
52
|
-
def pytest_sessionfinish(self, session):
|
|
53
|
-
"""Capture warnings from pytest session"""
|
|
54
|
-
terminal_reporter = session.config.pluginmanager.get_plugin("terminalreporter")
|
|
55
|
-
if terminal_reporter:
|
|
56
|
-
self.warnings = len(terminal_reporter.stats.get("warnings", []))
|
|
57
|
-
|
|
58
|
-
def capture_logs(self):
|
|
59
|
-
"""Redirect stdout and stderr to capture logs"""
|
|
60
|
-
sys.stdout = self.logs
|
|
61
|
-
sys.stderr = self.logs
|
|
62
|
-
|
|
63
|
-
def get_logs(self):
|
|
64
|
-
"""Return captured logs and reset stdout/stderr"""
|
|
65
|
-
sys.stdout = sys.__stdout__
|
|
66
|
-
sys.stderr = sys.__stderr__
|
|
67
|
-
return self.logs.getvalue()
|
|
68
|
-
|
|
69
|
-
collector = TestResultCollector()
|
|
70
|
-
collector.capture_logs()
|
|
71
30
|
try:
|
|
72
|
-
#
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
31
|
+
# Include "--json-only" to ensure only valid JSON is printed.
|
|
32
|
+
cmd = [sys.executable, "-m", "pdd.pytest_output", "--json-only", test_file]
|
|
33
|
+
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
34
|
+
|
|
35
|
+
# Parse the JSON output from stdout
|
|
36
|
+
try:
|
|
37
|
+
output = json.loads(result.stdout)
|
|
38
|
+
test_results = output.get('test_results', [{}])[0]
|
|
39
|
+
|
|
40
|
+
# Check pytest's return code first
|
|
41
|
+
return_code = test_results.get('return_code', 1)
|
|
42
|
+
if return_code != 0:
|
|
43
|
+
return 1, 1, 0, f"Pytest failed with return code {return_code}\n{result.stdout}\n{result.stderr}"
|
|
44
|
+
|
|
45
|
+
failures = test_results.get('failures', 0)
|
|
46
|
+
errors = test_results.get('errors', 0)
|
|
47
|
+
warnings = test_results.get('warnings', 0)
|
|
48
|
+
|
|
49
|
+
# Combine stdout and stderr from the test results
|
|
50
|
+
logs = test_results.get('standard_output', '') + '\n' + test_results.get('standard_error', '')
|
|
51
|
+
|
|
52
|
+
return failures, errors, warnings, logs
|
|
53
|
+
|
|
54
|
+
except json.JSONDecodeError:
|
|
55
|
+
# If JSON parsing fails, return the raw output
|
|
56
|
+
return 1, 1, 0, f"Failed to parse pytest output:\n{result.stdout}\n{result.stderr}"
|
|
57
|
+
|
|
58
|
+
except Exception as e:
|
|
59
|
+
return 1, 1, 0, f"Error running pytest: {str(e)}"
|
|
77
60
|
|
|
78
61
|
def fix_error_loop(unit_test_file: str,
|
|
79
62
|
code_file: str,
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# To implement the `get_extension` function as described, we will follow the steps outlined in your request. We'll use the `pandas` library to read the CSV file, and we'll handle the environment variable for the file path. Here's how you can implement this function:
|
|
2
|
+
|
|
3
|
+
# ```python
|
|
4
|
+
import os
|
|
5
|
+
import pandas as pd
|
|
6
|
+
|
|
7
|
+
def get_extension(language):
|
|
8
|
+
# Step 1: Load the environment variable PDD_PATH
|
|
9
|
+
pdd_path = os.getenv('PDD_PATH')
|
|
10
|
+
if not pdd_path:
|
|
11
|
+
raise ValueError("Environment variable PDD_PATH is not set.")
|
|
12
|
+
|
|
13
|
+
# Construct the full path to the CSV file
|
|
14
|
+
csv_file_path = os.path.join(pdd_path, 'data', 'language_format.csv')
|
|
15
|
+
|
|
16
|
+
# Step 2: Lower case the language string
|
|
17
|
+
language_lower = language.lower()
|
|
18
|
+
|
|
19
|
+
# Step 3: Load the CSV file and look up the file extension
|
|
20
|
+
try:
|
|
21
|
+
df = pd.read_csv(csv_file_path)
|
|
22
|
+
except FileNotFoundError:
|
|
23
|
+
raise FileNotFoundError(f"The file {csv_file_path} does not exist.")
|
|
24
|
+
|
|
25
|
+
# Check if the language exists in the DataFrame
|
|
26
|
+
row = df[df['language'].str.lower() == language_lower]
|
|
27
|
+
|
|
28
|
+
# Step 4: Return the file extension or an empty string if not found
|
|
29
|
+
if not row.empty:
|
|
30
|
+
extension = row['extension'].values[0]
|
|
31
|
+
return extension if isinstance(extension, str) and extension else ''
|
|
32
|
+
|
|
33
|
+
return ''
|
|
34
|
+
|
|
35
|
+
# Example usage:
|
|
36
|
+
# Assuming the environment variable PDD_PATH is set correctly
|
|
37
|
+
# print(get_extension('Python')) # Output: .py
|
|
38
|
+
# ```
|
|
39
|
+
|
|
40
|
+
# ### Explanation of the Code:
|
|
41
|
+
# 1. **Environment Variable**: We use `os.getenv` to retrieve the `PDD_PATH` environment variable. If it's not set, we raise a `ValueError`.
|
|
42
|
+
# 2. **Lowercase Language**: The input language string is converted to lowercase to ensure case-insensitive comparison.
|
|
43
|
+
# 3. **Load CSV**: We use `pandas` to read the CSV file. If the file is not found, we raise a `FileNotFoundError`.
|
|
44
|
+
# 4. **Lookup**: We filter the DataFrame to find the row corresponding to the given language. If found, we check if the extension is a valid string and return it; otherwise, we return an empty string.
|
|
45
|
+
# 5. **Return Value**: If the language is not found, we return an empty string.
|
|
46
|
+
|
|
47
|
+
# ### Note:
|
|
48
|
+
# - Make sure to have the `pandas` library installed in your Python environment. You can install it using pip:
|
|
49
|
+
# ```bash
|
|
50
|
+
# pip install pandas
|
|
51
|
+
# ```
|
|
52
|
+
# - Ensure that the CSV file is structured correctly and located at the specified path.
|
pdd/pytest_output.py
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import argparse
|
|
2
|
+
import json
|
|
3
|
+
import io
|
|
4
|
+
import sys
|
|
5
|
+
import pytest
|
|
6
|
+
from rich.console import Console
|
|
7
|
+
from rich.pretty import pprint
|
|
8
|
+
import os
|
|
9
|
+
|
|
10
|
+
console = Console()
|
|
11
|
+
|
|
12
|
+
class TestResultCollector:
|
|
13
|
+
__test__ = False # Prevent pytest from collecting this plugin as a test
|
|
14
|
+
|
|
15
|
+
def __init__(self):
|
|
16
|
+
self.failures = 0
|
|
17
|
+
self.errors = 0
|
|
18
|
+
self.warnings = 0
|
|
19
|
+
self.passed = 0
|
|
20
|
+
self.logs = io.StringIO()
|
|
21
|
+
self.stdout = ""
|
|
22
|
+
self.stderr = ""
|
|
23
|
+
|
|
24
|
+
def pytest_runtest_logreport(self, report):
|
|
25
|
+
"""
|
|
26
|
+
Treat any failing 'call' phase as a test failure (matching what Pytest calls 'failed'),
|
|
27
|
+
and only count setup/teardown failures (or 'report.outcome == "error"') as errors.
|
|
28
|
+
"""
|
|
29
|
+
# 'report.when' can be "setup", "call", or "teardown"
|
|
30
|
+
if report.when == "call":
|
|
31
|
+
if report.passed:
|
|
32
|
+
self.passed += 1
|
|
33
|
+
elif report.failed:
|
|
34
|
+
# All exceptions that occur in the test body are 'failures'
|
|
35
|
+
self.failures += 1
|
|
36
|
+
elif report.outcome == "error":
|
|
37
|
+
# Not frequently used, but included for completeness
|
|
38
|
+
self.errors += 1
|
|
39
|
+
elif report.when in ("setup", "teardown") and report.failed:
|
|
40
|
+
# Setup/teardown failures are 'errors'
|
|
41
|
+
self.errors += 1
|
|
42
|
+
|
|
43
|
+
def pytest_sessionfinish(self, session):
|
|
44
|
+
"""Capture warnings from pytest session."""
|
|
45
|
+
if hasattr(session.config, 'pluginmanager'):
|
|
46
|
+
terminal_reporter = session.config.pluginmanager.get_plugin("terminalreporter")
|
|
47
|
+
if terminal_reporter:
|
|
48
|
+
self.warnings = len(terminal_reporter.stats.get("warnings", []))
|
|
49
|
+
|
|
50
|
+
def capture_logs(self):
|
|
51
|
+
"""Redirect stdout and stderr to capture logs."""
|
|
52
|
+
sys.stdout = self.logs
|
|
53
|
+
sys.stderr = self.logs
|
|
54
|
+
|
|
55
|
+
def get_logs(self):
|
|
56
|
+
"""Return captured logs and reset stdout/stderr."""
|
|
57
|
+
self.stdout = self.logs.getvalue()
|
|
58
|
+
self.stderr = self.logs.getvalue()
|
|
59
|
+
sys.stdout = sys.__stdout__
|
|
60
|
+
sys.stderr = sys.__stderr__
|
|
61
|
+
return self.stdout, self.stderr
|
|
62
|
+
|
|
63
|
+
def run_pytest_and_capture_output(test_file: str) -> dict:
|
|
64
|
+
"""
|
|
65
|
+
Runs pytest on the given test file and captures the output.
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
test_file: The path to the test file.
|
|
69
|
+
|
|
70
|
+
Returns:
|
|
71
|
+
A dictionary containing the pytest output.
|
|
72
|
+
"""
|
|
73
|
+
if not os.path.exists(test_file):
|
|
74
|
+
console.print(f"[bold red]Error: Test file '{test_file}' not found.[/]")
|
|
75
|
+
return {}
|
|
76
|
+
|
|
77
|
+
if not test_file.endswith(".py"):
|
|
78
|
+
console.print(
|
|
79
|
+
f"[bold red]Error: Test file '{test_file}' must be a Python file (.py).[/]"
|
|
80
|
+
)
|
|
81
|
+
return {}
|
|
82
|
+
|
|
83
|
+
collector = TestResultCollector()
|
|
84
|
+
try:
|
|
85
|
+
collector.capture_logs()
|
|
86
|
+
result = pytest.main([test_file], plugins=[collector])
|
|
87
|
+
finally:
|
|
88
|
+
stdout, stderr = collector.get_logs()
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
"test_file": test_file,
|
|
92
|
+
"test_results": [
|
|
93
|
+
{
|
|
94
|
+
"standard_output": stdout,
|
|
95
|
+
"standard_error": stderr,
|
|
96
|
+
"return_code": int(result),
|
|
97
|
+
"warnings": collector.warnings,
|
|
98
|
+
"errors": collector.errors,
|
|
99
|
+
"failures": collector.failures,
|
|
100
|
+
"passed": collector.passed,
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
def save_output_to_json(output: dict, output_file: str = "pytest.json"):
|
|
106
|
+
"""
|
|
107
|
+
Saves the pytest output to a JSON file.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
output: The dictionary containing the pytest output.
|
|
111
|
+
output_file: The name of the output JSON file. Defaults to "pytest.json".
|
|
112
|
+
"""
|
|
113
|
+
try:
|
|
114
|
+
with open(output_file, "w", encoding="utf-8") as f:
|
|
115
|
+
json.dump(output, f, indent=4)
|
|
116
|
+
console.print(
|
|
117
|
+
f"[green]Pytest output saved to '{output_file}'.[/green]"
|
|
118
|
+
)
|
|
119
|
+
except Exception as e:
|
|
120
|
+
console.print(
|
|
121
|
+
f"[bold red]Error saving output to JSON: {e}[/]"
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
def main():
|
|
125
|
+
"""
|
|
126
|
+
Main function for the pytest_output CLI tool.
|
|
127
|
+
"""
|
|
128
|
+
parser = argparse.ArgumentParser(
|
|
129
|
+
description="Capture pytest output and save it to a JSON file."
|
|
130
|
+
)
|
|
131
|
+
parser.add_argument(
|
|
132
|
+
"test_file", type=str, help="Path to the test file."
|
|
133
|
+
)
|
|
134
|
+
parser.add_argument(
|
|
135
|
+
"--json-only", action="store_true", help="Output only JSON to stdout."
|
|
136
|
+
)
|
|
137
|
+
args = parser.parse_args()
|
|
138
|
+
|
|
139
|
+
pytest_output = run_pytest_and_capture_output(args.test_file)
|
|
140
|
+
|
|
141
|
+
if args.json_only:
|
|
142
|
+
# Print only valid JSON to stdout.
|
|
143
|
+
print(json.dumps(pytest_output))
|
|
144
|
+
else:
|
|
145
|
+
console.print(f"Running pytest on: [blue]{args.test_file}[/blue]")
|
|
146
|
+
pprint(pytest_output, console=console) # Pretty print the output
|
|
147
|
+
save_output_to_json(pytest_output)
|
|
148
|
+
|
|
149
|
+
if __name__ == "__main__":
|
|
150
|
+
main()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: pdd-cli
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.16
|
|
4
4
|
Summary: PDD (Prompt-Driven Development) Command Line Interface
|
|
5
5
|
Author: Greg Tanaka
|
|
6
6
|
Author-email: glt@alumni.caltech.edu
|
|
@@ -40,7 +40,7 @@ Requires-Dist: semver==3.0.2
|
|
|
40
40
|
Requires-Dist: setuptools==75.1.0
|
|
41
41
|
Requires-Dist: python-Levenshtein
|
|
42
42
|
|
|
43
|
-
.. image:: https://img.shields.io/badge/pdd--cli-v0.0.
|
|
43
|
+
.. image:: https://img.shields.io/badge/pdd--cli-v0.0.16-blue
|
|
44
44
|
:alt: PDD-CLI Version
|
|
45
45
|
|
|
46
46
|
PDD (Prompt-Driven Development) Command Line Interface
|
|
@@ -101,7 +101,7 @@ After installation, verify:
|
|
|
101
101
|
|
|
102
102
|
pdd --version
|
|
103
103
|
|
|
104
|
-
You'll see the current PDD version (e.g., 0.0.
|
|
104
|
+
You'll see the current PDD version (e.g., 0.0.16).
|
|
105
105
|
|
|
106
106
|
Advanced Installation Tips
|
|
107
107
|
--------------------------
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
pdd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
pdd/auto_deps_main.py,sha256=2lZ-8WqzrPVMnzuVC-O7y1gazRLbY66fbmOdKnkYKNg,3630
|
|
3
3
|
pdd/auto_include.py,sha256=aCa2QXDlOdKbh4vS3uDjWptkHB_Qv3QBNCbZe6mGWoo,6074
|
|
4
|
-
pdd/auto_update.py,sha256=
|
|
4
|
+
pdd/auto_update.py,sha256=Pfav1hrqQIDjZIPuIvryBeM7k-Rc72feVUTJZPtigaU,2889
|
|
5
5
|
pdd/bug_main.py,sha256=myKU9--QWdkV4Wf3mD2PoLPJFNgRjwf4z8s7TC28G_s,3720
|
|
6
6
|
pdd/bug_to_unit_test.py,sha256=dsJNm6qAwx-m7RvFF5RquFJRzxzZGCWT4IKYnzVCUws,5569
|
|
7
7
|
pdd/change.py,sha256=iqjWS5DrQ73yMkuUQlwIRIFlofmKdaK6t6-v3zHKL-4,4985
|
|
8
8
|
pdd/change_main.py,sha256=yL_i1Ws5vt4vAkWiC826csNi2cHP6wKbwe_PfMqbbPY,11407
|
|
9
|
-
pdd/cli.py,sha256=
|
|
9
|
+
pdd/cli.py,sha256=fIGmhHofbY53VR3Ag090jqx0KUd-5wcf1VQUNb6zhL4,16593
|
|
10
10
|
pdd/cmd_test_main.py,sha256=aSCxRnSurg15AvPcJDAPp9xy8p_qqnjU1oV14Hi2R54,5301
|
|
11
11
|
pdd/code_generator.py,sha256=n5akrX7VPe71X4RsD6kKqAVvzBLMlciJI4RtJA1PcgA,4375
|
|
12
12
|
pdd/code_generator_main.py,sha256=G2eRBPXc1cGszkk0PbIPmJZHPaf_dw5d2yZbsvQZA3c,4793
|
|
@@ -23,13 +23,14 @@ pdd/detect_change_main.py,sha256=1Z4ymhjJaVr2aliGyqkqeqSmQ7QMgcl23p0wdsmBas0,365
|
|
|
23
23
|
pdd/find_section.py,sha256=lz_FPY4KDCRAGlL1pWVZiutUNv7E4KsDFK-ymDWA_Ec,962
|
|
24
24
|
pdd/fix_code_loop.py,sha256=L0yxq2yAziPIyFGb8lIP2mvufu8a_gtc5nnN2LuMuKs,8596
|
|
25
25
|
pdd/fix_code_module_errors.py,sha256=M6AnlR2jF5LI-nNg6gIO5LvSkxiaLIUGyTvfnUfe1cU,4625
|
|
26
|
-
pdd/fix_error_loop.py,sha256
|
|
26
|
+
pdd/fix_error_loop.py,sha256=--sYHsC2r6h8atDwYHON4lFWYAqN5Wnb2yykAm2Ox2o,17170
|
|
27
27
|
pdd/fix_errors_from_unit_tests.py,sha256=8qCEyHZ6lUSBtV9vhQyhgAxDuhngmOy7vVy2HObckd0,8934
|
|
28
28
|
pdd/fix_main.py,sha256=02OIViH12BcsykpDp4Osxw2ndEeThnNakMFkzdpYr48,5333
|
|
29
29
|
pdd/generate_output_paths.py,sha256=zz42GTx9eGyWIYSl3jcWvtJRGnieC3eoPM6DIVcWz2k,7219
|
|
30
30
|
pdd/generate_test.py,sha256=BwmRnjaPDTlxUqJZ37N3bxTBHlLPCZIR5i1bwrNNv54,4791
|
|
31
31
|
pdd/get_comment.py,sha256=yuRtk68-SDkMaGzOSyIFdldRoymJBRSKjOYkr0narVc,2627
|
|
32
32
|
pdd/get_extension.py,sha256=ZSsbi7n-tFw-7RQX7c3pV1qWsRt72qS_3AlAYjV53jA,2393
|
|
33
|
+
pdd/get_extension_1_1_1_0_20250221_230416.py,sha256=ZSsbi7n-tFw-7RQX7c3pV1qWsRt72qS_3AlAYjV53jA,2393
|
|
33
34
|
pdd/get_jwt_token.py,sha256=BGxqMh7qf2mG-TFw7JlV941O9XtrW22L_dRoS_UZNjM,11560
|
|
34
35
|
pdd/get_language.py,sha256=yxyQqVEb5H3ep3Hc6XgAl3vMLTHD5OIs8ZSekB493GA,1438
|
|
35
36
|
pdd/git_update.py,sha256=Ya7eI7YFtGIpT7FdziFJfnFkiZlj8I9Lh98lqtXfClc,2855
|
|
@@ -46,6 +47,7 @@ pdd/postprocess_0.py,sha256=OW17GyCFLYErCyWh2tL4syuho3q2yFf2wyekQ4BLdPM,2168
|
|
|
46
47
|
pdd/preprocess.py,sha256=7_mkREBFlWjIUIyZsYBlnCvIGtpVgPeToHUpaq_ZHC0,8177
|
|
47
48
|
pdd/preprocess_main.py,sha256=dAgFGmjuJB1taZl31c1sY2jMGtQgjnWLbpeB7EFtojY,2977
|
|
48
49
|
pdd/process_csv_change.py,sha256=10XTzVFQ0rE4lPSF93yhIW7VJmxmfe-hk1B7ui_qxJI,8415
|
|
50
|
+
pdd/pytest_output.py,sha256=kmKiMHaQItrDVi_hTCtM5pfCgBuyZVEVRbxdchpS5CY,4796
|
|
49
51
|
pdd/split.py,sha256=aISO7DcD8UkE_r7w1Ii466RgxSlVDFfTCymJ7IWUhsw,4692
|
|
50
52
|
pdd/split_main.py,sha256=dV9G2YJDp12ik6x1a_dgBtyu27BSt4Fyd2trgxL7qFI,4123
|
|
51
53
|
pdd/summarize_directory.py,sha256=3KUOP30RgkBXpz0_btmpubnO1vWAQ3tKyVI84Zp-E9Q,9041
|
|
@@ -57,7 +59,7 @@ pdd/update_main.py,sha256=5a4nsOOaAXULdk0BS9pj4blZ_QHBFeET37uaAqoJI2g,3912
|
|
|
57
59
|
pdd/update_prompt.py,sha256=OdPRIAMu7OBx7E4SOU95hWgdtBY4oO8XOe1dvPChMlU,4351
|
|
58
60
|
pdd/xml_tagger.py,sha256=NcyWacoXarRi6_16pchMhh1M7V-Gfz1cQImO_If2ia4,4241
|
|
59
61
|
pdd/data/language_format.csv,sha256=xUTmFHXSBVBRfPV-NKG3oWo5_ped5ukP-ekFcIlVzJk,877
|
|
60
|
-
pdd/data/llm_model.csv,sha256=
|
|
62
|
+
pdd/data/llm_model.csv,sha256=B240BLwwcweHFrkYT4FA-yBcz7YgVnx4dQopSedQG9I,1702
|
|
61
63
|
pdd/prompts/auto_include_LLM.prompt,sha256=0t-Jmm5o6vVTmqsISTUiewqPT8bB389UZnJoHZvgtu4,13967
|
|
62
64
|
pdd/prompts/bug_to_unit_test_LLM.prompt,sha256=--ysObDv9WzOEyJMuaKEdDHkRrR_1j0dmOtlAFr4YRg,1205
|
|
63
65
|
pdd/prompts/change_LLM.prompt,sha256=W3sE6XZ2fb35XdqOykK1hDPtqkHSv9MZGD3sT8B8WjY,2083
|
|
@@ -89,9 +91,9 @@ pdd/prompts/trim_results_start_LLM.prompt,sha256=WwFlOHha4wzMLtRHDMI6GtcNdl2toE8
|
|
|
89
91
|
pdd/prompts/unfinished_prompt_LLM.prompt,sha256=-JgBpiPTQZdWOAwOG1XpfpD9waynFTAT3Jo84eQ4bTw,1543
|
|
90
92
|
pdd/prompts/update_prompt_LLM.prompt,sha256=_lGaxeVP4oF8yGqiN6yj6UE0j79lxfGdjsYr5w5KSYk,1261
|
|
91
93
|
pdd/prompts/xml_convertor_LLM.prompt,sha256=YGRGXJeg6EhM9690f-SKqQrKqSJjLFD51UrPOlO0Frg,2786
|
|
92
|
-
pdd_cli-0.0.
|
|
93
|
-
pdd_cli-0.0.
|
|
94
|
-
pdd_cli-0.0.
|
|
95
|
-
pdd_cli-0.0.
|
|
96
|
-
pdd_cli-0.0.
|
|
97
|
-
pdd_cli-0.0.
|
|
94
|
+
pdd_cli-0.0.16.dist-info/LICENSE,sha256=-1bjYH-CEjGEQ8VixtnRYuu37kN6F9NxmZSDkBuUQ9o,1062
|
|
95
|
+
pdd_cli-0.0.16.dist-info/METADATA,sha256=XzqQ8wXovCkmh_taKrR_5eCJaEqZkrAiZGGMx0_czHE,6808
|
|
96
|
+
pdd_cli-0.0.16.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
97
|
+
pdd_cli-0.0.16.dist-info/entry_points.txt,sha256=Kr8HtNVb8uHZtQJNH4DnF8j7WNgWQbb7_Pw5hECSR-I,36
|
|
98
|
+
pdd_cli-0.0.16.dist-info/top_level.txt,sha256=xjnhIACeMcMeDfVNREgQZl4EbTni2T11QkL5r7E-sbE,4
|
|
99
|
+
pdd_cli-0.0.16.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|