git2net
is an Open Source Python package that facilitates the extraction of co-editing networks
from git repositories.
git2net
is pure python
code. It has no platform-specific dependencies and thus works on all
platforms. The only requirement is a version of git >= 2.0
. Assuming you are using pip
, you can install latest version of git2net
by running:
> pip install git2net
This also installs the necessary dependencies. git2net
depends on the python-Levenshtein
package to compute Levenshtein distances for edited lines of code. On sytems running Windows, automatically compiling this C based module might fail during installation. In this case, unofficial Windows binaries can be found here, which might help you get started.
After installation, we suggest to check out our tutorials, detailing how to get started using git2net
.
We provide tutorials covering different aspects of analysing your repository with git2net
.
You can directly interact with the notebooks in Binder, or view them in NBViewer via the badges below.
In addition, we provide links to the individual tutorial notebooks below:
Tutorial | Binder | Google Colab | NBViewer |
---|---|---|---|
1. Cloning a repository for analysis | |||
2. Mining git repositories with git2net
|
|||
3. Author disambiguation with gambit
|
|||
4. Network analysis with pathpy
|
|||
5. Database-based analyses | |||
6. Computing file complexity git2net
|
git2net
's documentation is available at git2net.readthedocs.io.
We have published some motivating results as well as details on the mining algorithm in "git2net - Mining Time-Stamped Co-Editing Networks from Large git Repositories".
In "Analysing Time-Stamped Co-Editing Networks in Software Development Teams using git2net", we use git2net
to mine more than 1.2 million commits of over 25,000 developers. We use this data to test a hypothesis on the relation between developer productivity and co-editing patterns in software teams.
Finally, in "Big Data = Big Insights? Operationalising Brooks' Law in a Massive GitHub Data Set", we mine a corpus containing over 200 GitHub repositories using git2net
. Based on the resulting data, we study the relationship between team size and productivity in OSS development teams. If you want to use this extensive data set for your own study, we made it publicly available on zenodo.org.
@inproceedings{gote2019git2net,
title={git2net: {M}ining time-stamped co-editing networks from large git repositories},
author={Gote, Christoph and Scholtes, Ingo and Schweitzer, Frank},
booktitle={Proceedings of the 16th International Conference on Mining Software Repositories},
pages={433--444},
year={2019},
organization={IEEE Press}
}
@article{gote2021analysing,
title={Analysing time-stamped co-editing networks in software development teams using git2net},
author={Gote, Christoph and Scholtes, Ingo and Schweitzer, Frank},
journal={Empirical Software Engineering},
volume={26},
number={4},
pages={1--41},
year={2021},
publisher={Springer}
}
This software is licensed under the GNU Affero General Public License v3 (AGPL-3.0).