patch-code 0.1.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.
Files changed (153) hide show
  1. patch/__init__.py +3 -0
  2. patch/__main__.py +4 -0
  3. patch/analytics.py +268 -0
  4. patch/args.py +949 -0
  5. patch/args_formatter.py +227 -0
  6. patch/coders/__init__.py +34 -0
  7. patch/coders/architect_coder.py +48 -0
  8. patch/coders/architect_prompts.py +40 -0
  9. patch/coders/ask_coder.py +9 -0
  10. patch/coders/ask_prompts.py +41 -0
  11. patch/coders/base_coder.py +2485 -0
  12. patch/coders/base_prompts.py +60 -0
  13. patch/coders/chat_chunks.py +64 -0
  14. patch/coders/context_coder.py +53 -0
  15. patch/coders/context_prompts.py +75 -0
  16. patch/coders/editblock_coder.py +657 -0
  17. patch/coders/editblock_fenced_coder.py +10 -0
  18. patch/coders/editblock_fenced_prompts.py +143 -0
  19. patch/coders/editblock_func_coder.py +141 -0
  20. patch/coders/editblock_func_prompts.py +27 -0
  21. patch/coders/editblock_prompts.py +172 -0
  22. patch/coders/editor_diff_fenced_coder.py +9 -0
  23. patch/coders/editor_diff_fenced_prompts.py +11 -0
  24. patch/coders/editor_editblock_coder.py +8 -0
  25. patch/coders/editor_editblock_prompts.py +18 -0
  26. patch/coders/editor_whole_coder.py +8 -0
  27. patch/coders/editor_whole_prompts.py +10 -0
  28. patch/coders/help_coder.py +16 -0
  29. patch/coders/help_prompts.py +46 -0
  30. patch/coders/patch_coder.py +706 -0
  31. patch/coders/patch_prompts.py +159 -0
  32. patch/coders/search_replace.py +757 -0
  33. patch/coders/shell.py +37 -0
  34. patch/coders/single_wholefile_func_coder.py +102 -0
  35. patch/coders/single_wholefile_func_prompts.py +27 -0
  36. patch/coders/udiff_coder.py +429 -0
  37. patch/coders/udiff_prompts.py +113 -0
  38. patch/coders/udiff_simple.py +14 -0
  39. patch/coders/udiff_simple_prompts.py +25 -0
  40. patch/coders/wholefile_coder.py +144 -0
  41. patch/coders/wholefile_func_coder.py +134 -0
  42. patch/coders/wholefile_func_prompts.py +27 -0
  43. patch/coders/wholefile_prompts.py +64 -0
  44. patch/commands.py +1712 -0
  45. patch/copypaste.py +72 -0
  46. patch/deprecated.py +126 -0
  47. patch/diffs.py +128 -0
  48. patch/docs/__init__.py +1 -0
  49. patch/docs/analytics.md +28 -0
  50. patch/docs/config.md +43 -0
  51. patch/docs/git.md +22 -0
  52. patch/docs/install.md +54 -0
  53. patch/docs/models.md +59 -0
  54. patch/docs/troubleshooting.md +23 -0
  55. patch/docs/usage.md +47 -0
  56. patch/dump.py +29 -0
  57. patch/editor.py +147 -0
  58. patch/exceptions.py +113 -0
  59. patch/format_settings.py +26 -0
  60. patch/gui.py +545 -0
  61. patch/help.py +118 -0
  62. patch/history.py +143 -0
  63. patch/io.py +1191 -0
  64. patch/linter.py +304 -0
  65. patch/llm.py +47 -0
  66. patch/main.py +1274 -0
  67. patch/mdstream.py +243 -0
  68. patch/models.py +1338 -0
  69. patch/onboarding.py +428 -0
  70. patch/openrouter.py +128 -0
  71. patch/prompts.py +61 -0
  72. patch/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  73. patch/queries/tree-sitter-language-pack/bash-tags.scm +8 -0
  74. patch/queries/tree-sitter-language-pack/c-tags.scm +9 -0
  75. patch/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  76. patch/queries/tree-sitter-language-pack/clojure-tags.scm +7 -0
  77. patch/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
  78. patch/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
  79. patch/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
  80. patch/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  81. patch/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
  82. patch/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  83. patch/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
  84. patch/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
  85. patch/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  86. patch/queries/tree-sitter-language-pack/go-tags.scm +42 -0
  87. patch/queries/tree-sitter-language-pack/java-tags.scm +20 -0
  88. patch/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
  89. patch/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
  90. patch/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
  91. patch/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  92. patch/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
  93. patch/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  94. patch/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  95. patch/queries/tree-sitter-language-pack/python-tags.scm +14 -0
  96. patch/queries/tree-sitter-language-pack/r-tags.scm +21 -0
  97. patch/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  98. patch/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
  99. patch/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
  100. patch/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  101. patch/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
  102. patch/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  103. patch/queries/tree-sitter-languages/bash-tags.scm +8 -0
  104. patch/queries/tree-sitter-languages/c-tags.scm +9 -0
  105. patch/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
  106. patch/queries/tree-sitter-languages/cpp-tags.scm +15 -0
  107. patch/queries/tree-sitter-languages/dart-tags.scm +91 -0
  108. patch/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  109. patch/queries/tree-sitter-languages/elixir-tags.scm +54 -0
  110. patch/queries/tree-sitter-languages/elm-tags.scm +19 -0
  111. patch/queries/tree-sitter-languages/fortran-tags.scm +15 -0
  112. patch/queries/tree-sitter-languages/go-tags.scm +30 -0
  113. patch/queries/tree-sitter-languages/haskell-tags.scm +3 -0
  114. patch/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  115. patch/queries/tree-sitter-languages/java-tags.scm +20 -0
  116. patch/queries/tree-sitter-languages/javascript-tags.scm +88 -0
  117. patch/queries/tree-sitter-languages/julia-tags.scm +60 -0
  118. patch/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
  119. patch/queries/tree-sitter-languages/matlab-tags.scm +10 -0
  120. patch/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  121. patch/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
  122. patch/queries/tree-sitter-languages/php-tags.scm +26 -0
  123. patch/queries/tree-sitter-languages/python-tags.scm +12 -0
  124. patch/queries/tree-sitter-languages/ql-tags.scm +26 -0
  125. patch/queries/tree-sitter-languages/ruby-tags.scm +64 -0
  126. patch/queries/tree-sitter-languages/rust-tags.scm +60 -0
  127. patch/queries/tree-sitter-languages/scala-tags.scm +65 -0
  128. patch/queries/tree-sitter-languages/typescript-tags.scm +41 -0
  129. patch/queries/tree-sitter-languages/zig-tags.scm +3 -0
  130. patch/reasoning_tags.py +82 -0
  131. patch/repo.py +622 -0
  132. patch/repomap.py +867 -0
  133. patch/report.py +200 -0
  134. patch/resources/__init__.py +3 -0
  135. patch/resources/model-metadata.json +715 -0
  136. patch/resources/model-settings.yml +3128 -0
  137. patch/run_cmd.py +132 -0
  138. patch/scrape.py +284 -0
  139. patch/sendchat.py +61 -0
  140. patch/special.py +203 -0
  141. patch/urls.py +17 -0
  142. patch/utils.py +348 -0
  143. patch/versioncheck.py +130 -0
  144. patch/voice.py +187 -0
  145. patch/waiting.py +221 -0
  146. patch/watch.py +318 -0
  147. patch/watch_prompts.py +12 -0
  148. patch_code-0.1.0.dist-info/METADATA +467 -0
  149. patch_code-0.1.0.dist-info/RECORD +153 -0
  150. patch_code-0.1.0.dist-info/WHEEL +5 -0
  151. patch_code-0.1.0.dist-info/entry_points.txt +2 -0
  152. patch_code-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
  153. patch_code-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,467 @@
