|
1 | 1 | # About this repository |
2 | 2 | Python scripts for investigating open source hardware GitHub repositories |
3 | 3 | ## Contents |
4 | | -* goMine.py : |
| 4 | +* `goMine.py` |
5 | 5 | * extracts metadata from GitHub API |
6 | 6 | * takes a lost of project references as input (a CSV where each line is a list of GitHub repository references <owner>/<repoName> affiliated to a project) |
7 | 7 | * produces for each project a JSON file with a reference all branches |
8 | 8 | * produces for each project a JSON file with all commits of all branches |
9 | | -* goCreateGraphs.py |
| 9 | +* `goCreateGraphs.py` |
10 | 10 | * takes as input a list of JSON files containing all commit information related to a project produced by goMine.py |
11 | 11 | * creates for each project the following graphs in GraphML: |
12 | 12 | * a commit graph (as seen in Insights/Network in GitHub) |
13 | 13 | * contributor graphs (where each node is a contributor and each edge is the edition of the same file by two contributors), filtered per filetype |
14 | 14 | * graphs of all committed file changes (one subgraph per file), filtered per filetype |
15 | | -* analysisActivityVolume.py |
| 15 | +* `analysisActivityVolume.py` |
16 | 16 | * computes indicators related to activity volume (number of file changes over time and per project) |
17 | 17 | * takes as input the graphs of file changes produced by goCreateGraphs.py |
18 | | -* analysisActivityDistribution.py |
| 18 | +* `analysisActivityDistribution.py` |
19 | 19 | * computes indicators related to activity distribution |
20 | 20 | * takes as input the contributor graphs produced by goCreateGraphs.py |
21 | 21 | * produces a CSV with computed indicators for all considered projects |
22 | | -* clustering.py |
| 22 | +* `clustering.py` |
23 | 23 | * apply a k-means clustering to the topological indicators computed on the contributor graphs |
24 | 24 | * takes as input the computed list of topological indicators produced by analysisActivityDistribution.py |
25 | | -* timeStop.py |
| 25 | +* `timeStop.py` |
26 | 26 | * just an untility to add timestamps in traces |
27 | 27 | ## Instructions |
28 | 28 | ... are given in the header of each script |
|
0 commit comments