pullapprove 5.6.0__tar.gz → 5.6.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 (65) hide show
  1. {pullapprove-5.6.0 → pullapprove-5.6.2}/.coverage +0 -0
  2. {pullapprove-5.6.0 → pullapprove-5.6.2}/PKG-INFO +1 -1
  3. pullapprove-5.6.2/htmlcov/class_index.html +401 -0
  4. pullapprove-5.6.2/htmlcov/coverage_html_cb_dd2e7eb5.js +735 -0
  5. pullapprove-5.6.2/htmlcov/favicon_32_cb_c827f16f.png +0 -0
  6. pullapprove-5.6.2/htmlcov/function_index.html +1141 -0
  7. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/index.html +62 -38
  8. pullapprove-5.6.2/htmlcov/keybd_closed_cb_ce680311.png +0 -0
  9. pullapprove-5.6.2/htmlcov/status.json +1 -0
  10. pullapprove-5.6.2/htmlcov/style_cb_4667309f.css +391 -0
  11. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e___init___py.html +11 -11
  12. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_checklists_py.html +20 -20
  13. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_cli_py.html +64 -64
  14. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_config_py.html +100 -100
  15. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_diff_py.html +53 -53
  16. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_exceptions_py.html +9 -9
  17. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_git_py.html +36 -36
  18. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_matches_py.html +315 -313
  19. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_printer_py.html +38 -38
  20. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_results_migrations_py.html +11 -11
  21. {pullapprove-5.6.0 → pullapprove-5.6.2}/pyproject.toml +1 -1
  22. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/checklists.py +2 -2
  23. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/config.py +3 -3
  24. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/matches.py +4 -2
  25. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/test_config.py +1 -2
  26. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/test_config_aliases.py +0 -1
  27. pullapprove-5.6.2/uv.lock +540 -0
  28. pullapprove-5.6.0/htmlcov/class_index.html +0 -339
  29. pullapprove-5.6.0/htmlcov/function_index.html +0 -931
  30. pullapprove-5.6.0/htmlcov/status.json +0 -1
  31. pullapprove-5.6.0/uv.lock +0 -404
  32. {pullapprove-5.6.0 → pullapprove-5.6.2}/.gitignore +0 -0
  33. {pullapprove-5.6.0 → pullapprove-5.6.2}/AGENTS.md +0 -0
  34. {pullapprove-5.6.0 → pullapprove-5.6.2}/README.md +0 -0
  35. {pullapprove-5.6.0 → pullapprove-5.6.2}/extra.md +0 -0
  36. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/.gitignore +0 -0
  37. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/coverage_html_cb_4c2177c4.js +0 -0
  38. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/coverage_html_cb_6fb7b396.js +0 -0
  39. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/favicon_32_cb_58284776.png +0 -0
  40. /pullapprove-5.6.0/htmlcov/keybd_closed_cb_ce680311.png → /pullapprove-5.6.2/htmlcov/keybd_closed_cb_900cfef5.png +0 -0
  41. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/style_cb_14929a1c.css +0 -0
  42. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/style_cb_8e611ae1.css +0 -0
  43. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_1d9be94397a65771___init___py.html +0 -0
  44. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_1d9be94397a65771_shared_py.html +0 -0
  45. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_confirmation_py.html +0 -0
  46. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_docs_py.html +0 -0
  47. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_forms_py.html +0 -0
  48. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_migrations_py.html +0 -0
  49. {pullapprove-5.6.0 → pullapprove-5.6.2}/htmlcov/z_8111577e4327d43e_pullrequests_py.html +0 -0
  50. {pullapprove-5.6.0 → pullapprove-5.6.2}/scripts/check-unreleased +0 -0
  51. {pullapprove-5.6.0 → pullapprove-5.6.2}/scripts/release +0 -0
  52. {pullapprove-5.6.0 → pullapprove-5.6.2}/scripts/test +0 -0
  53. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/__init__.py +0 -0
  54. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/cli.py +0 -0
  55. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/diff.py +0 -0
  56. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/exceptions.py +0 -0
  57. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/git.py +0 -0
  58. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/printer.py +0 -0
  59. {pullapprove-5.6.0 → pullapprove-5.6.2}/src/pullapprove/results_migrations.py +0 -0
  60. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/config.toml +0 -0
  61. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/snapshots/config__angular_diff__angular.json +0 -0
  62. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/snapshots/forms__generate_markdown__markdown.txt +0 -0
  63. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/test.diff +0 -0
  64. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/test_code.py +0 -0
  65. {pullapprove-5.6.0 → pullapprove-5.6.2}/tests/test_diff.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pullapprove
