Skip to main content

An OpenSource Python package for the extraction of fine-grained and time-stamped co-editing networks from git repositories.

Project description

git2net

git2net is an Open Source Python package that facilitates the extraction of co-editing networks from git repositories.

Download and installation

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.

How to use git2net

Tutorials

After installation, we suggest to check out our tutorials, detailing how to get started using git2net. We currently provide five 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.

Binder NBViewer

In addition, we provide links to the individual tutorial notebooks below:

Tutorial Binder Google Colab NBViewer
1. Cloning a repository for analysis Binder Open Cloning Tutorial In Google Colab NBViewer
2. Mining git repositories with git2net Binder Open Mining Tutorial In Google Colab NBViewer
3. Author disambiguation with gambit Binder Open Disambiguation Tutorial In Google Colab NBViewer
4. Network analysis with pathpy Binder Open Network Tutorial In Google Colab NBViewer
5. Database-based analyses Binder Open Database Tutorial In Google Colab NBViewer

Documentation

git2net's documentation is available at git2net.readthedocs.io.

Usage examples

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.

DOI

How to cite git2net

@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}
}

License

This software is licensed under the GNU Affero General Public License v3 (AGPL-3.0).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git2net-1.5.7.tar.gz (42.8 kB view details)

Uploaded Source

Built Distribution

git2net-1.5.7-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file git2net-1.5.7.tar.gz.

File metadata

  • Download URL: git2net-1.5.7.tar.gz
  • Upload date:
  • Size: 42.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for git2net-1.5.7.tar.gz
Algorithm Hash digest
SHA256 3cd16da0b533a9477382deef5a9a1988628ebbc551bc46ec80ae022bb72ce0f0
MD5 1d17049b667e875184b2af98bfd65d5b
BLAKE2b-256 f719f20e1bedf09d6ee0fec29108ed506ec5881f030f05599d1d2e8a7cf1edb4

See more details on using hashes here.

Provenance

File details

Details for the file git2net-1.5.7-py3-none-any.whl.

File metadata

  • Download URL: git2net-1.5.7-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for git2net-1.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1a9fa7ecccbffb2615d5176131f3427bcc7d35af133adaf82495ffcc22072c03
MD5 e9b493739993209acc3137c004a6fcd7
BLAKE2b-256 da3bdc74d5c01721ed4dcf0eab38e5b0ae0900088692ae623833fce97fc87144

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page