gitflow-analytics 1.0.0__py3-none-any.whl → 1.0.3__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 (58) hide show
  1. gitflow_analytics/__init__.py +11 -9
  2. gitflow_analytics/_version.py +2 -2
  3. gitflow_analytics/cli.py +691 -243
  4. gitflow_analytics/cli_rich.py +353 -0
  5. gitflow_analytics/config.py +389 -96
  6. gitflow_analytics/core/analyzer.py +175 -78
  7. gitflow_analytics/core/branch_mapper.py +132 -132
  8. gitflow_analytics/core/cache.py +242 -173
  9. gitflow_analytics/core/identity.py +214 -178
  10. gitflow_analytics/extractors/base.py +13 -11
  11. gitflow_analytics/extractors/story_points.py +70 -59
  12. gitflow_analytics/extractors/tickets.py +111 -88
  13. gitflow_analytics/integrations/github_integration.py +91 -77
  14. gitflow_analytics/integrations/jira_integration.py +284 -0
  15. gitflow_analytics/integrations/orchestrator.py +99 -72
  16. gitflow_analytics/metrics/dora.py +183 -179
  17. gitflow_analytics/models/database.py +191 -54
  18. gitflow_analytics/qualitative/__init__.py +30 -0
  19. gitflow_analytics/qualitative/classifiers/__init__.py +13 -0
  20. gitflow_analytics/qualitative/classifiers/change_type.py +468 -0
  21. gitflow_analytics/qualitative/classifiers/domain_classifier.py +399 -0
  22. gitflow_analytics/qualitative/classifiers/intent_analyzer.py +436 -0
  23. gitflow_analytics/qualitative/classifiers/risk_analyzer.py +412 -0
  24. gitflow_analytics/qualitative/core/__init__.py +13 -0
  25. gitflow_analytics/qualitative/core/llm_fallback.py +653 -0
  26. gitflow_analytics/qualitative/core/nlp_engine.py +373 -0
  27. gitflow_analytics/qualitative/core/pattern_cache.py +457 -0
  28. gitflow_analytics/qualitative/core/processor.py +540 -0
  29. gitflow_analytics/qualitative/models/__init__.py +25 -0
  30. gitflow_analytics/qualitative/models/schemas.py +272 -0
  31. gitflow_analytics/qualitative/utils/__init__.py +13 -0
  32. gitflow_analytics/qualitative/utils/batch_processor.py +326 -0
  33. gitflow_analytics/qualitative/utils/cost_tracker.py +343 -0
  34. gitflow_analytics/qualitative/utils/metrics.py +347 -0
  35. gitflow_analytics/qualitative/utils/text_processing.py +243 -0
  36. gitflow_analytics/reports/analytics_writer.py +25 -8
  37. gitflow_analytics/reports/csv_writer.py +60 -32
  38. gitflow_analytics/reports/narrative_writer.py +21 -15
  39. gitflow_analytics/tui/__init__.py +5 -0
  40. gitflow_analytics/tui/app.py +721 -0
  41. gitflow_analytics/tui/screens/__init__.py +8 -0
  42. gitflow_analytics/tui/screens/analysis_progress_screen.py +487 -0
  43. gitflow_analytics/tui/screens/configuration_screen.py +547 -0
  44. gitflow_analytics/tui/screens/loading_screen.py +358 -0
  45. gitflow_analytics/tui/screens/main_screen.py +304 -0
  46. gitflow_analytics/tui/screens/results_screen.py +698 -0
  47. gitflow_analytics/tui/widgets/__init__.py +7 -0
  48. gitflow_analytics/tui/widgets/data_table.py +257 -0
  49. gitflow_analytics/tui/widgets/export_modal.py +301 -0
  50. gitflow_analytics/tui/widgets/progress_widget.py +192 -0
  51. gitflow_analytics-1.0.3.dist-info/METADATA +490 -0
  52. gitflow_analytics-1.0.3.dist-info/RECORD +62 -0
  53. gitflow_analytics-1.0.0.dist-info/METADATA +0 -201
  54. gitflow_analytics-1.0.0.dist-info/RECORD +0 -30
  55. {gitflow_analytics-1.0.0.dist-info → gitflow_analytics-1.0.3.dist-info}/WHEEL +0 -0
  56. {gitflow_analytics-1.0.0.dist-info → gitflow_analytics-1.0.3.dist-info}/entry_points.txt +0 -0
  57. {gitflow_analytics-1.0.0.dist-info → gitflow_analytics-1.0.3.dist-info}/licenses/LICENSE +0 -0
  58. {gitflow_analytics-1.0.0.dist-info → gitflow_analytics-1.0.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,62 @@
1
+ gitflow_analytics/__init__.py,sha256=yN1dyAUu4l9qX-YNAGRItEf4RFFe-5GQiOntXPIfdxo,683
2
+ gitflow_analytics/_version.py,sha256=K1RfTm9uAPTEUj21mrxdqQ3kT2CuA6F1ML8t6HzEZwk,137
3
+ gitflow_analytics/cli.py,sha256=xHfdi9qYNgy2My78paWsFYPZg5Exo3fJXHmw7liI4Sw,37378
4
+ gitflow_analytics/cli_rich.py,sha256=FqOBGWNqTmxD2BHfmqtHWvHx4AFO-FgOTRwtx9eOEHE,13604
5
+ gitflow_analytics/config.py,sha256=08f5n9FFfA2wj-tEHQwYrQzBT42GSKURzhZgWRzTk0w,20966
6
+ gitflow_analytics/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ gitflow_analytics/core/analyzer.py,sha256=RgdfpH8tCjJJRKAhZGSiGQ83F-ekGQ9YtL4hf8r-rNw,10737
8
+ gitflow_analytics/core/branch_mapper.py,sha256=1L1ctrhTEqMZ61eS1nZRkcyaarLipeQgotw4HdXcSmM,7407
9
+ gitflow_analytics/core/cache.py,sha256=LIrp4O5GQfMvvgW_rG8zHr8vurYOsH6Du5u3Exh8S9k,14292
10
+ gitflow_analytics/core/identity.py,sha256=vcPcvKyIgf3gIjrdamW_ma7av6igK89ZH-1AZ0pQWMQ,17191
11
+ gitflow_analytics/extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ gitflow_analytics/extractors/base.py,sha256=AKbYkFiMhNxVj7zfNzsJfh0rpyTdNr4Faea3bcZPPBo,1168
13
+ gitflow_analytics/extractors/story_points.py,sha256=oS8nb0PWkZfhq3Jq14Hf_OMZN_tQwJWw9Dqc8ur5Kuk,5044
14
+ gitflow_analytics/extractors/tickets.py,sha256=erXzMPBTv2Wx2lbXE9HeOm0cy6hHu1pF6ZaQG6KATqg,7233
15
+ gitflow_analytics/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ gitflow_analytics/integrations/github_integration.py,sha256=0v9CtXQ6IhDCQBfoh_etAwiEFiPeHWTy0HQBtoItQBs,6437
17
+ gitflow_analytics/integrations/jira_integration.py,sha256=DRBXqILinsuyON8lxmhT-hRFhB85StX0DD3d7JMu808,10240
18
+ gitflow_analytics/integrations/orchestrator.py,sha256=KtBm3LBtwOK41azL3S1SYcpVuoJbGDy2BvojA7_rJEU,5732
19
+ gitflow_analytics/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
+ gitflow_analytics/metrics/dora.py,sha256=H86NSqSL7ngWapt09w_mGGSVwpv04Dth8e5q4ZGar3I,12053
21
+ gitflow_analytics/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ gitflow_analytics/models/database.py,sha256=EUalU5RaQ8WB5idQSIw45rrpnyn-305j8tL9UnI0wxQ,10015
23
+ gitflow_analytics/qualitative/__init__.py,sha256=KUMF-RPpItm1ZcgVGRXeLkU12T1G0xDsowFdsGp0_so,886
24
+ gitflow_analytics/qualitative/classifiers/__init__.py,sha256=GSjcSNFzbtPfY6cMINExTd2Mssb7xJpRPeXmJRW22bc,348
25
+ gitflow_analytics/qualitative/classifiers/change_type.py,sha256=9EKbwFs8x4hV2J_57DZTYRDVeMm9YTRI25q6ySQMDTU,17828
26
+ gitflow_analytics/qualitative/classifiers/domain_classifier.py,sha256=azGjMpHLanm-rkZCZnihvHCukC0H9Cp5RiOx32Jwcc0,14881
27
+ gitflow_analytics/qualitative/classifiers/intent_analyzer.py,sha256=jfRPJUr3XgbEpwJ6CL-zyMCMZrkfhy2XisMdht-XK-M,16354
28
+ gitflow_analytics/qualitative/classifiers/risk_analyzer.py,sha256=XDt0CTv_ALqON47GEFoUvkC631084bDzrUIr99U2KBY,15395
29
+ gitflow_analytics/qualitative/core/__init__.py,sha256=1QkGWNhkWnVRWNCDuLUCYSrt1CM4hNwms33trBcCKEs,315
30
+ gitflow_analytics/qualitative/core/llm_fallback.py,sha256=8HQ-ekp9gevquvhiZotNhIXkWe7ir9N6gCVUAswUCt0,25206
31
+ gitflow_analytics/qualitative/core/nlp_engine.py,sha256=erde27Nag6YTbAbtk9Nb3Tm9rpnm8kwOW76Q1R4QvZI,14463
32
+ gitflow_analytics/qualitative/core/pattern_cache.py,sha256=4cFpYOEIEai8BXeTaHhGLilfnV0a_yLJ0ttlBWOTV8k,18985
33
+ gitflow_analytics/qualitative/core/processor.py,sha256=UqS2YWd0KFxhR8QoCV1x7KQg7worYB5aLUwXY0NhKX0,22329
34
+ gitflow_analytics/qualitative/models/__init__.py,sha256=VV4s_5_VvK4lPvRktdT_K0DGRx65rzQ4oB8NjQGFIfg,458
35
+ gitflow_analytics/qualitative/models/schemas.py,sha256=8T8BAUju7c3aQMZN4XyBB5P0Vn5TLdx0JANxkHXHw2g,10357
36
+ gitflow_analytics/qualitative/utils/__init__.py,sha256=M_zkw--7cDuWbUq-_pXzMIwkz-pqC6fmncz2INPPggU,320
37
+ gitflow_analytics/qualitative/utils/batch_processor.py,sha256=34Zh4KTPwn0JRk7D9bPj4eTK_F0iJPL_v3bHN4QtJ0g,12335
38
+ gitflow_analytics/qualitative/utils/cost_tracker.py,sha256=-NiIAIZUNDEfWqXZmumqyigN7QUuRnmJjIgdHXnQARQ,12709
39
+ gitflow_analytics/qualitative/utils/metrics.py,sha256=_TLFRsx5cYUOsBJix_VtCZv6mhoC_QXWGfIegnjai10,13443
40
+ gitflow_analytics/qualitative/utils/text_processing.py,sha256=RoZChe3je_M617HNxZSwPm3uTIrVJPvMSBB1ldz9LGg,9195
41
+ gitflow_analytics/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ gitflow_analytics/reports/analytics_writer.py,sha256=hpIMQMNvoD0srSfSAPTvZzyKvk9i3K_uz9OkBXNDY8Y,19870
43
+ gitflow_analytics/reports/csv_writer.py,sha256=XWaeL6Avj0TW6cQ_0Tl-5wNLT7XcDCJjuyqEK584Fig,14053
44
+ gitflow_analytics/reports/narrative_writer.py,sha256=HTUG44sKkO0kLStqHDFOiVi2LXcG_BUCDPf34kwAfGE,13048
45
+ gitflow_analytics/tui/__init__.py,sha256=fySf6x1-WQuyvXA0qKsBpgNFW9Akazi5WdvwYHeSi9I,125
46
+ gitflow_analytics/tui/app.py,sha256=LL0jTUuGYDFuPGojM6_2ecp2o3sf7bLfI_9BY_AaQO0,22756
47
+ gitflow_analytics/tui/screens/__init__.py,sha256=KuXesK7UNaJEvzpQ83lMhe1UGWmgRNtTrUOL8cnDJBU,326
48
+ gitflow_analytics/tui/screens/analysis_progress_screen.py,sha256=xW4oNcPyxksysjBdQNof1C3trqYXJItj1LcY751Od1k,21490
49
+ gitflow_analytics/tui/screens/configuration_screen.py,sha256=uT9nKlcF1ZMw7Y6dQnZDkFuoeKa5mSsvvk-2zOpJ8K8,20207
50
+ gitflow_analytics/tui/screens/loading_screen.py,sha256=cRuebJDZ9SSV8naaMolOD9BeDtakjrSQa8BgK1ioHtY,15351
51
+ gitflow_analytics/tui/screens/main_screen.py,sha256=AW0lJBVs_uB4VrP79_TdO33xkwWwMYXWj9ijZR116B4,11735
52
+ gitflow_analytics/tui/screens/results_screen.py,sha256=zfR6JIMbKNAIAuqhT4dyss7H9F0pFvjphEUEKjC5TJU,29608
53
+ gitflow_analytics/tui/widgets/__init__.py,sha256=l4U-2_DmxEm4wgjK0OS9KthI-9KBWY0d_k49PAbqTqc,258
54
+ gitflow_analytics/tui/widgets/data_table.py,sha256=FLBUZBN_LJ527NMyhKjnxVUGm95VopIB8xRbwLShTgI,9050
55
+ gitflow_analytics/tui/widgets/export_modal.py,sha256=rXbjgnfqy1vi4dm3qpk4Ng1pX7w_zfj8aUlYZbIjwII,11189
56
+ gitflow_analytics/tui/widgets/progress_widget.py,sha256=L0L5h5PlClajLUT0tH4MriRRCXEw359BoZwPPbP0xlw,6504
57
+ gitflow_analytics-1.0.3.dist-info/licenses/LICENSE,sha256=xwvSwY1GYXpRpmbnFvvnbmMwpobnrdN9T821sGvjOY0,1066
58
+ gitflow_analytics-1.0.3.dist-info/METADATA,sha256=Z2wxKlmDXtipMIyqY56hEZ3ULg0gN-SsUQcvPXPCa-U,13703
59
+ gitflow_analytics-1.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
60
+ gitflow_analytics-1.0.3.dist-info/entry_points.txt,sha256=a3y8HnfLOvK1QVOgAkDY6VQXXm3o9ZSQRZrpiaS3hEM,65
61
+ gitflow_analytics-1.0.3.dist-info/top_level.txt,sha256=CQyxZXjKvpSB1kgqqtuE0PCRqfRsXZJL8JrYpJKtkrk,18
62
+ gitflow_analytics-1.0.3.dist-info/RECORD,,
@@ -1,201 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: gitflow-analytics
3
- Version: 1.0.0
4
- Summary: Analyze Git repositories for developer productivity insights
5
- Author-email: Bob Matyas <bobmatnyc@gmail.com>
6
- License: MIT
7
- Project-URL: Homepage, https://github.com/bobmatnyc/gitflow-analytics
8
- Project-URL: Documentation, https://github.com/bobmatnyc/gitflow-analytics/blob/main/README.md
9
- Project-URL: Repository, https://github.com/bobmatnyc/gitflow-analytics
10
- Project-URL: Issues, https://github.com/bobmatnyc/gitflow-analytics/issues
11
- Keywords: git,analytics,productivity,metrics,development
12
- Classifier: Development Status :: 5 - Production/Stable
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.8
17
- Classifier: Programming Language :: Python :: 3.9
18
- Classifier: Programming Language :: Python :: 3.10
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Topic :: Software Development :: Version Control :: Git
22
- Classifier: Topic :: Software Development :: Quality Assurance
23
- Requires-Python: >=3.8
24
- Description-Content-Type: text/markdown
25
- License-File: LICENSE
26
- Requires-Dist: click>=8.1
27
- Requires-Dist: gitpython>=3.1
28
- Requires-Dist: tqdm>=4.65
29
- Requires-Dist: sqlalchemy>=2.0
30
- Requires-Dist: pandas>=2.0
31
- Requires-Dist: pyyaml>=6.0
32
- Requires-Dist: python-dateutil>=2.8
33
- Provides-Extra: dev
34
- Requires-Dist: pytest>=7.0; extra == "dev"
35
- Requires-Dist: pytest-cov>=4.0; extra == "dev"
36
- Requires-Dist: pytest-mock>=3.0; extra == "dev"
37
- Requires-Dist: ruff>=0.1.0; extra == "dev"
38
- Requires-Dist: mypy>=1.0; extra == "dev"
39
- Requires-Dist: black>=23.0; extra == "dev"
40
- Provides-Extra: github
41
- Requires-Dist: pygithub>=1.58; extra == "github"
42
- Provides-Extra: all
43
- Requires-Dist: gitflow-analytics[github]; extra == "all"
44
- Dynamic: license-file
45
-
46
- # GitFlow Analytics
47
-
48
- A Python package for analyzing Git repositories to generate comprehensive developer productivity reports. It extracts data directly from Git history and GitHub APIs, providing weekly summaries, productivity insights, and gap analysis.
49
-
50
- ## Features
51
-
52
- - 🚀 **Multi-repository analysis** with project grouping
53
- - 👥 **Developer identity resolution** and normalization
54
- - 📊 **Work volume analysis** (absolute vs relative effort)
55
- - 🎯 **Story point extraction** from commit messages and PR descriptions
56
- - 🎫 **Multi-platform ticket tracking** (JIRA, GitHub Issues, ClickUp, Linear)
57
- - 📈 **Weekly CSV reports** with productivity metrics
58
- - 🔒 **Data anonymization** for external sharing
59
- - ⚡ **Smart caching** for fast repeated analyses
60
- - 🔄 **Batch processing** for large repositories
61
-
62
- ## Quick Start
63
-
64
- ### Installation
65
-
66
- ```bash
67
- pip install gitflow-analytics
68
- ```
69
-
70
- ### Basic Usage
71
-
72
- 1. Create a configuration file (`config.yaml`):
73
-
74
- ```yaml
75
- version: "1.0"
76
-
77
- github:
78
- token: "${GITHUB_TOKEN}"
79
- owner: "${GITHUB_OWNER}"
80
-
81
- repositories:
82
- - name: "frontend"
83
- path: "~/repos/frontend"
84
- github_repo: "myorg/frontend"
85
- project_key: "FRONTEND"
86
-
87
- - name: "backend"
88
- path: "~/repos/backend"
89
- github_repo: "myorg/backend"
90
- project_key: "BACKEND"
91
-
92
- analysis:
93
- story_point_patterns:
94
- - "(?:story\\s*points?|sp|pts?)\\s*[:=]\\s*(\\d+)"
95
- - "\\[(\\d+)\\s*(?:sp|pts?)\\]"
96
- ```
97
-
98
- 2. Set environment variables:
99
-
100
- ```bash
101
- export GITHUB_TOKEN=your_github_token
102
- export GITHUB_OWNER=your_github_org
103
- ```
104
-
105
- 3. Run the analysis:
106
-
107
- ```bash
108
- gitflow-analytics analyze -c config.yaml
109
- ```
110
-
111
- ## Command Line Interface
112
-
113
- ### Main Commands
114
-
115
- ```bash
116
- # Analyze repositories
117
- gitflow-analytics analyze -c config.yaml --weeks 12 --output ./reports
118
-
119
- # Show cache statistics
120
- gitflow-analytics cache-stats -c config.yaml
121
-
122
- # List known developers
123
- gitflow-analytics list-developers -c config.yaml
124
-
125
- # Merge developer identities
126
- gitflow-analytics merge-identity -c config.yaml dev1_id dev2_id
127
- ```
128
-
129
- ### Options
130
-
131
- - `--weeks, -w`: Number of weeks to analyze (default: 12)
132
- - `--output, -o`: Output directory for reports (default: ./reports)
133
- - `--anonymize`: Anonymize developer information
134
- - `--no-cache`: Disable caching for fresh analysis
135
- - `--clear-cache`: Clear cache before analysis
136
- - `--validate-only`: Validate configuration without running
137
-
138
- ## Output Reports
139
-
140
- The tool generates three CSV reports:
141
-
142
- 1. **Weekly Metrics** (`weekly_metrics_YYYYMMDD.csv`)
143
- - Week-by-week developer productivity
144
- - Story points, commits, lines changed
145
- - Ticket coverage percentages
146
- - Per-project breakdown
147
-
148
- 2. **Summary Statistics** (`summary_YYYYMMDD.csv`)
149
- - Overall project statistics
150
- - Platform-specific ticket counts
151
- - Top contributors
152
-
153
- 3. **Developer Report** (`developers_YYYYMMDD.csv`)
154
- - Complete developer profiles
155
- - Total contributions
156
- - Identity aliases
157
-
158
- ## Story Point Patterns
159
-
160
- Configure custom regex patterns to match your team's story point format:
161
-
162
- ```yaml
163
- story_point_patterns:
164
- - "SP: (\\d+)" # SP: 5
165
- - "\\[([0-9]+) pts\\]" # [3 pts]
166
- - "estimate: (\\d+)" # estimate: 8
167
- ```
168
-
169
- ## Ticket Platform Support
170
-
171
- Automatically detects and tracks tickets from:
172
- - **JIRA**: `PROJ-123`
173
- - **GitHub**: `#123`, `GH-123`
174
- - **ClickUp**: `CU-abc123`
175
- - **Linear**: `ENG-123`
176
-
177
- ## Caching
178
-
179
- The tool uses SQLite for intelligent caching:
180
- - Commit analysis results
181
- - Developer identity mappings
182
- - Pull request data
183
-
184
- Cache is automatically managed with configurable TTL.
185
-
186
- ## Developer Identity Resolution
187
-
188
- Intelligently merges developer identities across:
189
- - Different email addresses
190
- - Name variations
191
- - GitHub usernames
192
-
193
- Manual overrides supported in configuration.
194
-
195
- ## Contributing
196
-
197
- Contributions are welcome! Please feel free to submit a Pull Request.
198
-
199
- ## License
200
-
201
- This project is licensed under the MIT License - see the LICENSE file for details.
@@ -1,30 +0,0 @@
1
- gitflow_analytics/__init__.py,sha256=Ur3taLHb9eO5P1T-hi2llyCkHTKhk1hLuurxcp9hLQs,639
2
- gitflow_analytics/_version.py,sha256=l0-c8EmumJVRuJG4Iyn8ezTW00USlPFUPNchN-DwoDs,136
3
- gitflow_analytics/cli.py,sha256=viyQeAWyf1bdH1iwsy1GHleaMaMhA3PkjAp0VuEF9zA,16707
4
- gitflow_analytics/config.py,sha256=23CBJS2qiYFbcG4JMFCRUyQ4JpK5sF3Qp4bcvyH3lkU,8421
5
- gitflow_analytics/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- gitflow_analytics/core/analyzer.py,sha256=TpzyXuUpAzVpg1WZeB7oRFodn-R69hvhcjWZoCH96wg,7765
7
- gitflow_analytics/core/branch_mapper.py,sha256=3wh45lu_vaCev9rmXHTMOpqLQTxsjKFXAE6_WpjhOcc,7610
8
- gitflow_analytics/core/cache.py,sha256=RlfsoEe98kZ4xXe28dbLS7MapMem__XN3EoBU1v4q2c,11691
9
- gitflow_analytics/core/identity.py,sha256=RKzTNqtFWwqwPCo09ClT65rEanBY8UjXx2rV0mdwZmM,17091
10
- gitflow_analytics/extractors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- gitflow_analytics/extractors/base.py,sha256=0I_dmKiLmH7PNXNpDH5FDtOhmkMfnjJJOj4KA-GJuSo,1208
12
- gitflow_analytics/extractors/story_points.py,sha256=DuMNw78pw2A_k6us9lYfMFLqwVI5Ip6JMBPsSBDFxzU,5038
13
- gitflow_analytics/extractors/tickets.py,sha256=ghoPhwg1LFXF_h888MBt6nyY_Ni-w4eqakl4JSpeqIE,6230
14
- gitflow_analytics/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- gitflow_analytics/integrations/github_integration.py,sha256=qgUIpvtP7hRkshxX4QXQkIEdsrPDVSTDTfwfXvWxE1s,6344
16
- gitflow_analytics/integrations/orchestrator.py,sha256=3Itdo59LZ65Gjrjo4Fik_yzpcRLfH0DXrSJHLu-BGQo,4331
17
- gitflow_analytics/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- gitflow_analytics/metrics/dora.py,sha256=MLpOJX4ZxiBXxxk0jkpvj67Brgj0CcRHWD-cnsTDbL4,12765
19
- gitflow_analytics/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- gitflow_analytics/models/database.py,sha256=iE-ERPMpA7HE4livaLaoCmBF_N8L9UFtUzsfOffc5CI,5548
21
- gitflow_analytics/reports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- gitflow_analytics/reports/analytics_writer.py,sha256=yRzZwfYTANp1Glh2S02T6XBcXvTxEVOG1FZnewCs_d8,19054
23
- gitflow_analytics/reports/csv_writer.py,sha256=9ApngbIbGy9GfXm8EfkRcnSWGhQI-Iz-22F8ogWW3Hs,12611
24
- gitflow_analytics/reports/narrative_writer.py,sha256=fyQyXbaYG1Bvoec5kdB9JH2NYP4ov3w0NIpu6nORFdQ,12758
25
- gitflow_analytics-1.0.0.dist-info/licenses/LICENSE,sha256=xwvSwY1GYXpRpmbnFvvnbmMwpobnrdN9T821sGvjOY0,1066
26
- gitflow_analytics-1.0.0.dist-info/METADATA,sha256=SSoW_ptXcv0m_1ap1eNi1G54lvFnUzgQHfNpDmNfZK0,5765
27
- gitflow_analytics-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
- gitflow_analytics-1.0.0.dist-info/entry_points.txt,sha256=a3y8HnfLOvK1QVOgAkDY6VQXXm3o9ZSQRZrpiaS3hEM,65
29
- gitflow_analytics-1.0.0.dist-info/top_level.txt,sha256=CQyxZXjKvpSB1kgqqtuE0PCRqfRsXZJL8JrYpJKtkrk,18
30
- gitflow_analytics-1.0.0.dist-info/RECORD,,