3
- Version: 5.6.0
3
+ Version: 5.6.2
4
4
  Summary: CLI for PullApprove5
5
5
  Project-URL: Homepage, https://www.pullapprove.com?ref=pypi
6
6
  Project-URL: Documentation, https://5.pullapprove.com/docs/?ref=pypi
@@ -0,0 +1,401 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
+ <title>Coverage report</title>
6
+ <link rel="icon" sizes="32x32" href="favicon_32_cb_c827f16f.png">
7
+ <link rel="stylesheet" href="style_cb_4667309f.css" type="text/css">
8
+ <script src="coverage_html_cb_dd2e7eb5.js" defer></script>
9
+ </head>
10
+ <body class="indexfile">
11
+ <header>
12
+ <div class="content">
13
+ <h1>Coverage report:
14
+ <span class="pc_cov">55%</span>
15
+ </h1>
16
+ <aside id="help_panel_wrapper">
17
+ <input id="help_panel_state" type="checkbox">
18
+ <label for="help_panel_state">
19
+ <img id="keyboard_icon" src="keybd_closed_cb_900cfef5.png" alt="Show/hide keyboard shortcuts">
20
+ </label>
21
+ <div id="help_panel">
22
+ <p class="legend">Shortcuts on this page</p>
23
+ <div class="keyhelp">
24
+ <p>
25
+ <kbd>f</kbd>
26
+ <kbd>n</kbd>
27
+ <kbd>s</kbd>
28
+ <kbd>m</kbd>
29
+ <kbd>x</kbd>
30
+ <kbd>c</kbd>
31
+ &nbsp; change column sorting
32
+ </p>
33
+ <p>
34
+ <kbd>[</kbd>
35
+ <kbd>]</kbd>
36
+ &nbsp; prev/next file
37
+ </p>
38
+ <p>
39
+ <kbd>?</kbd> &nbsp; show/hide this help
40
+ </p>
41
+ </div>
42
+ </div>
43
+ </aside>
44
+ <form id="filter_container">
45
+ <input id="filter" type="text" value="" placeholder="filter...">
46
+ <div>
47
+ <input id="hide100" type="checkbox" >
48
+ <label for="hide100">hide covered</label>
49
+ </div>
50
+ </form>
51
+ <h2>
52
+ <a class="button" href="index.html">Files</a>
53
+ <a class="button" href="function_index.html">Functions</a>
54
+ <a class="button current">Classes</a>
55
+ </h2>
56
+ <p class="text">
57
+ <a class="nav" href="https://coverage.readthedocs.io/en/7.14.1">coverage.py v7.14.1</a>,
58
+ created at 2026-06-09 10:11 -0500
59
+ </p>
60
+ </div>
61
+ </header>
62
+ <main id="index">
63
+ <table class="index" data-sortable>
64
+ <thead>
65
+ <tr class="tablehead" title="Click to sort">
66
+ <th id="file" class="name" aria-sort="none" data-shortcut="f">File<span class="arrows"></span></th>
67
+ <th id="region" class="name" aria-sort="none" data-default-sort-order="ascending" data-shortcut="n">class<span class="arrows"></span></th>
68
+ <th class="spacer">&nbsp;</th>
69
+ <th id="statements" aria-sort="none" data-default-sort-order="descending" data-shortcut="s">statements<span class="arrows"></span></th>
70
+ <th id="missing" aria-sort="none" data-default-sort-order="descending" data-shortcut="m">missing<span class="arrows"></span></th>
71
+ <th id="excluded" aria-sort="none" data-default-sort-order="descending" data-shortcut="x">excluded<span class="arrows"></span></th>
72
+ <th class="spacer">&nbsp;</th>
73
+ <th id="coverage" aria-sort="none" data-shortcut="c">coverage<span class="arrows"></span></th>
74
+ </tr>
75
+ </thead>
76
+ <tbody>
77
+ <tr class="region">
78
+ <td class="name"><a href="z_8111577e4327d43e___init___py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>__init__.py</a></td>
79
+ <td class="name"><a href="z_8111577e4327d43e___init___py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
80
+ <td class="spacer">&nbsp;</td>
81
+ <td>0</td>
82
+ <td>0</td>
83
+ <td>0</td>
84
+ <td class="spacer">&nbsp;</td>
85
+ <td data-ratio="0 0">100%</td>
86
+ </tr>
87
+ <tr class="region">
88
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t22">src<span class="sep">/</span>pullapprove<span class="sep">/</span>checklists.py</a></td>
89
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t22"><data value='NotesOption'>NotesOption</data></a></td>
90
+ <td class="spacer">&nbsp;</td>
91
+ <td>0</td>
92
+ <td>0</td>
93
+ <td>0</td>
94
+ <td class="spacer">&nbsp;</td>
95
+ <td data-ratio="0 0">100%</td>
96
+ </tr>
97
+ <tr class="region">
98
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t32">src<span class="sep">/</span>pullapprove<span class="sep">/</span>checklists.py</a></td>
99
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t32"><data value='ChecklistItem'>ChecklistItem</data></a></td>
100
+ <td class="spacer">&nbsp;</td>
101
+ <td>7</td>
102
+ <td>7</td>
103
+ <td>0</td>
104
+ <td class="spacer">&nbsp;</td>
105
+ <td data-ratio="0 7">0%</td>
106
+ </tr>
107
+ <tr class="region">
108
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t70">src<span class="sep">/</span>pullapprove<span class="sep">/</span>checklists.py</a></td>
109
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html#t70"><data value='Checklist'>Checklist</data></a></td>
110
+ <td class="spacer">&nbsp;</td>
111
+ <td>6</td>
112
+ <td>6</td>
113
+ <td>0</td>
114
+ <td class="spacer">&nbsp;</td>
115
+ <td data-ratio="0 6">0%</td>
116
+ </tr>
117
+ <tr class="region">
118
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>checklists.py</a></td>
119
+ <td class="name"><a href="z_8111577e4327d43e_checklists_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
120
+ <td class="spacer">&nbsp;</td>
121
+ <td>25</td>
122
+ <td>0</td>
123
+ <td>0</td>
124
+ <td class="spacer">&nbsp;</td>
125
+ <td data-ratio="25 25">100%</td>
126
+ </tr>
127
+ <tr class="region">
128
+ <td class="name"><a href="z_8111577e4327d43e_cli_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>cli.py</a></td>
129
+ <td class="name"><a href="z_8111577e4327d43e_cli_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
130
+ <td class="spacer">&nbsp;</td>
131
+ <td>150</td>
132
+ <td>150</td>
133
+ <td>0</td>
134
+ <td class="spacer">&nbsp;</td>
135
+ <td data-ratio="0 150">0%</td>
136
+ </tr>
137
+ <tr class="region">
138
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t131">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
139
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t131"><data value='ReviewedForChoices'>ReviewedForChoices</data></a></td>
140
+ <td class="spacer">&nbsp;</td>
141
+ <td>0</td>
142
+ <td>0</td>
143
+ <td>0</td>
144
+ <td class="spacer">&nbsp;</td>
145
+ <td data-ratio="0 0">100%</td>
146
+ </tr>
147
+ <tr class="region">
148
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t137">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
149
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t137"><data value='OwnershipChoices'>OwnershipChoices</data></a></td>
150
+ <td class="spacer">&nbsp;</td>
151
+ <td>0</td>
152
+ <td>0</td>
153
+ <td>0</td>
154
+ <td class="spacer">&nbsp;</td>
155
+ <td data-ratio="0 0">100%</td>
156
+ </tr>
157
+ <tr class="region">
158
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t143">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
159
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t143"><data value='ScopeModel'>ScopeModel</data></a></td>
160
+ <td class="spacer">&nbsp;</td>
161
+ <td>57</td>
162
+ <td>11</td>
163
+ <td>0</td>
164
+ <td class="spacer">&nbsp;</td>
165
+ <td data-ratio="46 57">81%</td>
166
+ </tr>
167
+ <tr class="region">
168
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t327">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
169
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t327"><data value='LargeScaleChangeModel'>LargeScaleChangeModel</data></a></td>
170
+ <td class="spacer">&nbsp;</td>
171
+ <td>0</td>
172
+ <td>0</td>
173
+ <td>0</td>
174
+ <td class="spacer">&nbsp;</td>
175
+ <td data-ratio="0 0">100%</td>
176
+ </tr>
177
+ <tr class="region">
178
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t343">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
179
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t343"><data value='ConfigModel'>ConfigModel</data></a></td>
180
+ <td class="spacer">&nbsp;</td>
181
+ <td>42</td>
182
+ <td>4</td>
183
+ <td>0</td>
184
+ <td class="spacer">&nbsp;</td>
185
+ <td data-ratio="38 42">90%</td>
186
+ </tr>
187
+ <tr class="region">
188
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t478">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
189
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html#t478"><data value='ConfigModels'>ConfigModels</data></a></td>
190
+ <td class="spacer">&nbsp;</td>
191
+ <td>48</td>
192
+ <td>14</td>
193
+ <td>0</td>
194
+ <td class="spacer">&nbsp;</td>
195
+ <td data-ratio="34 48">71%</td>
196
+ </tr>
197
+ <tr class="region">
198
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>config.py</a></td>
199
+ <td class="name"><a href="z_8111577e4327d43e_config_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
200
+ <td class="spacer">&nbsp;</td>
201
+ <td>171</td>
202
+ <td>9</td>
203
+ <td>0</td>
204
+ <td class="spacer">&nbsp;</td>
205
+ <td data-ratio="162 171">95%</td>
206
+ </tr>
207
+ <tr class="region">
208
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t5">src<span class="sep">/</span>pullapprove<span class="sep">/</span>diff.py</a></td>
209
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t5"><data value='DiffFile'>DiffFile</data></a></td>
210
+ <td class="spacer">&nbsp;</td>
211
+ <td>4</td>
212
+ <td>2</td>
213
+ <td>0</td>
214
+ <td class="spacer">&nbsp;</td>
215
+ <td data-ratio="2 4">50%</td>
216
+ </tr>
217
+ <tr class="region">
218
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t17">src<span class="sep">/</span>pullapprove<span class="sep">/</span>diff.py</a></td>
219
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t17"><data value='DiffHunk'>DiffHunk</data></a></td>
220
+ <td class="spacer">&nbsp;</td>
221
+ <td>4</td>
222
+ <td>0</td>
223
+ <td>0</td>
224
+ <td class="spacer">&nbsp;</td>
225
+ <td data-ratio="4 4">100%</td>
226
+ </tr>
227
+ <tr class="region">
228
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t32">src<span class="sep">/</span>pullapprove<span class="sep">/</span>diff.py</a></td>
229
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html#t32"><data value='DiffCode'>DiffCode</data></a></td>
230
+ <td class="spacer">&nbsp;</td>
231
+ <td>13</td>
232
+ <td>4</td>
233
+ <td>0</td>
234
+ <td class="spacer">&nbsp;</td>
235
+ <td data-ratio="9 13">69%</td>
236
+ </tr>
237
+ <tr class="region">
238
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>diff.py</a></td>
239
+ <td class="name"><a href="z_8111577e4327d43e_diff_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
240
+ <td class="spacer">&nbsp;</td>
241
+ <td>66</td>
242
+ <td>1</td>
243
+ <td>0</td>
244
+ <td class="spacer">&nbsp;</td>
245
+ <td data-ratio="65 66">98%</td>
246
+ </tr>
247
+ <tr class="region">
248
+ <td class="name"><a href="z_8111577e4327d43e_exceptions_py.html#t1">src<span class="sep">/</span>pullapprove<span class="sep">/</span>exceptions.py</a></td>
249
+ <td class="name"><a href="z_8111577e4327d43e_exceptions_py.html#t1"><data value='LargeScaleChangeException'>LargeScaleChangeException</data></a></td>
250
+ <td class="spacer">&nbsp;</td>
251
+ <td>1</td>
252
+ <td>1</td>
253
+ <td>0</td>
254
+ <td class="spacer">&nbsp;</td>
255
+ <td data-ratio="0 1">0%</td>
256
+ </tr>
257
+ <tr class="region">
258
+ <td class="name"><a href="z_8111577e4327d43e_exceptions_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>exceptions.py</a></td>
259
+ <td class="name"><a href="z_8111577e4327d43e_exceptions_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
260
+ <td class="spacer">&nbsp;</td>
261
+ <td>2</td>
262
+ <td>0</td>
263
+ <td>0</td>
264
+ <td class="spacer">&nbsp;</td>
265
+ <td data-ratio="2 2">100%</td>
266
+ </tr>
267
+ <tr class="region">
268
+ <td class="name"><a href="z_8111577e4327d43e_git_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>git.py</a></td>
269
+ <td class="name"><a href="z_8111577e4327d43e_git_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
270
+ <td class="spacer">&nbsp;</td>
271
+ <td>26</td>
272
+ <td>26</td>
273
+ <td>0</td>
274
+ <td class="spacer">&nbsp;</td>
275
+ <td data-ratio="0 26">0%</td>
276
+ </tr>
277
+ <tr class="region">
278
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t223">src<span class="sep">/</span>pullapprove<span class="sep">/</span>matches.py</a></td>
279
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t223"><data value='DiffResults'>DiffResults</data></a></td>
280
+ <td class="spacer">&nbsp;</td>
281
+ <td>0</td>
282
+ <td>0</td>
283
+ <td>0</td>
284
+ <td class="spacer">&nbsp;</td>
285
+ <td data-ratio="0 0">100%</td>
286
+ </tr>
287
+ <tr class="region">
288
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t234">src<span class="sep">/</span>pullapprove<span class="sep">/</span>matches.py</a></td>
289
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t234"><data value='ChangeMatches'>ChangeMatches</data></a></td>
290
+ <td class="spacer">&nbsp;</td>
291
+ <td>18</td>
292
+ <td>4</td>
293
+ <td>0</td>
294
+ <td class="spacer">&nbsp;</td>
295
+ <td data-ratio="14 18">78%</td>
296
+ </tr>
297
+ <tr class="region">
298
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t334">src<span class="sep">/</span>pullapprove<span class="sep">/</span>matches.py</a></td>
299
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t334"><data value='ScopePathMatch'>ScopePathMatch</data></a></td>
300
+ <td class="spacer">&nbsp;</td>
301
+ <td>4</td>
302
+ <td>0</td>
303
+ <td>0</td>
304
+ <td class="spacer">&nbsp;</td>
305
+ <td data-ratio="4 4">100%</td>
306
+ </tr>
307
+ <tr class="region">
308
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t355">src<span class="sep">/</span>pullapprove<span class="sep">/</span>matches.py</a></td>
309
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html#t355"><data value='ScopeCodeMatch'>ScopeCodeMatch</data></a></td>
310
+ <td class="spacer">&nbsp;</td>
311
+ <td>12</td>
312
+ <td>7</td>
313
+ <td>0</td>
314
+ <td class="spacer">&nbsp;</td>
315
+ <td data-ratio="5 12">42%</td>
316
+ </tr>
317
+ <tr class="region">
318
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>matches.py</a></td>
319
+ <td class="name"><a href="z_8111577e4327d43e_matches_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
320
+ <td class="spacer">&nbsp;</td>
321
+ <td>138</td>
322
+ <td>23</td>
323
+ <td>0</td>
324
+ <td class="spacer">&nbsp;</td>
325
+ <td data-ratio="115 138">83%</td>
326
+ </tr>
327
+ <tr class="region">
328
+ <td class="name"><a href="z_8111577e4327d43e_printer_py.html#t44">src<span class="sep">/</span>pullapprove<span class="sep">/</span>printer.py</a></td>
329
+ <td class="name"><a href="z_8111577e4327d43e_printer_py.html#t44"><data value='MatchesPrinter'>MatchesPrinter</data></a></td>
330
+ <td class="spacer">&nbsp;</td>
331
+ <td>114</td>
332
+ <td>114</td>
333
+ <td>0</td>
334
+ <td class="spacer">&nbsp;</td>
335
+ <td data-ratio="0 114">0%</td>
336
+ </tr>
337
+ <tr class="region">
338
+ <td class="name"><a href="z_8111577e4327d43e_printer_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>printer.py</a></td>
339
+ <td class="name"><a href="z_8111577e4327d43e_printer_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
340
+ <td class="spacer">&nbsp;</td>
341
+ <td>26</td>
342
+ <td>26</td>
343
+ <td>2</td>
344
+ <td class="spacer">&nbsp;</td>
345
+ <td data-ratio="0 26">0%</td>
346
+ </tr>
347
+ <tr class="region">
348
+ <td class="name"><a href="z_8111577e4327d43e_results_migrations_py.html#t28">src<span class="sep">/</span>pullapprove<span class="sep">/</span>results_migrations.py</a></td>
349
+ <td class="name"><a href="z_8111577e4327d43e_results_migrations_py.html#t28"><data value='ResultsMigrator'>ResultsMigrator</data></a></td>
350
+ <td class="spacer">&nbsp;</td>
351
+ <td>6</td>
352
+ <td>6</td>
353
+ <td>0</td>
354
+ <td class="spacer">&nbsp;</td>
355
+ <td data-ratio="0 6">0%</td>
356
+ </tr>
357
+ <tr class="region">
358
+ <td class="name"><a href="z_8111577e4327d43e_results_migrations_py.html">src<span class="sep">/</span>pullapprove<span class="sep">/</span>results_migrations.py</a></td>
359
+ <td class="name"><a href="z_8111577e4327d43e_results_migrations_py.html"><data value=''><span class='no-noun'>(no class)</span></data></a></td>
360
+ <td class="spacer">&nbsp;</td>
361
+ <td>14</td>
362
+ <td>14</td>
363
+ <td>0</td>
364
+ <td class="spacer">&nbsp;</td>
365
+ <td data-ratio="0 14">0%</td>
366
+ </tr>
367
+ </tbody>
368
+ <tfoot>
369
+ <tr class="total">
370
+ <td class="name">Total</td>
371
+ <td class="name">&nbsp;</td>
372
+ <td class="spacer">&nbsp;</td>
373
+ <td>954</td>
374
+ <td>429</td>
375
+ <td>2</td>
376
+ <td class="spacer">&nbsp;</td>
377
+ <td data-ratio="525 954">55%</td>
378
+ </tr>
379
+ </tfoot>
380
+ </table>
381
+ <p id="no_rows">
382
+ No items found using the specified filter.
383
+ </p>
384
+ </main>
385
+ <footer>
386
+ <div class="content">
387
+ <p>
388
+ <a class="nav" href="https://coverage.readthedocs.io/en/7.14.1">coverage.py v7.14.1</a>,
389
+ created at 2026-06-09 10:11 -0500
390
+ </p>
391
+ </div>
392
+ <aside class="hidden">
393
+ <a id="prevFileLink" class="nav" href=""></a>
394
+ <a id="nextFileLink" class="nav" href=""></a>
395
+ <button type="button" class="button_prev_file" data-shortcut="["></button>
396
+ <button type="button" class="button_next_file" data-shortcut="]"></button>
397
+ <button type="button" class="button_show_hide_help" data-shortcut="?"></button>
398
+ </aside>
399
+ </footer>
400
+ </body>
401
+ </html>