metripy 0.3.2__py3-none-any.whl → 0.3.7__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 metripy might be problematic. Click here for more details.

@@ -0,0 +1,469 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Trends - Code Metrics Dashboard</title>
7
+ <link rel="stylesheet" href="css/styles.css">
8
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
10
+ <link rel="icon" href="images/logo.svg" sizes="any" type="image/svg+xml">
11
+ </head>
12
+ <body>
13
+ <div class="dashboard">
14
+ <!-- Sidebar -->
15
+ <aside class="sidebar">
16
+ <div class="sidebar-header">
17
+ <div class="logo">
18
+ <img src="images/logo.svg" alt="Metripy Logo" class="logo-icon">
19
+ <h2>Metripy</h2>
20
+ </div>
21
+ </div>
22
+
23
+ <nav class="sidebar-nav">
24
+ <ul>
25
+ <li class="nav-item">
26
+ <a href="index.html" class="nav-link">
27
+ <i class="fas fa-tachometer-alt"></i>
28
+ <span>Overview</span>
29
+ </a>
30
+ </li>
31
+ <li class="nav-item">
32
+ <a href="files.html" class="nav-link">
33
+ <i class="fas fa-file-code"></i>
34
+ <span>Files</span>
35
+ </a>
36
+ </li>
37
+ <li class="nav-item">
38
+ <a href="top_offenders.html" class="nav-link">
39
+ <i class="fa-solid fa-stethoscope"></i>
40
+ <span>Top Offenders</span>
41
+ </a>
42
+ </li>
43
+ <li class="nav-item">
44
+ <a href="git_analysis.html" class="nav-link">
45
+ <i class="fab fa-git-alt"></i>
46
+ <span>Git Analysis</span>
47
+ </a>
48
+ </li>
49
+ <li class="nav-item">
50
+ <a href="dependencies.html" class="nav-link">
51
+ <i class="fas fa-cubes"></i>
52
+ <span>Dependencies</span>
53
+ </a>
54
+ </li>
55
+ <li class="nav-item active">
56
+ <a href="trends.html" class="nav-link">
57
+ <i class="fas fa-chart-line"></i>
58
+ <span>Trends</span>
59
+ </a>
60
+ </li>
61
+ </ul>
62
+ </nav>
63
+
64
+ <div class="sidebar-footer">
65
+ <div class="project-info">
66
+ <h4>Project: {{project_name}}</h4>
67
+ <p>Last updated: {{last_updated}}</p>
68
+ </div>
69
+ </div>
70
+ </aside>
71
+
72
+ <!-- Main Content -->
73
+ <main class="main-content">
74
+ <header class="page-header">
75
+ <div class="header-content">
76
+ <h1>Code Quality Trends</h1>
77
+ <p class="subtitle">Track improvements and regressions over time</p>
78
+ </div>
79
+ </header>
80
+
81
+ {{#IF has_trend_data}}
82
+
83
+ <!-- Health Distribution Over Time -->
84
+ <section class="trends-section">
85
+ <div class="section-header">
86
+ <h2><i class="fas fa-heartbeat"></i> Health Distribution Evolution</h2>
87
+ <p>See how code quality segments have changed</p>
88
+ </div>
89
+
90
+ <div class="health-distribution-grid">
91
+ <!-- Lines of Code Segment -->
92
+ <div class="health-card">
93
+ <div class="health-card-header">
94
+ <h3>Lines of Code</h3>
95
+ <span class="time-label">Previous → Current</span>
96
+ </div>
97
+ <div class="segment-comparison">
98
+ <div class="comparison-row">
99
+ <span class="row-label">Previous</span>
100
+ <div class="segment-bar-horizontal">
101
+ <div class="segment-piece good" style="width: {{trend_data.loc_segments_prev.good_percent}}%" data-count="{{trend_data.loc_segments_prev.good}}"></div>
102
+ <div class="segment-piece okay" style="width: {{trend_data.loc_segments_prev.ok_percent}}%" data-count="{{trend_data.loc_segments_prev.ok}}"></div>
103
+ <div class="segment-piece warning" style="width: {{trend_data.loc_segments_prev.warning_percent}}%" data-count="{{trend_data.loc_segments_prev.warning}}"></div>
104
+ <div class="segment-piece critical" style="width: {{trend_data.loc_segments_prev.critical_percent}}%" data-count="{{trend_data.loc_segments_prev.critical}}"></div>
105
+ </div>
106
+ </div>
107
+ <div class="comparison-row">
108
+ <span class="row-label">Current</span>
109
+ <div class="segment-bar-horizontal">
110
+ <div class="segment-piece good" style="width: {{trend_data.loc_segments_current.good_percent}}%" data-count="{{trend_data.loc_segments_current.good}}"></div>
111
+ <div class="segment-piece okay" style="width: {{trend_data.loc_segments_current.ok_percent}}%" data-count="{{trend_data.loc_segments_current.ok}}"></div>
112
+ <div class="segment-piece warning" style="width: {{trend_data.loc_segments_current.warning_percent}}%" data-count="{{trend_data.loc_segments_current.warning}}"></div>
113
+ <div class="segment-piece critical" style="width: {{trend_data.loc_segments_current.critical_percent}}%" data-count="{{trend_data.loc_segments_current.critical}}"></div>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ <div class="segment-legend">
118
+ <div class="legend-item">
119
+ <span class="legend-dot good"></span>
120
+ <div class="legend-info">
121
+ <span class="legend-label">Small</span>
122
+ <span class="legend-values">{{trend_data.loc_segments_prev.good}} → {{trend_data.loc_segments_current.good}}</span>
123
+ </div>
124
+ </div>
125
+ <div class="legend-item">
126
+ <span class="legend-dot okay"></span>
127
+ <div class="legend-info">
128
+ <span class="legend-label">Medium</span>
129
+ <span class="legend-values">{{trend_data.loc_segments_prev.ok}} → {{trend_data.loc_segments_current.ok}}</span>
130
+ </div>
131
+ </div>
132
+ <div class="legend-item">
133
+ <span class="legend-dot warning"></span>
134
+ <div class="legend-info">
135
+ <span class="legend-label">Large</span>
136
+ <span class="legend-values">{{trend_data.loc_segments_prev.warning}} → {{trend_data.loc_segments_current.warning}}</span>
137
+ </div>
138
+ </div>
139
+ <div class="legend-item">
140
+ <span class="legend-dot critical"></span>
141
+ <div class="legend-info">
142
+ <span class="legend-label">Very Large</span>
143
+ <span class="legend-values">{{trend_data.loc_segments_prev.critical}} → {{trend_data.loc_segments_current.critical}}</span>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+
149
+ <!-- Complexity Segment -->
150
+ <div class="health-card">
151
+ <div class="health-card-header">
152
+ <h3>Avg. Complexity</h3>
153
+ <span class="time-label">Previous → Current</span>
154
+ </div>
155
+ <div class="segment-comparison">
156
+ <div class="comparison-row">
157
+ <span class="row-label">Previous</span>
158
+ <div class="segment-bar-horizontal">
159
+ <div class="segment-piece good" style="width: {{trend_data.complexity_segments_prev.good_percent}}%" data-count="{{trend_data.complexity_segments_prev.good}}"></div>
160
+ <div class="segment-piece okay" style="width: {{trend_data.complexity_segments_prev.ok_percent}}%" data-count="{{trend_data.complexity_segments_prev.ok}}"></div>
161
+ <div class="segment-piece warning" style="width: {{trend_data.complexity_segments_prev.warning_percent}}%" data-count="{{trend_data.complexity_segments_prev.warning}}"></div>
162
+ <div class="segment-piece critical" style="width: {{trend_data.complexity_segments_prev.critical_percent}}%" data-count="{{trend_data.complexity_segments_prev.critical}}"></div>
163
+ </div>
164
+ </div>
165
+ <div class="comparison-row">
166
+ <span class="row-label">Current</span>
167
+ <div class="segment-bar-horizontal">
168
+ <div class="segment-piece good" style="width: {{trend_data.complexity_segments_current.good_percent}}%" data-count="{{trend_data.complexity_segments_current.good}}"></div>
169
+ <div class="segment-piece okay" style="width: {{trend_data.complexity_segments_current.ok_percent}}%" data-count="{{trend_data.complexity_segments_current.ok}}"></div>
170
+ <div class="segment-piece warning" style="width: {{trend_data.complexity_segments_current.warning_percent}}%" data-count="{{trend_data.complexity_segments_current.warning}}"></div>
171
+ <div class="segment-piece critical" style="width: {{trend_data.complexity_segments_current.critical_percent}}%" data-count="{{trend_data.complexity_segments_current.critical}}"></div>
172
+ </div>
173
+ </div>
174
+ </div>
175
+ <div class="segment-legend">
176
+ <div class="legend-item">
177
+ <span class="legend-dot good"></span>
178
+ <div class="legend-info">
179
+ <span class="legend-label">Simple</span>
180
+ <span class="legend-values">{{trend_data.complexity_segments_prev.good}} → {{trend_data.complexity_segments_current.good}}</span>
181
+ </div>
182
+ </div>
183
+ <div class="legend-item">
184
+ <span class="legend-dot okay"></span>
185
+ <div class="legend-info">
186
+ <span class="legend-label">Moderate</span>
187
+ <span class="legend-values">{{trend_data.complexity_segments_prev.ok}} → {{trend_data.complexity_segments_current.ok}}</span>
188
+ </div>
189
+ </div>
190
+ <div class="legend-item">
191
+ <span class="legend-dot warning"></span>
192
+ <div class="legend-info">
193
+ <span class="legend-label">Complex</span>
194
+ <span class="legend-values">{{trend_data.complexity_segments_prev.warning}} → {{trend_data.complexity_segments_current.warning}}</span>
195
+ </div>
196
+ </div>
197
+ <div class="legend-item">
198
+ <span class="legend-dot critical"></span>
199
+ <div class="legend-info">
200
+ <span class="legend-label">Very Complex</span>
201
+ <span class="legend-values">{{trend_data.complexity_segments_prev.critical}} → {{trend_data.complexity_segments_current.critical}}</span>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ </div>
206
+
207
+ <!-- Maintainability Segment -->
208
+ <div class="health-card">
209
+ <div class="health-card-header">
210
+ <h3>Maintainability</h3>
211
+ <span class="time-label">Previous → Current</span>
212
+ </div>
213
+ <div class="segment-comparison">
214
+ <div class="comparison-row">
215
+ <span class="row-label">Previous</span>
216
+ <div class="segment-bar-horizontal">
217
+ <div class="segment-piece good" style="width: {{trend_data.maintainability_segments_prev.good_percent}}%" data-count="{{trend_data.maintainability_segments_prev.good}}"></div>
218
+ <div class="segment-piece okay" style="width: {{trend_data.maintainability_segments_prev.ok_percent}}%" data-count="{{trend_data.maintainability_segments_prev.ok}}"></div>
219
+ <div class="segment-piece warning" style="width: {{trend_data.maintainability_segments_prev.warning_percent}}%" data-count="{{trend_data.maintainability_segments_prev.warning}}"></div>
220
+ <div class="segment-piece critical" style="width: {{trend_data.maintainability_segments_prev.critical_percent}}%" data-count="{{trend_data.maintainability_segments_prev.critical}}"></div>
221
+ </div>
222
+ </div>
223
+ <div class="comparison-row">
224
+ <span class="row-label">Current</span>
225
+ <div class="segment-bar-horizontal">
226
+ <div class="segment-piece good" style="width: {{trend_data.maintainability_segments_current.good_percent}}%" data-count="{{trend_data.maintainability_segments_current.good}}"></div>
227
+ <div class="segment-piece okay" style="width: {{trend_data.maintainability_segments_current.ok_percent}}%" data-count="{{trend_data.maintainability_segments_current.ok}}"></div>
228
+ <div class="segment-piece warning" style="width: {{trend_data.maintainability_segments_current.warning_percent}}%" data-count="{{trend_data.maintainability_segments_current.warning}}"></div>
229
+ <div class="segment-piece critical" style="width: {{trend_data.maintainability_segments_current.critical_percent}}%" data-count="{{trend_data.maintainability_segments_current.critical}}"></div>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ <div class="segment-legend">
234
+ <div class="legend-item">
235
+ <span class="legend-dot good"></span>
236
+ <div class="legend-info">
237
+ <span class="legend-label">Excellent</span>
238
+ <span class="legend-values">{{trend_data.maintainability_segments_prev.good}} → {{trend_data.maintainability_segments_current.good}}</span>
239
+ </div>
240
+ </div>
241
+ <div class="legend-item">
242
+ <span class="legend-dot okay"></span>
243
+ <div class="legend-info">
244
+ <span class="legend-label">Good</span>
245
+ <span class="legend-values">{{trend_data.maintainability_segments_prev.ok}} → {{trend_data.maintainability_segments_current.ok}}</span>
246
+ </div>
247
+ </div>
248
+ <div class="legend-item">
249
+ <span class="legend-dot warning"></span>
250
+ <div class="legend-info">
251
+ <span class="legend-label">Fair</span>
252
+ <span class="legend-values">{{trend_data.maintainability_segments_prev.warning}} → {{trend_data.maintainability_segments_current.warning}}</span>
253
+ </div>
254
+ </div>
255
+ <div class="legend-item">
256
+ <span class="legend-dot critical"></span>
257
+ <div class="legend-info">
258
+ <span class="legend-label">Poor</span>
259
+ <span class="legend-values">{{trend_data.maintainability_segments_prev.critical}} → {{trend_data.maintainability_segments_current.critical}}</span>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ </div>
264
+
265
+ <!-- Method Size Segment -->
266
+ <div class="health-card">
267
+ <div class="health-card-header">
268
+ <h3>Avg. Method Size</h3>
269
+ <span class="time-label">Previous → Current</span>
270
+ </div>
271
+ <div class="segment-comparison">
272
+ <div class="comparison-row">
273
+ <span class="row-label">Previous</span>
274
+ <div class="segment-bar-horizontal">
275
+ <div class="segment-piece good" style="width: {{trend_data.method_size_segments_prev.good_percent}}%" data-count="{{trend_data.method_size_segments_prev.good}}"></div>
276
+ <div class="segment-piece okay" style="width: {{trend_data.method_size_segments_prev.ok_percent}}%" data-count="{{trend_data.method_size_segments_prev.ok}}"></div>
277
+ <div class="segment-piece warning" style="width: {{trend_data.method_size_segments_prev.warning_percent}}%" data-count="{{trend_data.method_size_segments_prev.warning}}"></div>
278
+ <div class="segment-piece critical" style="width: {{trend_data.method_size_segments_prev.critical_percent}}%" data-count="{{trend_data.method_size_segments_prev.critical}}"></div>
279
+ </div>
280
+ </div>
281
+ <div class="comparison-row">
282
+ <span class="row-label">Current</span>
283
+ <div class="segment-bar-horizontal">
284
+ <div class="segment-piece good" style="width: {{trend_data.method_size_segments_current.good_percent}}%" data-count="{{trend_data.method_size_segments_current.good}}"></div>
285
+ <div class="segment-piece okay" style="width: {{trend_data.method_size_segments_current.ok_percent}}%" data-count="{{trend_data.method_size_segments_current.ok}}"></div>
286
+ <div class="segment-piece warning" style="width: {{trend_data.method_size_segments_current.warning_percent}}%" data-count="{{trend_data.method_size_segments_current.warning}}"></div>
287
+ <div class="segment-piece critical" style="width: {{trend_data.method_size_segments_current.critical_percent}}%" data-count="{{trend_data.method_size_segments_current.critical}}"></div>
288
+ </div>
289
+ </div>
290
+ </div>
291
+ <div class="segment-legend">
292
+ <div class="legend-item">
293
+ <span class="legend-dot good"></span>
294
+ <div class="legend-info">
295
+ <span class="legend-label">Concise</span>
296
+ <span class="legend-values">{{trend_data.method_size_segments_prev.good}} → {{trend_data.method_size_segments_current.good}}</span>
297
+ </div>
298
+ </div>
299
+ <div class="legend-item">
300
+ <span class="legend-dot okay"></span>
301
+ <div class="legend-info">
302
+ <span class="legend-label">Optimal</span>
303
+ <span class="legend-values">{{trend_data.method_size_segments_prev.ok}} → {{trend_data.method_size_segments_current.ok}}</span>
304
+ </div>
305
+ </div>
306
+ <div class="legend-item">
307
+ <span class="legend-dot warning"></span>
308
+ <div class="legend-info">
309
+ <span class="legend-label">Large</span>
310
+ <span class="legend-values">{{trend_data.method_size_segments_prev.warning}} → {{trend_data.method_size_segments_current.warning}}</span>
311
+ </div>
312
+ </div>
313
+ <div class="legend-item">
314
+ <span class="legend-dot critical"></span>
315
+ <div class="legend-info">
316
+ <span class="legend-label">Too Large</span>
317
+ <span class="legend-values">{{trend_data.method_size_segments_prev.critical}} → {{trend_data.method_size_segments_current.critical}}</span>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ </div>
322
+ </div>
323
+ </section>
324
+
325
+ <!-- Top Improved Files -->
326
+ <section class="trends-section">
327
+ <div class="section-header">
328
+ <h2><i class="fas fa-arrow-up"></i> Top Improved Files</h2>
329
+ <p>Files that showed the most improvement</p>
330
+ </div>
331
+
332
+ <div class="improvement-grid">
333
+ <!-- Improved Complexity -->
334
+ <div class="trend-card">
335
+ <div class="trend-card-header improved">
336
+ <i class="fas fa-award"></i>
337
+ <h3>Complexity Reduced</h3>
338
+ </div>
339
+ <div class="trend-list">
340
+ {{#EACH trend_data.top_improved_complexity AS file}}
341
+ <div class="trend-item">
342
+ <div class="trend-item-header">
343
+ <span class="file-name">{{file.name}}</span>
344
+ <span class="trend-delta positive">
345
+ <i class="fas fa-arrow-down"></i>
346
+ <span class="delta-value">{{file.complexity_delta}}</span>
347
+ </span>
348
+ </div>
349
+ <div class="trend-item-details">
350
+ <span class="prev-value">{{file.complexity_prev}}</span>
351
+ <i class="fas fa-arrow-right"></i>
352
+ <span class="curr-value">{{file.complexity_current}}</span>
353
+ </div>
354
+ </div>
355
+ {{/EACH}}
356
+ </div>
357
+ </div>
358
+
359
+ <!-- Improved Maintainability -->
360
+ <div class="trend-card">
361
+ <div class="trend-card-header improved">
362
+ <i class="fas fa-star"></i>
363
+ <h3>Maintainability Improved</h3>
364
+ </div>
365
+ <div class="trend-list">
366
+ {{#EACH trend_data.top_improved_maintainability AS file}}
367
+ <div class="trend-item">
368
+ <div class="trend-item-header">
369
+ <span class="file-name">{{file.name}}</span>
370
+ <span class="trend-delta positive">
371
+ <i class="fas fa-arrow-up"></i>
372
+ <span class="delta-value">{{file.maintainability_delta}}</span>
373
+ </span>
374
+ </div>
375
+ <div class="trend-item-details">
376
+ <span class="prev-value">{{file.maintainability_prev}}</span>
377
+ <i class="fas fa-arrow-right"></i>
378
+ <span class="curr-value">{{file.maintainability_current}}</span>
379
+ </div>
380
+ </div>
381
+ {{/EACH}}
382
+ </div>
383
+ </div>
384
+ </div>
385
+ </section>
386
+
387
+ <!-- Top Worsened Files -->
388
+ <section class="trends-section">
389
+ <div class="section-header">
390
+ <h2><i class="fas fa-arrow-down"></i> Files Needing Attention</h2>
391
+ <p>Files that have regressed and need improvement</p>
392
+ </div>
393
+
394
+ <div class="improvement-grid">
395
+ <!-- Worsened Complexity -->
396
+ <div class="trend-card">
397
+ <div class="trend-card-header worsened">
398
+ <i class="fas fa-exclamation-triangle"></i>
399
+ <h3>Complexity Increased</h3>
400
+ </div>
401
+ <div class="trend-list">
402
+ {{#EACH trend_data.top_worsened_complexity AS file}}
403
+ <div class="trend-item">
404
+ <div class="trend-item-header">
405
+ <span class="file-name">{{file.name}}</span>
406
+ <span class="trend-delta negative">
407
+ <i class="fas fa-arrow-up"></i>
408
+ <span class="delta-value">{{file.complexity_delta}}</span>
409
+ </span>
410
+ </div>
411
+ <div class="trend-item-details">
412
+ <span class="prev-value">{{file.complexity_prev}}</span>
413
+ <i class="fas fa-arrow-right"></i>
414
+ <span class="curr-value">{{file.complexity_current}}</span>
415
+ </div>
416
+ </div>
417
+ {{/EACH}}
418
+ </div>
419
+ </div>
420
+
421
+ <!-- Worsened Maintainability -->
422
+ <div class="trend-card">
423
+ <div class="trend-card-header worsened">
424
+ <i class="fas fa-warning"></i>
425
+ <h3>Maintainability Decreased</h3>
426
+ </div>
427
+ <div class="trend-list">
428
+ {{#EACH trend_data.top_worsened_maintainability AS file}}
429
+ <div class="trend-item">
430
+ <div class="trend-item-header">
431
+ <span class="file-name">{{file.name}}</span>
432
+ <span class="trend-delta negative">
433
+ <i class="fas fa-arrow-down"></i>
434
+ <span class="delta-value">{{file.maintainability_delta}}</span>
435
+ </span>
436
+ </div>
437
+ <div class="trend-item-details">
438
+ <span class="prev-value">{{file.maintainability_prev}}</span>
439
+ <i class="fas fa-arrow-right"></i>
440
+ <span class="curr-value">{{file.maintainability_current}}</span>
441
+ </div>
442
+ </div>
443
+ {{/EACH}}
444
+ </div>
445
+ </div>
446
+ </div>
447
+ </section>
448
+
449
+ <!-- No Trend Data State -->
450
+ {{#ELSE}}
451
+ <div class="empty-state">
452
+ <i class="fas fa-chart-line"></i>
453
+ <h3>No Trend Data Available</h3>
454
+ <p>Run analysis at least twice to see trends and compare changes over time.</p>
455
+ </div>
456
+ {{/IF}}
457
+
458
+ </main>
459
+ </div>
460
+
461
+ <!-- Scripts -->
462
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
463
+ <script>
464
+ // Embed data directly from template engine
465
+ window.TREND_DATA = {{trend_data_json}};
466
+ </script>
467
+ </body>
468
+ </html>
469
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: metripy
3
- Version: 0.3.2
3
+ Version: 0.3.7
4
4
  Summary: A Python tool to generate multi project, multi language code metric reports
5
5
  Author-email: Yannick Zimmermann <yannick.zimmermann@proton.me>
6
6
  License: MIT
@@ -19,7 +19,7 @@ Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
20
  Requires-Dist: lizard==1.18.0
21
21
  Requires-Dist: GitPython==3.1.45
22
- Requires-Dist: py-template-engine>=0.1.0
22
+ Requires-Dist: py-template-engine>=0.2.6
23
23
  Requires-Dist: radon==6.0.1
24
24
  Requires-Dist: requests==2.32.5
25
25
  Requires-Dist: packaging==25.0
@@ -2,7 +2,7 @@ metripy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  metripy/metripy.py,sha256=Iiggyf5cMv3xoJyyec6MpqPLb0afYnPyOYY26oiq6ro,266
3
3
  metripy/Application/Analyzer.py,sha256=anomekJMKve_lZEl69yeQEFYas_hTltTqEJmujg5VSo,4953
4
4
  metripy/Application/Application.py,sha256=XaSLgZurNVv29KVsIF8Kqu9eI4LOvvDZ6CHgdkLoRwQ,2332
5
- metripy/Application/Info.py,sha256=LfI8R8LmByK1-kvXRK905QZM_bnGDnE22G6pkNSLalE,868
5
+ metripy/Application/Info.py,sha256=7xdjqwDRwazenFme2sP5soHZogPeE4EEanBSP19bQL0,1882
6
6
  metripy/Application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  metripy/Application/Config/Config.py,sha256=QX_uTUJEcAaL0Oyug0dlpVgRVEKliDtXgS-3J10OZQA,1503
8
8
  metripy/Application/Config/GitConfig.py,sha256=4y676GYv-FH6QyLxh6IQn64gUG9xOQciMgkXH9pJtb4,220
@@ -10,7 +10,7 @@ metripy/Application/Config/Parser.py,sha256=zK_o7j3XaobSFAYhY4xznGhUTcyYSgQSzde1
10
10
  metripy/Application/Config/ProjectConfig.py,sha256=qY1TpU93LEiRNilQ3Yt0vQxxx9USt8QimhmTaZJzM-s,3078
11
11
  metripy/Application/Config/ReportConfig.py,sha256=Vh3S1n2nyH5YNmt8JrfGRTcmYZuqLMxyFnFF5mmxu_4,259
12
12
  metripy/Application/Config/File/ConfigFileReaderFactory.py,sha256=EYPRxfjixjMtCp-O-Tx9xBOWq_gO2_NhyG1iYc52YHI,981
13
- metripy/Application/Config/File/ConfigFileReaderInterface.py,sha256=oUGlAKy4XvoWUMWpKVzIQedH8FgwW5meCb5SiC6B4MQ,2693
13
+ metripy/Application/Config/File/ConfigFileReaderInterface.py,sha256=e_7caWHo2CCU_2tgqzDcqJSfYhBS_ka-4b5jNxWjZB8,2647
14
14
  metripy/Application/Config/File/JsonConfigFileReader.py,sha256=s4f1D7l9Od7gzpMa6-WFyJeY7vjJFTQx3xKC76wSWEs,478
15
15
  metripy/Application/Config/File/YamlConfigFileReader.py,sha256=kDgWrf9wbVstgQGZ1a1b3zY5L9Lx61NhoXfypZU0w3s,483
16
16
  metripy/Component/Debug/Debugger.py,sha256=LhkHzUGNSEPvIvcjZJJob5Fjg5NQhk7Rs43y1Bkc7hw,423
@@ -30,7 +30,7 @@ metripy/LangAnalyzer/AbstractLangAnalyzer.py,sha256=YOnpWAKJqm3eyj-FJc2iCUUXAnfh
30
30
  metripy/LangAnalyzer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  metripy/LangAnalyzer/Generic/HalSteadAnalyzer.py,sha256=z8h3V7mud5NnzQ67I9G3YhTFKHjO6Z-e_ida2d32YZ4,1845
32
32
  metripy/LangAnalyzer/Generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- metripy/LangAnalyzer/Php/PhpAnalyzer.py,sha256=tSOPPmtZj4vFwN4Pn9_L8qD2i511kqEjxMAf64_jpD4,7487
33
+ metripy/LangAnalyzer/Php/PhpAnalyzer.py,sha256=lQ0hGqseuZi7OxS1Qm3asjTm-5g6-PY5lLNhGg_0Q2g,8310
34
34
  metripy/LangAnalyzer/Php/PhpBasicAstParser.py,sha256=T717e7hM67HBOZ7mvl7Jr4RkCF-Hq-sUMzk__UTheeU,1874
35
35
  metripy/LangAnalyzer/Php/PhpBasicLocAnalyzer.py,sha256=2Vt3pbU0BEy2p8em3ZW_qOe9eGigtpZzVoEhe11S2O8,6229
36
36
  metripy/LangAnalyzer/Php/PhpHalSteadAnalyzer.py,sha256=XgEo1dXSpIYWBWt9wEQxigpNdLWs-BteX2U2lVLVpl8,1037
@@ -61,15 +61,15 @@ metripy/Metric/Trend/SegmentedTrendMetric.py,sha256=nyE4iRa44oNwcj2lM6eyFbo_ngID
61
61
  metripy/Report/ReporterFactory.py,sha256=36_iF0Plqwcx51UPXpWU1LYGLx6_I4SjAJQGg1BDSrQ,1012
62
62
  metripy/Report/ReporterInterface.py,sha256=OZEE3SXpTKNOKQBzPytqxqViUFzPhlBUjkBTMlib0qE,543
63
63
  metripy/Report/Csv/Reporter.py,sha256=rC52vfJYavB_9yZ3-QA7aRF0Ez34lkiBOpw2mWll2m8,431
64
- metripy/Report/Html/DependencyPageRenderer.py,sha256=iCDOV2P-hH8iCZbL6btBIq_mBjhXE4W8LPSVb8pA4l0,868
64
+ metripy/Report/Html/DependencyPageRenderer.py,sha256=88WooqTQeGUe1v_qOm3OUQ06_gVn4NYMCGT8FVd1Xa8,906
65
65
  metripy/Report/Html/FilesPageRenderer.py,sha256=NUi8RpDMk_fHQZVFO4memz9t32-l2-6c-GmtlRmSQRI,957
66
66
  metripy/Report/Html/GitAnalysisPageRenderer.py,sha256=QEPLdzQS4SRIz-gjQ31zaoGTmColiw2nPVP7lf7Bu1g,2039
67
- metripy/Report/Html/IndexPageRenderer.py,sha256=ckxlJpuejNdmbnEiYXwIBO7AvUwYhqi7pFkoANZcyNI,1534
67
+ metripy/Report/Html/IndexPageRenderer.py,sha256=VISU_myuwlfk4IJ0rfAurHrfk-n3s1oH3cXAJg-ZgcM,1838
68
68
  metripy/Report/Html/PageRenderer.py,sha256=hWbZ11eO5GEqCwtJTtnstx0Ni0u3OQTHwnYA-qokHKU,1419
69
69
  metripy/Report/Html/PageRendererFactory.py,sha256=NnieU-d0rK3n1AmU8duTBVwEkYvllXiKtphwq34NdA8,1710
70
- metripy/Report/Html/Reporter.py,sha256=JDJ1sRL3KXB0_IESD1U1T0n7a1WUWN0jZyUDQOh6gpM,5449
70
+ metripy/Report/Html/Reporter.py,sha256=mrSOgaqI9gjD7lZtzfZXbF62idwKsryEcaKdT4ddZnM,6545
71
71
  metripy/Report/Html/TopOffendersPageRenderer.py,sha256=QTxoLuqaeiD7Ulxe0QaLXVEN5kcW6t8d0O96q-MM1U8,3136
72
- metripy/Report/Html/TrendsPageRenderer.py,sha256=g8I7JlIfmkOPuwoTKJvml10LFXPdO84VWVU5NqpHXog,4863
72
+ metripy/Report/Html/TrendsPageRenderer.py,sha256=ouDqQvMgTx4qW1Qmpl98yjfThsYx7WDIxmaqd8nQdks,5844
73
73
  metripy/Report/Json/AbstractJsonReporter.py,sha256=yqpBOO6MAN2HdhwoWOZ7Ler38WbV8DcG5g2oASXe-i8,343
74
74
  metripy/Report/Json/GitJsonReporter.py,sha256=kzWXKgoPF1k19bXL8gc728qZT4PlBZdWXXUXG20o0oc,968
75
75
  metripy/Report/Json/JsonReporter.py,sha256=teDETahhX0XdvM3TT8U8rqAyQrs_VTMq1aaz7vkD3YQ,607
@@ -77,9 +77,20 @@ metripy/Tree/ClassNode.py,sha256=gsoVTKF2iC5yxksI23fIvYakfElzF-NA43Lj0wDW9OM,162
77
77
  metripy/Tree/FunctionNode.py,sha256=EcoAdjeMC9XB7NE6BGJLqDuTO6r-YlwBQfsyl_AupLU,3540
78
78
  metripy/Tree/ModuleNode.py,sha256=YHlkAJKWWjy1oAhg7IdrvYnTOxpBYnq_VJS_ykey5_Y,1238
79
79
  metripy/Trend/TrendAnalyzer.py,sha256=Rm0VfxjN61O2-FxhIP8CFO6OT4j9JI7f7kRhJ0GLmBM,6926
80
- metripy-0.3.2.dist-info/licenses/LICENSE,sha256=7I-LBXpo2Lveofzf06uDAmq0wPN7zbMwInrQZiQCiwc,1063
81
- metripy-0.3.2.dist-info/METADATA,sha256=WRZvJcybLpBzQYks_OHcGWtorbVL1WG9boahNgo9RlA,4190
82
- metripy-0.3.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
83
- metripy-0.3.2.dist-info/entry_points.txt,sha256=vZI1vreNyXX9XGDUQlOnE2cSBRWNyXOlXXFnEBsVNIA,49
84
- metripy-0.3.2.dist-info/top_level.txt,sha256=Z-tn-27QGcxzNrsRq7BNPQv2BlXJnMCp8bp2sPdde1Y,8
85
- metripy-0.3.2.dist-info/RECORD,,
80
+ metripy/templates/html_report/dependencies.html,sha256=VtYpzQNuQfyMPHkJEA4NuBWh6P8XHHUmXINgZh_YZAo,13890
81
+ metripy/templates/html_report/files.html,sha256=ZBNNac90Oc3gUwNEqsKC7KEFvkI8xXZLOvy1tIgBI_c,36176
82
+ metripy/templates/html_report/git_analysis.html,sha256=9OiDsRzk3-hkcz8pcIRqAOWMpFZdRSWBYcZQwYO9ZlA,15422
83
+ metripy/templates/html_report/index.html,sha256=xTdkOTZE_oKZxQaOUbglMDdl3UM3RJY1eqBrh2gCJS0,18536
84
+ metripy/templates/html_report/top_offenders.html,sha256=DVptk2JhX5Lu4WqB8SgVMfjkV2R94Qd9RqvYLwjA6aI,9643
85
+ metripy/templates/html_report/trends.html,sha256=1YyZJImaEs5XVFQoitd7lOdIEa7AKTdzK8t2SsT8k1c,30110
86
+ metripy/templates/html_report/css/styles.css,sha256=cN3ZFN5SdXw9IFBGvybILcUy9FGEZqGghcr4763ZLtQ,29227
87
+ metripy/templates/html_report/images/logo.svg,sha256=59gZXNLrZdKaefBoZMog8UPyyNj_TuNEZQKrO01fqf0,1071
88
+ metripy/templates/html_report/js/charts.js,sha256=1L3me_UVWBjLVyNyKQ9v19etd0u31jnCvbpyGaX-0Go,10127
89
+ metripy/templates/html_report/js/dashboard.js,sha256=RdV2GTFEm5Cc7oqGPxfsYUCt3lTmOzaZ9sUN60Vl1mE,19965
90
+ metripy/templates/html_report/js/git_analysis.js,sha256=GxtmRyouS55bgKPvdko4-AxywFvx1V7x3HuCjRZczk4,12798
91
+ metripy-0.3.7.dist-info/licenses/LICENSE,sha256=7I-LBXpo2Lveofzf06uDAmq0wPN7zbMwInrQZiQCiwc,1063
92
+ metripy-0.3.7.dist-info/METADATA,sha256=4dABg_5vgZaQyAUpKlfAwn56oLmM8_4cqomnBAy7BNk,4190
93
+ metripy-0.3.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
94
+ metripy-0.3.7.dist-info/entry_points.txt,sha256=vZI1vreNyXX9XGDUQlOnE2cSBRWNyXOlXXFnEBsVNIA,49
95
+ metripy-0.3.7.dist-info/top_level.txt,sha256=Z-tn-27QGcxzNrsRq7BNPQv2BlXJnMCp8bp2sPdde1Y,8
96
+ metripy-0.3.7.dist-info/RECORD,,