1
+ Metadata-Version: 2.4
2
+ Name: patch-code
3
+ Version: 0.1.0
4
+ Summary: Patch is AI pair programming in your terminal
5
+ Project-URL: Homepage, https://github.com/PierrunoYT/patch
6
+ Classifier: Development Status :: 4 - Beta
7
+ Classifier: Environment :: Console
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: License :: OSI Approved :: Apache Software License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Topic :: Software Development
18
+ Requires-Python: <3.15,>=3.10
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE.txt
21
+ Requires-Dist: aiohappyeyeballs==2.6.1
22
+ Requires-Dist: aiohttp==3.13.3
23
+ Requires-Dist: aiosignal==1.4.0
24
+ Requires-Dist: annotated-doc==0.0.4
25
+ Requires-Dist: annotated-types==0.7.0
26
+ Requires-Dist: anyio==4.12.1
27
+ Requires-Dist: asgiref==3.11.1
28
+ Requires-Dist: async-timeout==5.0.1; python_full_version < "3.11"
29
+ Requires-Dist: attrs==25.4.0
30
+ Requires-Dist: audioop-lts==0.2.2; python_full_version >= "3.13"
31
+ Requires-Dist: backoff==2.2.1
32
+ Requires-Dist: beautifulsoup4==4.14.3
33
+ Requires-Dist: certifi==2026.2.25
34
+ Requires-Dist: cffi==2.0.0
35
+ Requires-Dist: charset-normalizer==3.4.6
36
+ Requires-Dist: click==8.3.1
37
+ Requires-Dist: colorama==0.4.6; sys_platform == "win32"
38
+ Requires-Dist: configargparse==1.7.5
39
+ Requires-Dist: diff-match-patch==20241021
40
+ Requires-Dist: diskcache==5.6.3
41
+ Requires-Dist: distro==1.9.0
42
+ Requires-Dist: exceptiongroup==1.3.1; python_full_version < "3.11"
43
+ Requires-Dist: fastapi==0.135.1
44
+ Requires-Dist: fastuuid==0.14.0
45
+ Requires-Dist: filelock==3.25.2
46
+ Requires-Dist: flake8==7.3.0
47
+ Requires-Dist: frozenlist==1.8.0
48
+ Requires-Dist: fsspec==2026.2.0
49
+ Requires-Dist: gitdb==4.0.12
50
+ Requires-Dist: gitpython==3.1.46
51
+ Requires-Dist: grep-ast==0.9.0
52
+ Requires-Dist: h11==0.16.0
53
+ Requires-Dist: hf-xet==1.4.2; platform_machine == "AMD64" or platform_machine == "aarch64" or platform_machine == "amd64" or platform_machine == "arm64" or platform_machine == "x86_64"
54
+ Requires-Dist: httpcore==1.0.9
55
+ Requires-Dist: httpx==0.28.1
56
+ Requires-Dist: huggingface-hub==1.7.1
57
+ Requires-Dist: idna==3.11
58
+ Requires-Dist: importlib-metadata==7.2.1
59
+ Requires-Dist: importlib-resources==6.5.2
60
+ Requires-Dist: jinja2==3.1.6
61
+ Requires-Dist: jiter==0.13.0
62
+ Requires-Dist: json5==0.13.0
63
+ Requires-Dist: jsonschema==4.26.0
64
+ Requires-Dist: jsonschema-specifications==2025.9.1
65
+ Requires-Dist: litellm==1.82.3
66
+ Requires-Dist: markdown-it-py==4.0.0
67
+ Requires-Dist: markupsafe==3.0.3
68
+ Requires-Dist: mccabe==0.7.0
69
+ Requires-Dist: mdurl==0.1.2
70
+ Requires-Dist: mixpanel==5.0.0
71
+ Requires-Dist: mslex==1.3.0
72
+ Requires-Dist: multidict==6.7.1
73
+ Requires-Dist: networkx==3.4.2
74
+ Requires-Dist: numpy==1.26.4; python_full_version < "3.11"
75
+ Requires-Dist: numpy==2.4.3; python_full_version >= "3.11"
76
+ Requires-Dist: openai==2.28.0
77
+ Requires-Dist: orjson==3.11.7
78
+ Requires-Dist: oslex==0.1.3
79
+ Requires-Dist: packaging==26.0
80
+ Requires-Dist: pathspec==1.0.4
81
+ Requires-Dist: pexpect==4.9.0
82
+ Requires-Dist: pillow==12.1.1
83
+ Requires-Dist: posthog==7.9.12
84
+ Requires-Dist: prompt-toolkit==3.0.52
85
+ Requires-Dist: propcache==0.4.1
86
+ Requires-Dist: psutil==7.2.2
87
+ Requires-Dist: ptyprocess==0.7.0
88
+ Requires-Dist: pycodestyle==2.14.0
89
+ Requires-Dist: pycparser==3.0; implementation_name != "PyPy"
90
+ Requires-Dist: pydantic==2.12.5
91
+ Requires-Dist: pydantic-core==2.41.5
92
+ Requires-Dist: pydub==0.25.1
93
+ Requires-Dist: pyflakes==3.4.0
94
+ Requires-Dist: pygments==2.19.2
95
+ Requires-Dist: pypandoc==1.17
96
+ Requires-Dist: pyperclip==1.11.0
97
+ Requires-Dist: python-dateutil==2.9.0.post0
98
+ Requires-Dist: python-dotenv==1.2.2
99
+ Requires-Dist: pyyaml==6.0.3
100
+ Requires-Dist: referencing==0.37.0
101
+ Requires-Dist: regex==2026.2.28
102
+ Requires-Dist: requests==2.32.5
103
+ Requires-Dist: rich==14.3.3
104
+ Requires-Dist: rpds-py==0.30.0
105
+ Requires-Dist: scipy==1.15.3; python_full_version < "3.11"
106
+ Requires-Dist: scipy==1.17.1; python_full_version >= "3.11"
107
+ Requires-Dist: shellingham==1.5.4
108
+ Requires-Dist: shtab==1.8.0
109
+ Requires-Dist: six==1.17.0
110
+ Requires-Dist: smmap==5.0.3
111
+ Requires-Dist: sniffio==1.3.1
112
+ Requires-Dist: socksio==1.0.0
113
+ Requires-Dist: sounddevice==0.5.5
114
+ Requires-Dist: soundfile==0.13.1
115
+ Requires-Dist: soupsieve==2.8.3
116
+ Requires-Dist: starlette==0.52.1
117
+ Requires-Dist: tiktoken==0.12.0
118
+ Requires-Dist: tokenizers==0.22.2
119
+ Requires-Dist: tqdm==4.67.3
120
+ Requires-Dist: tree-sitter==0.25.2
121
+ Requires-Dist: tree-sitter-c-sharp==0.23.1
122
+ Requires-Dist: tree-sitter-embedded-template==0.25.0
123
+ Requires-Dist: tree-sitter-language-pack==0.13.0
124
+ Requires-Dist: tree-sitter-yaml==0.7.2
125
+ Requires-Dist: typer==0.24.1
126
+ Requires-Dist: typing-extensions==4.15.0
127
+ Requires-Dist: typing-inspection==0.4.2
128
+ Requires-Dist: urllib3==2.6.3
129
+ Requires-Dist: watchfiles==1.1.1
130
+ Requires-Dist: wcwidth==0.6.0
131
+ Requires-Dist: yarl==1.23.0
132
+ Requires-Dist: zipp==3.23.0
133
+ Provides-Extra: dev
134
+ Requires-Dist: annotated-doc==0.0.4; extra == "dev"
135
+ Requires-Dist: build==1.4.0; extra == "dev"
136
+ Requires-Dist: cfgv==3.5.0; extra == "dev"
137
+ Requires-Dist: click==8.3.1; extra == "dev"
138
+ Requires-Dist: codespell==2.4.2; extra == "dev"
139
+ Requires-Dist: colorama==0.4.6; (os_name == "nt" or sys_platform == "win32") and extra == "dev"
140
+ Requires-Dist: contourpy==1.3.2; python_full_version < "3.11" and extra == "dev"
141
+ Requires-Dist: contourpy==1.3.3; python_full_version >= "3.11" and extra == "dev"
142
+ Requires-Dist: coverage[toml]==7.13.4; extra == "dev"
143
+ Requires-Dist: cycler==0.12.1; extra == "dev"
144
+ Requires-Dist: distlib==0.4.0; extra == "dev"
145
+ Requires-Dist: exceptiongroup==1.3.1; python_full_version < "3.11" and extra == "dev"
146
+ Requires-Dist: filelock==3.25.2; extra == "dev"
147
+ Requires-Dist: fonttools==4.62.1; extra == "dev"
148
+ Requires-Dist: identify==2.6.18; extra == "dev"
149
+ Requires-Dist: imgcat==0.6.0; extra == "dev"
150
+ Requires-Dist: importlib-metadata==7.2.1; python_full_version < "3.10.2" and extra == "dev"
151
+ Requires-Dist: iniconfig==2.3.0; extra == "dev"
152
+ Requires-Dist: kiwisolver==1.5.0; extra == "dev"
153
+ Requires-Dist: lox==1.0.0; extra == "dev"
154
+ Requires-Dist: markdown-it-py==4.0.0; extra == "dev"
155
+ Requires-Dist: matplotlib==3.10.8; extra == "dev"
156
+ Requires-Dist: mdurl==0.1.2; extra == "dev"
157
+ Requires-Dist: nodeenv==1.10.0; extra == "dev"
158
+ Requires-Dist: numpy==1.26.4; python_full_version < "3.11" and extra == "dev"
159
+ Requires-Dist: numpy==2.4.3; python_full_version >= "3.11" and extra == "dev"
160
+ Requires-Dist: packaging==26.0; extra == "dev"
161
+ Requires-Dist: pandas==2.3.3; extra == "dev"
162
+ Requires-Dist: pillow==12.1.1; extra == "dev"
163
+ Requires-Dist: pip==26.0.1; extra == "dev"
164
+ Requires-Dist: pip-tools==7.5.3; extra == "dev"
165
+ Requires-Dist: platformdirs==4.9.4; extra == "dev"
166
+ Requires-Dist: pluggy==1.6.0; extra == "dev"
167
+ Requires-Dist: pre-commit==4.5.1; extra == "dev"
168
+ Requires-Dist: pygments==2.19.2; extra == "dev"
169
+ Requires-Dist: pyparsing==3.3.2; extra == "dev"
170
+ Requires-Dist: pyproject-hooks==1.2.0; extra == "dev"
171
+ Requires-Dist: pytest==9.0.2; extra == "dev"
172
+ Requires-Dist: pytest-cov==7.0.0; extra == "dev"
173
+ Requires-Dist: pytest-env==1.6.0; extra == "dev"
174
+ Requires-Dist: python-dateutil==2.9.0.post0; extra == "dev"
175
+ Requires-Dist: python-discovery==1.1.3; extra == "dev"
176
+ Requires-Dist: python-dotenv==1.2.2; extra == "dev"
177
+ Requires-Dist: pytz==2026.1.post1; extra == "dev"
178
+ Requires-Dist: pyyaml==6.0.3; extra == "dev"
179
+ Requires-Dist: rich==14.3.3; extra == "dev"
180
+ Requires-Dist: setuptools==82.0.1; extra == "dev"
181
+ Requires-Dist: shellingham==1.5.4; extra == "dev"
182
+ Requires-Dist: six==1.17.0; extra == "dev"
183
+ Requires-Dist: tomli==2.4.1; python_full_version <= "3.11" and extra == "dev"
184
+ Requires-Dist: typer==0.24.1; extra == "dev"
185
+ Requires-Dist: typing-extensions==4.15.0; python_full_version < "3.11" and extra == "dev"
186
+ Requires-Dist: tzdata==2025.3; extra == "dev"
187
+ Requires-Dist: uv==0.10.11; extra == "dev"
188
+ Requires-Dist: virtualenv==21.2.0; extra == "dev"
189
+ Requires-Dist: wheel==0.46.3; extra == "dev"
190
+ Requires-Dist: zipp==3.23.0; python_full_version < "3.10.2" and extra == "dev"
191
+ Provides-Extra: help
192
+ Requires-Dist: aiohappyeyeballs==2.6.1; extra == "help"
193
+ Requires-Dist: aiohttp==3.13.3; extra == "help"
194
+ Requires-Dist: aiosignal==1.4.0; extra == "help"
195
+ Requires-Dist: aiosqlite==0.22.1; extra == "help"
196
+ Requires-Dist: annotated-doc==0.0.4; extra == "help"
197
+ Requires-Dist: annotated-types==0.7.0; extra == "help"
198
+ Requires-Dist: anyio==4.12.1; extra == "help"
199
+ Requires-Dist: async-timeout==5.0.1; python_full_version < "3.11" and extra == "help"
200
+ Requires-Dist: attrs==25.4.0; extra == "help"
201
+ Requires-Dist: banks==2.4.1; extra == "help"
202
+ Requires-Dist: certifi==2026.2.25; extra == "help"
203
+ Requires-Dist: charset-normalizer==3.4.6; extra == "help"
204
+ Requires-Dist: click==8.3.1; extra == "help"
205
+ Requires-Dist: colorama==0.4.6; extra == "help"
206
+ Requires-Dist: cuda-bindings==12.9.4; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
207
+ Requires-Dist: cuda-pathfinder==1.8.1; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
208
+ Requires-Dist: dataclasses-json==0.6.7; extra == "help"
209
+ Requires-Dist: deprecated==1.3.1; extra == "help"
210
+ Requires-Dist: dirtyjson==1.0.8; extra == "help"
211
+ Requires-Dist: exceptiongroup==1.3.1; python_full_version < "3.11" and extra == "help"
212
+ Requires-Dist: filelock==3.25.2; extra == "help"
213
+ Requires-Dist: filetype==1.2.0; extra == "help"
214
+ Requires-Dist: frozenlist==1.8.0; extra == "help"
215
+ Requires-Dist: fsspec==2026.2.0; extra == "help"
216
+ Requires-Dist: greenlet==3.3.2; extra == "help"
217
+ Requires-Dist: griffe==2.0.0; extra == "help"
218
+ Requires-Dist: griffecli==2.0.0; extra == "help"
219
+ Requires-Dist: griffelib==2.0.0; extra == "help"
220
+ Requires-Dist: h11==0.16.0; extra == "help"
221
+ Requires-Dist: hf-xet==1.4.2; (platform_machine == "AMD64" or platform_machine == "aarch64" or platform_machine == "amd64" or platform_machine == "arm64" or platform_machine == "x86_64") and extra == "help"
222
+ Requires-Dist: httpcore==1.0.9; extra == "help"
223
+ Requires-Dist: httpx==0.28.1; extra == "help"
224
+ Requires-Dist: huggingface-hub[inference]==1.7.1; extra == "help"
225
+ Requires-Dist: idna==3.11; extra == "help"
226
+ Requires-Dist: jinja2==3.1.6; extra == "help"
227
+ Requires-Dist: joblib==1.5.3; extra == "help"
228
+ Requires-Dist: llama-index-core==0.14.18; extra == "help"
229
+ Requires-Dist: llama-index-embeddings-huggingface==0.7.0; extra == "help"
230
+ Requires-Dist: llama-index-instrumentation==0.5.0; extra == "help"
231
+ Requires-Dist: llama-index-workflows==2.16.1; extra == "help"
232
+ Requires-Dist: markdown-it-py==4.0.0; extra == "help"
233
+ Requires-Dist: markupsafe==3.0.3; extra == "help"
234
+ Requires-Dist: marshmallow==3.26.2; extra == "help"
235
+ Requires-Dist: mdurl==0.1.2; extra == "help"
236
+ Requires-Dist: mpmath==1.3.0; extra == "help"
237
+ Requires-Dist: multidict==6.7.1; extra == "help"
238
+ Requires-Dist: mypy-extensions==1.1.0; extra == "help"
239
+ Requires-Dist: nest-asyncio==1.6.0; extra == "help"
240
+ Requires-Dist: networkx==3.4.2; extra == "help"
241
+ Requires-Dist: nltk==3.9.3; extra == "help"
242
+ Requires-Dist: numpy==1.26.4; python_full_version < "3.11" and extra == "help"
243
+ Requires-Dist: numpy==2.4.3; python_full_version >= "3.11" and extra == "help"
244
+ Requires-Dist: nvidia-cublas-cu12==12.8.4.1; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
245
+ Requires-Dist: nvidia-cuda-cupti-cu12==12.8.90; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
246
+ Requires-Dist: nvidia-cuda-nvrtc-cu12==12.8.93; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
247
+ Requires-Dist: nvidia-cuda-runtime-cu12==12.8.90; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
248
+ Requires-Dist: nvidia-cudnn-cu12==9.10.2.21; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
249
+ Requires-Dist: nvidia-cufft-cu12==11.3.3.83; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
250
+ Requires-Dist: nvidia-cufile-cu12==1.13.1.3; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
251
+ Requires-Dist: nvidia-curand-cu12==10.3.9.90; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
252
+ Requires-Dist: nvidia-cusolver-cu12==11.7.3.90; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
253
+ Requires-Dist: nvidia-cusparse-cu12==12.5.8.93; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
254
+ Requires-Dist: nvidia-cusparselt-cu12==0.7.1; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
255
+ Requires-Dist: nvidia-nccl-cu12==2.27.5; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
256
+ Requires-Dist: nvidia-nvjitlink-cu12==12.8.93; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
257
+ Requires-Dist: nvidia-nvshmem-cu12==3.4.5; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
258
+ Requires-Dist: nvidia-nvtx-cu12==12.8.90; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
259
+ Requires-Dist: packaging==26.0; extra == "help"
260
+ Requires-Dist: pillow==12.1.1; extra == "help"
261
+ Requires-Dist: platformdirs==4.9.4; extra == "help"
262
+ Requires-Dist: propcache==0.4.1; extra == "help"
263
+ Requires-Dist: pydantic==2.12.5; extra == "help"
264
+ Requires-Dist: pydantic-core==2.41.5; extra == "help"
265
+ Requires-Dist: pygments==2.19.2; extra == "help"
266
+ Requires-Dist: pyyaml==6.0.3; extra == "help"
267
+ Requires-Dist: regex==2026.2.28; extra == "help"
268
+ Requires-Dist: requests==2.32.5; extra == "help"
269
+ Requires-Dist: rich==14.3.3; extra == "help"
270
+ Requires-Dist: safetensors==0.7.0; extra == "help"
271
+ Requires-Dist: scikit-learn==1.7.2; python_full_version < "3.11" and extra == "help"
272
+ Requires-Dist: scikit-learn==1.8.0; python_full_version >= "3.11" and extra == "help"
273
+ Requires-Dist: scipy==1.15.3; python_full_version < "3.11" and extra == "help"
274
+ Requires-Dist: scipy==1.17.1; python_full_version >= "3.11" and extra == "help"
275
+ Requires-Dist: sentence-transformers==5.3.0; extra == "help"
276
+ Requires-Dist: setuptools==82.0.1; extra == "help"
277
+ Requires-Dist: shellingham==1.5.4; extra == "help"
278
+ Requires-Dist: sqlalchemy[asyncio]==2.0.48; extra == "help"
279
+ Requires-Dist: sympy==1.14.0; extra == "help"
280
+ Requires-Dist: tenacity==9.1.4; extra == "help"
281
+ Requires-Dist: threadpoolctl==3.6.0; extra == "help"
282
+ Requires-Dist: tiktoken==0.12.0; extra == "help"
283
+ Requires-Dist: tinytag==2.2.1; extra == "help"
284
+ Requires-Dist: tokenizers==0.22.2; extra == "help"
285
+ Requires-Dist: torch==2.10.0; extra == "help"
286
+ Requires-Dist: tqdm==4.67.3; extra == "help"
287
+ Requires-Dist: transformers==5.3.0; extra == "help"
288
+ Requires-Dist: triton==3.6.0; (platform_machine == "x86_64" and sys_platform == "linux") and extra == "help"
289
+ Requires-Dist: typer==0.24.1; extra == "help"
290
+ Requires-Dist: typing-extensions==4.15.0; extra == "help"
291
+ Requires-Dist: typing-inspect==0.9.0; extra == "help"
292
+ Requires-Dist: typing-inspection==0.4.2; extra == "help"
293
+ Requires-Dist: urllib3==2.6.3; extra == "help"
294
+ Requires-Dist: wrapt==2.1.2; extra == "help"
295
+ Requires-Dist: yarl==1.23.0; extra == "help"
296
+ Provides-Extra: browser
297
+ Requires-Dist: altair==6.0.0; extra == "browser"
298
+ Requires-Dist: attrs==25.4.0; extra == "browser"
299
+ Requires-Dist: blinker==1.9.0; extra == "browser"
300
+ Requires-Dist: cachetools==7.0.5; extra == "browser"
301
+ Requires-Dist: certifi==2026.2.25; extra == "browser"
302
+ Requires-Dist: charset-normalizer==3.4.6; extra == "browser"
303
+ Requires-Dist: click==8.3.1; extra == "browser"
304
+ Requires-Dist: colorama==0.4.6; sys_platform == "win32" and extra == "browser"
305
+ Requires-Dist: gitdb==4.0.12; extra == "browser"
306
+ Requires-Dist: gitpython==3.1.46; extra == "browser"
307
+ Requires-Dist: idna==3.11; extra == "browser"
308
+ Requires-Dist: jinja2==3.1.6; extra == "browser"
309
+ Requires-Dist: jsonschema==4.26.0; extra == "browser"
310
+ Requires-Dist: jsonschema-specifications==2025.9.1; extra == "browser"
311
+ Requires-Dist: markupsafe==3.0.3; extra == "browser"
312
+ Requires-Dist: narwhals==2.18.0; extra == "browser"
313
+ Requires-Dist: numpy==1.26.4; python_full_version < "3.11" and extra == "browser"
314
+ Requires-Dist: numpy==2.4.3; python_full_version >= "3.11" and extra == "browser"
315
+ Requires-Dist: packaging==26.0; extra == "browser"
316
+ Requires-Dist: pandas==2.3.3; extra == "browser"
317
+ Requires-Dist: pillow==12.1.1; extra == "browser"
318
+ Requires-Dist: protobuf==6.33.5; extra == "browser"
319
+ Requires-Dist: pyarrow==23.0.1; extra == "browser"
320
+ Requires-Dist: pydeck==0.9.1; extra == "browser"
321
+ Requires-Dist: python-dateutil==2.9.0.post0; extra == "browser"
322
+ Requires-Dist: pytz==2026.1.post1; extra == "browser"
323
+ Requires-Dist: referencing==0.37.0; extra == "browser"
324
+ Requires-Dist: requests==2.32.5; extra == "browser"
325
+ Requires-Dist: rpds-py==0.30.0; extra == "browser"
326
+ Requires-Dist: six==1.17.0; extra == "browser"
327
+ Requires-Dist: smmap==5.0.3; extra == "browser"
328
+ Requires-Dist: streamlit==1.55.0; extra == "browser"
329
+ Requires-Dist: tenacity==9.1.4; extra == "browser"
330
+ Requires-Dist: toml==0.10.2; extra == "browser"
331
+ Requires-Dist: tornado==6.5.5; extra == "browser"
332
+ Requires-Dist: typing-extensions==4.15.0; extra == "browser"
333
+ Requires-Dist: tzdata==2025.3; extra == "browser"
334
+ Requires-Dist: urllib3==2.6.3; extra == "browser"
335
+ Requires-Dist: watchdog==6.0.0; sys_platform != "darwin" and extra == "browser"
336
+ Provides-Extra: playwright
337
+ Requires-Dist: greenlet==3.3.2; extra == "playwright"
338
+ Requires-Dist: playwright==1.58.0; extra == "playwright"
339
+ Requires-Dist: pyee==13.0.1; extra == "playwright"
340
+ Requires-Dist: typing-extensions==4.15.0; extra == "playwright"
341
+ Dynamic: license-file
342
+
343
+ <p align="center">
344
+ <img src="assets/logo.svg" alt="PATCH wordmark" width="300">
345
+ </p>
346
+
347
+ <h1 align="center">Patch</h1>
348
+
349
+ <p align="center">
350
+ <strong>AI pair programming in your terminal.</strong><br>
351
+ Work with your codebase. Make changes with an LLM. Review them with Git.
352
+ </p>
353
+
354
+ <p align="center">
355
+ <a href="#quick-start">Quick start</a> ·
356
+ <a href="#documentation">Documentation</a> ·
357
+ <a href="CHANGELOG.md">Changelog</a> ·
358
+ <a href="https://github.com/PierrunoYT/patch/issues">Report an issue</a>
359
+ </p>
360
+
361
+ Patch is a command-line coding assistant that helps you build features, fix bugs,
362
+ and navigate existing projects using cloud or local language models. It maps your
363
+ repository for context, edits files directly, and integrates with your Git workflow.
364
+
365
+ ## Features
366
+
367
+ - **Choose your model.** Connect to cloud providers or local models.
368
+ - **Work across your codebase.** Use a repository map to give the model context beyond individual files.
369
+ - **Review changes with Git.** Inspect diffs, create commits, and undo AI-generated changes.
370
+ - **Iterate with checks.** Run linters and tests, then ask Patch to address failures.
371
+ - **Bring more context.** Add images, web pages, and voice input to your coding conversations.
372
+ - **Use your existing tools.** Work in the terminal alongside your editor, or try the experimental browser UI.
373
+
374
+ ## Quick start
375
+
376
+ Requires **Python 3.10–3.14**. Install the `patch-code` package in a virtual environment:
377
+
378
+ ```bash
379
+ python -m venv .venv
380
+
381
+ # macOS / Linux
382
+ source .venv/bin/activate
383
+
384
+ # Windows PowerShell
385
+ # .venv\Scripts\Activate.ps1
386
+
387
+ python -m pip install patch-code
388
+ ```
389
+
390
+ Open your project and start a conversation:
391
+
392
+ ```bash
393
+ cd /path/to/your/project
394
+ python -m patch --model sonnet --api-key anthropic=YOUR_API_KEY
395
+ ```
396
+
397
+ The `patch` command is also available when your virtual environment is active.
398
+ Use `python -m patch` to avoid ambiguity with the standard Unix `patch` utility.
399
+
400
+ Run `python -m patch --help` for all options. See the
401
+ [model configuration guide](patch/docs/models.md) for other providers.
402
+
403
+ ### Install from source
404
+
405
+ To work with the current checkout instead of a published PyPI release:
406
+
407
+ ```bash
408
+ git clone https://github.com/PierrunoYT/patch.git
409
+ cd patch
410
+ # Activate a virtual environment first, as shown above.
411
+ python -m pip install -e .
412
+ python -m patch --help
413
+ ```
414
+
415
+ ## Configuration
416
+
417
+ | Component | Name |
418
+ | --- | --- |
419
+ | PyPI package | `patch-code` |
420
+ | Python module | `patch` |
421
+ | Terminal command | `patch` or `python -m patch` |
422
+ | Configuration file | `.patch.conf.yml` |
423
+ | State and history files | `.patch*` |
424
+ | Application environment variables | `PATCH_*` |
425
+
426
+ Provider credentials keep their provider-specific names, such as `ANTHROPIC_API_KEY`
427
+ and `OPENAI_API_KEY`. Keep credentials out of version control.
428
+
429
+ ### Moving from Aider
430
+
431
+ Patch does not automatically read or migrate Aider configuration. Rename and review
432
+ your `.aider*` configuration files as `.patch*`, and update application environment
433
+ variables from `AIDER_*` to `PATCH_*` before using them with Patch.
434
+
435
+ ## Documentation
436
+
437
+ - [Installation and optional extras](patch/docs/install.md)
438
+ - [Usage guide](patch/docs/usage.md)
439
+ - [Model configuration](patch/docs/models.md)
440
+ - [Configuration options](patch/docs/config.md)
441
+ - [Git integration](patch/docs/git.md)
442
+ - [Troubleshooting](patch/docs/troubleshooting.md)
443
+ - [Analytics](patch/docs/analytics.md)
444
+ - [Patch changelog](CHANGELOG.md)
445
+ - [Contributing](CONTRIBUTING.md)
446
+
447
+ These Markdown docs are packaged with Patch for `/help <question>`.
448
+ Patch does not maintain a separate documentation website.
449
+
450
+ ## Logos
451
+
452
+ - [Wide PATCH wordmark](assets/logo.svg) — 2048 × 686, lettering only.
453
+ - [Square P icon](assets/logo-icon.svg) — 2048 × 2048.
454
+
455
+ Both SVGs use mint on charcoal and scale without requiring fonts.
456
+ The root `assets/` folder contains the logos.
457
+
458
+ ## License and attribution
459
+
460
+ Patch is a fork of [Aider](https://github.com/Aider-AI/aider), developed in
461
+ [PierrunoYT/patch](https://github.com/PierrunoYT/patch). This repository is licensed
462
+ under [Apache 2.0](LICENSE.txt).
463
+
464
+ The [inherited release history](HISTORY.md) and retained [benchmark data](benchmark/data/)
465
+ are upstream material, not claims about Patch. Historical documentation links point
466
+ to upstream Aider's GitHub sources. The inherited website, articles, and recordings
467
+ are no longer bundled with Patch.
@@ -0,0 +1,153 @@
1
+ patch/__init__.py,sha256=tr2-zP7nAwYvPIwHWMSf1BmGnXbB-5N7mN_ONxhPZAw,49
2
+ patch/__main__.py,sha256=Vdhw8YA1K3wPMlbJQYL5WqvRzAKVeZ16mZQFO9VRmCo,62
3
+ patch/analytics.py,sha256=3bWdL17LKM6Rnga06MOqNeS7hi8dduaGT8kTXbIR8Ow,7950
4
+ patch/args.py,sha256=u5eRA3Dmj_xThNTuxMTrFTEOio2cj0nkxA6rF6Avwt0,30479
5
+ patch/args_formatter.py,sha256=hiTTmBfs2ca6hzSCY3riXfQksAyHptnKAPbmO0mZLkc,6366
6
+ patch/commands.py,sha256=a-xA-PoAMepXpD6S_M1oB66tk7-x8IDTnQCM7O6WszU,62230
7
+ patch/copypaste.py,sha256=4vUcK4rFLER-s-YVCxsnrrkGPl5gd5_N2BwO6c9u-kk,2095
8
+ patch/deprecated.py,sha256=TCL6Rtv11NIhWzSObL1Yf3p8FpYOrTp1fk0On-3yrf4,4277
9
+ patch/diffs.py,sha256=y6_rxIKe3FPCIsVy_RRkHdofguYOhYBr2Oytr5AqjHI,3028
10
+ patch/dump.py,sha256=-naWnGTc0-lAe_93WxBTpunPRfzNlUK7Q5zgXOprHfA,653
11
+ patch/editor.py,sha256=xS7cv1QNsrmhmsPD2xTm48PorHgjBPUghXHTTNM6cUc,4364
12
+ patch/exceptions.py,sha256=qvwjjjV9em37Ffh5xFQaM5vV5q9ccWJrNv-if8450cs,4218
13
+ patch/format_settings.py,sha256=wHW4bLTKwqUKDGX4onxirC4cNgeJ-lHPuS1H04_R444,1041
14
+ patch/gui.py,sha256=ssQUYLLBiFb8NnlmRgbmwQmm6AM_MC7BT2nh5oUeCL0,17574
15
+ patch/help.py,sha256=xx_gBq4Ipl_OHozqpFXDIiirhpZzgDmz9WciqHpAP14,3096
16
+ patch/history.py,sha256=5_ME5XigLeGAfxYwUhTqQlzqvrXbvCbpM8BEzwbr-yk,4769
17
+ patch/io.py,sha256=brYyArQmdaXRLbNK_Pn_bHt5zXT5Jx1Mvshhmb4omP4,42853
18
+ patch/linter.py,sha256=1w58HyMAvbo6nHzQJJmrX0BEpNgYLecXlTMaUm7gAyM,7998
19
+ patch/llm.py,sha256=pUraCzrLczAMdpesuFtIlAX2_cZz7Lx5YxF4Rhhy7ao,1120
20
+ patch/main.py,sha256=usGsgqxrFXXyRq256TLZbVvboZy4kS4a6JX9Ko-5jck,44007
21
+ patch/mdstream.py,sha256=v8PgPD2Ib6KJtumeUBmLrLscqc1_IvFEvt7-jN8SMDY,7594
22
+ patch/models.py,sha256=1i1L95McVtwLSFg6edgluTUkmXSw88wR8e0dPToZoDM,46342
23
+ patch/onboarding.py,sha256=eLFXC63oqHp1I3d2bxNmKaBzYgsztMHAs87fI71pFL0,16091
24
+ patch/openrouter.py,sha256=sRiR41mFMTL2RpF-DJmLzdcck-OfxLPVd5e7qR9CKh8,4641
25
+ patch/prompts.py,sha256=S5zi3aGaLl_2wRXgFWFbC0yp1Sh-3kgPeFIaB3g5MaI,2354
26
+ patch/reasoning_tags.py,sha256=lZF63Vk7Ar6MZ6NL8PWk_c7w7W3MRuTtLA5vGG4AA4o,2288
27
+ patch/repo.py,sha256=lH0S8AEAFQpfMSqEqCauiSfToVPLneosn4XfB7fuUtk,22952
28
+ patch/repomap.py,sha256=GJabqK9bi2onv1tgjv7jejSzfthALdMGApBFbu9XWkY,27306
29
+ patch/report.py,sha256=N1EcJ8XRorg_In4naKMIKVpeUQAug0yookaX_mHmQwI,5899
30
+ patch/run_cmd.py,sha256=9-NpSL4hlqIndf_EN1jnmWfjX7vIPbDgKgGPGRAr2Rw,4223
31
+ patch/scrape.py,sha256=dby3abFcQFS37d9X9XA6T0CLygAd9rKu1UnnvJhBcf8,8325
32
+ patch/sendchat.py,sha256=JGlJAFcm7ZrJuzmEzMuvctKEeGL_xvzTYPtECTnqPvs,1854
33
+ patch/special.py,sha256=OhsBWWM-DWwjWbi6kE7EqR4CiUfyJ6qJuCgcmywZSAc,4415
34
+ patch/urls.py,sha256=JzQHgnp7HLcTMBFHdLsx6GjOWDOEcCtg5fGLabSczUE,788
35
+ patch/utils.py,sha256=rKIz4OAlq0furWxi3ER44OlZgxAI3fgQIbeKS650fUA,9151
36
+ patch/versioncheck.py,sha256=jw3DitKhL2uuytHlNpuqjF_-CnzNy_nr4pVQrNgAtKo,3911
37
+ patch/voice.py,sha256=rkjBxOoaumvWgxCVFhjLKC2m8-mCKbllatA03pkExIg,6150
38
+ patch/waiting.py,sha256=Hs5QwxfxOL-zeAfxxcPnzF2CD8t7izihusN_dB_HbHg,7646
39
+ patch/watch.py,sha256=lHcXL9-_uD7fvJMxVeidrrs-ahhZjT3YUa358E4NBps,10641
40
+ patch/watch_prompts.py,sha256=JHmXPZUKm1b1og22QolboU-Xie6bJWhmlbKBi2StkdI,556
41
+ patch/coders/__init__.py,sha256=pIriKxHNZSv0vAxfK2AlCKw8XQZdSMRCkhzMGs-Bd2o,1038
42
+ patch/coders/architect_coder.py,sha256=_YqQxfidEI_sFt4PWQbOhUUEvnAaUUl2XIOcwW3o4Mg,1622
43
+ patch/coders/architect_prompts.py,sha256=TPBKqIGaT0161G1eLUY8E1Bd869rWo5-r3JLJ7OZPkw,1469
44
+ patch/coders/ask_coder.py,sha256=Omk4Ih8-prefkMZ_jnRS3faoW5CQUakHOvZ-s7piM3U,210
45
+ patch/coders/ask_prompts.py,sha256=_MXzauDtkAxqmxQHaLfY3Sm66gYstTqUHQfod6FfBbU,1395
46
+ patch/coders/base_coder.py,sha256=PwaKOiza4XXyJBEmOaOUlMpfeuuYkkSGYTAivmIZMRY,86302
47
+ patch/coders/base_prompts.py,sha256=ozO7jvhEO7Es_n05ACbcDdoJzEz6kqV8etFvYZ2K7_0,2384
48
+ patch/coders/chat_chunks.py,sha256=8HPet6cmQdgWvaA_tGpinO4ASMst53uTcSEtNVTYDXE,1981
49
+ patch/coders/context_coder.py,sha256=Y5LdIaYHywMB03lXsmHTYsDnyHIHJ6FNZLMWa9wjArs,1571
50
+ patch/coders/context_prompts.py,sha256=lnHZal1daOWsyImJO8qk9Kqii4iFNxTRd_CuHV-llJ0,3082
51
+ patch/coders/editblock_coder.py,sha256=g9azeCBUdnI_weLCXtF2wF8HdZjeBQhmBKZxDr0Curg,19616
52
+ patch/coders/editblock_fenced_coder.py,sha256=ZaU43k4w4jH1oQAKq-LJ3OpLSyLvT2t9apwspYjjqvg,346
53
+ patch/coders/editblock_fenced_prompts.py,sha256=2YyHKt9RaN1KpCiW9n8kGBp8oRxP1nU7KLdguM2cCbU,4415
54
+ patch/coders/editblock_func_coder.py,sha256=hVSjSz6Vz_vqmQqt2eheUAYtYMY7OV1S9BLiPTquUZs,5317
55
+ patch/coders/editblock_func_prompts.py,sha256=t5NLHkggCxZPLOAwo35fml0hYtIDn-nmIU7nRpBBlnQ,886
56
+ patch/coders/editblock_prompts.py,sha256=saAkw690UNdlANFE8q5e8oIc-fG8ugCfIMQzLbPtmig,5723
57
+ patch/coders/editor_diff_fenced_coder.py,sha256=xrv0bCCBXwdmy1CpWmqi1frlSYsnpA0TQv29M7hgT94,338
58
+ patch/coders/editor_diff_fenced_prompts.py,sha256=2ph1ftiriMEOVo1Z63oaIKofzwb0pC48GWKQ3zlzM6k,272
59
+ patch/coders/editor_editblock_coder.py,sha256=x-Df5q3xgYIxK-OIUbmgzRBW8_hgPmP4q1wcZT_09kA,306
60
+ patch/coders/editor_editblock_prompts.py,sha256=POYd6Qih0Q4lFqbN8bnDlnSL8uGnra9TbqaSazkzmbc,547
61
+ patch/coders/editor_whole_coder.py,sha256=2fi3AujESusxnNLTcKrdbt1YhkKNP7hIrRGSmXDJsj0,301
62
+ patch/coders/editor_whole_prompts.py,sha256=A7-98MjELV0a50F86Y2ZsloFxUquxr-HFafS7zCp100,279
63
+ patch/coders/help_coder.py,sha256=KXwFy9hCNYunLK1YFdeFVq08eNsaStOA7MBCi3oSY5k,355
64
+ patch/coders/help_prompts.py,sha256=05QPVrYq7prPkXpmUWlPdH032F_GmfGhb8PmXzTOULg,1598
65
+ patch/coders/patch_coder.py,sha256=f6-7VilMaMeYcZFQgIVWFycePo6IfZ6r9DQT5DpShBE,30288
66
+ patch/coders/patch_prompts.py,sha256=dSOs7FPnglFJIKIu7FlMB1gL21N4z-Zwv6sMucQCXUU,6012
67
+ patch/coders/search_replace.py,sha256=8x7FIwTOs31xNaCkecCDpOe8nSR_wBlKnLTe7Yaxshc,19813
68
+ patch/coders/shell.py,sha256=jSKol5ICraol7pAHmZu-58nhJjI13_vHieuxqNspFiY,1801
69
+ patch/coders/single_wholefile_func_coder.py,sha256=WxTgHz9I6qfo-PJmKjWOFw87GZbfPwc3zu2kAOB0ulQ,2967
70
+ patch/coders/single_wholefile_func_prompts.py,sha256=ipzROzYhWZolmbHSxw5W-11Q2iNpyWnWAp41OsCdrIo,867
71
+ patch/coders/udiff_coder.py,sha256=xtOVArLjWNqgnz2nvQ1isk-UNo3icWa8Rjd05quCJZI,11041
72
+ patch/coders/udiff_prompts.py,sha256=vPt1udM6z9OMhKOweBSfPLGGVk_s91pyoVI3046xsuQ,3320
73
+ patch/coders/udiff_simple.py,sha256=UjovEM-j51gLRZOpEL_dFxVTPs0CMwTJJNfUIaMKiE8,452
74
+ patch/coders/udiff_simple_prompts.py,sha256=t6k8nFDQaKjdxXKwMiSNSe1BL6kAaUrgaTIPPOEr4_M,888
75
+ patch/coders/wholefile_coder.py,sha256=uBmmxvjnnfo4vDW7Ip8542sYBm0A2DqdKM_ixE23vBc,5131
76
+ patch/coders/wholefile_func_coder.py,sha256=cg8Y39aEufVU7m8c4FjSXLNtbLCAs9c6a1J4Ga5QTec,4249
77
+ patch/coders/wholefile_func_prompts.py,sha256=M5-d6qRYUeRTelK5w2mQYkVfFV_caPc-qGfNHlmbmJs,868
78
+ patch/coders/wholefile_prompts.py,sha256=cq0miiW0mNDa6rLTK6jN-LiWlH9CbGIlp6j8Z84eekI,1869
79
+ patch/docs/__init__.py,sha256=9DraAa7sCqKdzP3qqTdvJ1966Avnyy3T8CDZmE8HWzM,68
80
+ patch/docs/analytics.md,sha256=-LSkNNmAj9FfJNyYB78pbBmged09LtUzNMvvHNjpsao,1189
81
+ patch/docs/config.md,sha256=eEFFPuMp2sTW7KdNf5taKgZZdrr4W3TimKGZo6XY55A,1955
82
+ patch/docs/git.md,sha256=6yJ9GXuJyLxjyD4lw4ojl2b6T4kkeIjcon3RPkS2lc0,982
83
+ patch/docs/install.md,sha256=cWT7vGAj2ZhxHmTkBQYVxdYpEitPqEP5R53C6d_eMv0,1815
84
+ patch/docs/models.md,sha256=wjaZbTA4b1nF1aIAvg5_2SX6JzkeUJJ0oL5DIbBE0_4,2446
85
+ patch/docs/troubleshooting.md,sha256=eAC8za_8iR-IunpNMQTwFux2V6zwt5AOKKB0Fu1i2W4,1196
86
+ patch/docs/usage.md,sha256=GLddQWIyZNMt_WB5mABvSM8ZhNXxPd51QQg-pVZYp20,2590
87
+ patch/queries/tree-sitter-language-pack/arduino-tags.scm,sha256=HbgdothT9Jjk56COXTtUkVAdZ14rZNnqzLbWVLeRs5U,177
88
+ patch/queries/tree-sitter-language-pack/bash-tags.scm,sha256=abyurQwZFIDOtzgkjQEm70SHJL2KusDdXNn2ZCopC00,249
89
+ patch/queries/tree-sitter-language-pack/c-tags.scm,sha256=EIz45o5hBh8yEuck5ZR_4IpcGyWSeNrzxFmtkKZGt2k,461
90
+ patch/queries/tree-sitter-language-pack/chatito-tags.scm,sha256=ISkmrp5gIVxoYIPnoqxxqBlZj5G9tzhwJMx6b0dEKnQ,338
91
+ patch/queries/tree-sitter-language-pack/clojure-tags.scm,sha256=CRvISM9eKamZgNTSkwMAOXTG3yl-92vZvRFFg5mwFy8,194
92
+ patch/queries/tree-sitter-language-pack/commonlisp-tags.scm,sha256=GYJlluTPEdrxn4jpYTX5YQAqk171rVBw7IBiCygMgtw,4713
93
+ patch/queries/tree-sitter-language-pack/cpp-tags.scm,sha256=2fSqTUcc01ABMHkA0JeG8axEOEXRfEIul8UKc9_tKGI,809
94
+ patch/queries/tree-sitter-language-pack/csharp-tags.scm,sha256=KORfK3ehKor6Pf6T5iniuoQr16EcHtUe0q3XIsCjPJs,1162
95
+ patch/queries/tree-sitter-language-pack/d-tags.scm,sha256=LDP3orqZ98TTFSkV_PODEs8LspTcCqUMvKcLdZwtgkc,1420
96
+ patch/queries/tree-sitter-language-pack/dart-tags.scm,sha256=Pa_leZjxxXQO7mH_zF5o-kZ5lqVxgvbyp8oQb_nZ9KA,2267
97
+ patch/queries/tree-sitter-language-pack/elisp-tags.scm,sha256=1r8iOMM_DEpXEvlA1rE7KlhGEzcqa2W6eH4F2d1iu7Y,246
98
+ patch/queries/tree-sitter-language-pack/elixir-tags.scm,sha256=fg9TDpbCixLr8UXNcNnfgFlR3Y7d3vtzLRb3LK84UaQ,1682
99
+ patch/queries/tree-sitter-language-pack/elm-tags.scm,sha256=Wp1D5wEGzFa_2biBWRaKbghDs57lDGqqsZd7DbPkdn4,953
100
+ patch/queries/tree-sitter-language-pack/gleam-tags.scm,sha256=wdFVAkepPAZ10-5sBIVQSl45v95wZP9Foi_iYvM4YII,1416
101
+ patch/queries/tree-sitter-language-pack/go-tags.scm,sha256=TE4fQ7PtQvHKPetrhHeDqjMz01KFKFsxFjypnJMv8pI,1339
102
+ patch/queries/tree-sitter-language-pack/java-tags.scm,sha256=Xid8cnOPL1v5SOtxfq8dOi98bWrUPL7XeO8_I2qBrfE,624
103
+ patch/queries/tree-sitter-language-pack/javascript-tags.scm,sha256=0qlZIwDdsvoEGM0cYD3s2ez27FbYuz8epZAo-cLP1uI,2306
104
+ patch/queries/tree-sitter-language-pack/lua-tags.scm,sha256=lqhCVn7KnBVhW8oo_wY9me15nEBTu9BS5YlF1zUTOPs,945
105
+ patch/queries/tree-sitter-language-pack/matlab-tags.scm,sha256=GqF7QBytU-xGkcUWkGlMi7iJ7XnmmoMFB_mtMKXaJgw,309
106
+ patch/queries/tree-sitter-language-pack/ocaml-tags.scm,sha256=NAcyzmQuQPUjkchrQvcfhsvKqdcqbAt5eFb1chfEhMA,2695
107
+ patch/queries/tree-sitter-language-pack/ocaml_interface-tags.scm,sha256=2Vtp9o9EgQ0_kLUkIDXLOAkX9wp5cj_NwdovlwhiidQ,2009
108
+ patch/queries/tree-sitter-language-pack/pony-tags.scm,sha256=gGNWmiHzv8Ge0HZo81tev-xIqHIQqjRxPR52G048-zs,2191
109
+ patch/queries/tree-sitter-language-pack/properties-tags.scm,sha256=AbcjxhGpG6F6lpCHs83HRXD223b-wrHQYv-i9j09wtc,135
110
+ patch/queries/tree-sitter-language-pack/python-tags.scm,sha256=KDCrM7iaUwXZ_hb2wVHrE2_EVCq_ASo3-BmbzsLtFk0,437
111
+ patch/queries/tree-sitter-language-pack/r-tags.scm,sha256=3cb2Wt-8Tt1RGBNDPgo4nI9qROf00ONNVqPHv8Th-Mk,461
112
+ patch/queries/tree-sitter-language-pack/racket-tags.scm,sha256=iri2aFEabiim-geb-t3ClDVp1Zi8T_rX1H9L0tlpqK8,224
113
+ patch/queries/tree-sitter-language-pack/ruby-tags.scm,sha256=vIidsCeE2A0vdFN18yXKqUWmpXMrGXyo4un_0Mxqr6s,1290
114
+ patch/queries/tree-sitter-language-pack/rust-tags.scm,sha256=3rz1XqKaOPKPWRUNPTW5OX_TYEDj5tQZfMxBH3EMB6g,1451
115
+ patch/queries/tree-sitter-language-pack/solidity-tags.scm,sha256=3uCJsbhwp-dVTiSsrGLt-PQ0uAnjmqUeHFPSEXd2JvM,1395
116
+ patch/queries/tree-sitter-language-pack/swift-tags.scm,sha256=ZvJcfjmUDZ9w14AXKSPPxf4gvpdE_qzBxDjfCczYrIQ,1439
117
+ patch/queries/tree-sitter-language-pack/udev-tags.scm,sha256=avj3u4prIR7o8hymHezOsqrOqjPSLGYo7C_lOL4Dxlg,417
118
+ patch/queries/tree-sitter-languages/bash-tags.scm,sha256=abyurQwZFIDOtzgkjQEm70SHJL2KusDdXNn2ZCopC00,249
119
+ patch/queries/tree-sitter-languages/c-tags.scm,sha256=EIz45o5hBh8yEuck5ZR_4IpcGyWSeNrzxFmtkKZGt2k,461
120
+ patch/queries/tree-sitter-languages/c_sharp-tags.scm,sha256=wKyFtOFIk-kqIFB2yJBbu1VGRUhdkAnDpxo8sXubkjw,1025
121
+ patch/queries/tree-sitter-languages/cpp-tags.scm,sha256=cAFwtQk3ZKsvCVWrp1fmhSwOP8WGTCEDRR5CQuzLlY4,803
122
+ patch/queries/tree-sitter-languages/dart-tags.scm,sha256=AjxpyJIXuLjP5u3U89bhWergxus0fbUKk1x1uIHCKPw,2251
123
+ patch/queries/tree-sitter-languages/elisp-tags.scm,sha256=wjm1YYD1vgjBbh0E2CzUnmagl82Uq6-LcEojmvhiJkY,332
124
+ patch/queries/tree-sitter-languages/elixir-tags.scm,sha256=eO20nPIwI7_vq4Fob6U5RjX1wLKgn6Gglj41ITpE6eg,1605
125
+ patch/queries/tree-sitter-languages/elm-tags.scm,sha256=4qTEWJCAd7_BOfwyky0q_NYzAMtGdiq7qwo1GIhXmag,951
126
+ patch/queries/tree-sitter-languages/fortran-tags.scm,sha256=BD6M5CVhMpINlLR7U9bL6STRwGLYBrMmvmldOHe1-9U,419
127
+ patch/queries/tree-sitter-languages/go-tags.scm,sha256=mHtS5NEuxWJGfVz1rq4YlJRMYVDAl5tf7iYnm6RikVE,848
128
+ patch/queries/tree-sitter-languages/haskell-tags.scm,sha256=mopkZ2Py3_Vl3xvpmaryzUVwYWAzl6GaYgmMb9qKD3Q,143
129
+ patch/queries/tree-sitter-languages/hcl-tags.scm,sha256=yOVCBeF4C3ZrFG-gg0adWg2QkxylPcI2dbVeEgD7EPE,2137
130
+ patch/queries/tree-sitter-languages/java-tags.scm,sha256=7WKb-djGv0Ief6XEWQPYpfLpgJHtMPPukIUi55PegvE,627
131
+ patch/queries/tree-sitter-languages/javascript-tags.scm,sha256=svVct6pxbcYP_-xEBwzGy6t1SlN7ajkEUCivUkBZn_Q,2251
132
+ patch/queries/tree-sitter-languages/julia-tags.scm,sha256=OdZDoUUljhmY5gnKlRPebbA6lh4OC3RuN4kpJqpKCGs,1719
133
+ patch/queries/tree-sitter-languages/kotlin-tags.scm,sha256=ugk8v7Or3PXiBk-_HfZznwLuV-b-s3TYm03Wm3q2h_o,632
134
+ patch/queries/tree-sitter-languages/matlab-tags.scm,sha256=GqF7QBytU-xGkcUWkGlMi7iJ7XnmmoMFB_mtMKXaJgw,309
135
+ patch/queries/tree-sitter-languages/ocaml-tags.scm,sha256=NAcyzmQuQPUjkchrQvcfhsvKqdcqbAt5eFb1chfEhMA,2695
136
+ patch/queries/tree-sitter-languages/ocaml_interface-tags.scm,sha256=2Vtp9o9EgQ0_kLUkIDXLOAkX9wp5cj_NwdovlwhiidQ,2009
137
+ patch/queries/tree-sitter-languages/php-tags.scm,sha256=vmE5CH2N46HiQxUpR_FL41ilQqsWsigojiacWXtwTuE,714
138
+ patch/queries/tree-sitter-languages/python-tags.scm,sha256=6-npVJM6y6C1q7d6VgcfohN75_iu7QtrLnvwO_L2EmA,325
139
+ patch/queries/tree-sitter-languages/ql-tags.scm,sha256=9qVpBGSgFC9fSK4E_5sO2gYe4_jPvN-D18SD6S5lNR8,707
140
+ patch/queries/tree-sitter-languages/ruby-tags.scm,sha256=vIidsCeE2A0vdFN18yXKqUWmpXMrGXyo4un_0Mxqr6s,1290
141
+ patch/queries/tree-sitter-languages/rust-tags.scm,sha256=9ljM1nzhfPs_ZTRw7cr2P9ToOyhGcKkCoN4_HPXSWi4,1451
142
+ patch/queries/tree-sitter-languages/scala-tags.scm,sha256=UxQjz80JIrrJ7Pm56uUnQyThfmQNvwk7aQzPNypB-Ao,1761
143
+ patch/queries/tree-sitter-languages/typescript-tags.scm,sha256=OMdCeedPiA24ky82DpgTMKXK_l2ySTuF2zrQ2fJAi9E,1253
144
+ patch/queries/tree-sitter-languages/zig-tags.scm,sha256=BPgov_nD_LqpL37sbdwsMYbFmHwjBOuRm76geKo29ds,124
145
+ patch/resources/__init__.py,sha256=tHyPugvGg7huRAeZ4gHS48_v2TeJOPojMw2u_z4nX24,142
146
+ patch/resources/model-metadata.json,sha256=TdfABBwsTgQjwWLkAe61RKK3uknfKmFsAbUWy6atCP4,28342
147
+ patch/resources/model-settings.yml,sha256=u_BE2z4WCf1YdAyWRQ_t3oDrmUeS5D-g2_5Z_x3n6RU,86370
148
+ patch_code-0.1.0.dist-info/licenses/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
149
+ patch_code-0.1.0.dist-info/METADATA,sha256=29XGvuevBSGZz3bs7xsVphY2FWNQKWaA9-hH4kN8VcM,21805
150
+ patch_code-0.1.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
151
+ patch_code-0.1.0.dist-info/entry_points.txt,sha256=F3W7ssvH4Y1Fto_oGpm2eh7_PlATkdnnor0v_DocWeE,42
152
+ patch_code-0.1.0.dist-info/top_level.txt,sha256=YS8fpSgs8zbjwlHUDX2Tf1AuyynE5HnqTDNHFhUKsns,6
153
+ patch_code-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ patch = patch.main:main