Skip to main content

UNKNOWN

Project description

Commit Entropy is a tool that can be used to calculate the entropy of changes in a source code repository. Entropy for code changes is a measure of how specific each commit was in relation to the entire code base. Very specific commits only affect a small set of files, and thus have a low entropy. Commits that touch a large number of files are much less specific and have a higher entropy as a result.

The term Entropy in this context is a simplified application of Shannon Entropy to commits in a source repository. It’s simplified since we only look at the number of files changed each commit, with each file having an equal probability.

Read more about entropy on our blog.

Installation

Commit Entropy currently supports Python 3.x. It can be installed using pip.

pip install commit-entropy

This will install the commit-entropy executable on your path.

If you don’t have pip, you can install it manually by cloning the code and running the install script:

git clone git@github.com:GripQA/commit-entropy.git
cd commit-entropy
python setup.py install

Usage

Currently we support a single operation: exporting a csv file with the average entropy per day and a 30-day rolling average. From within a git repo:

commit-entropy csv

This will output a entropy.csv file in the current directory with the average entropy values.

You can ignore a list of paths by using the --ignore option:

commit-entropy csv --ignore=vendor/*,*.log

Support

If you have any questions, problems, or suggestions, please submit an issue or contact us at support@grip.qa.

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

commit-entropy-0.2.0.tar.gz (6.1 kB view details)

Uploaded Source

File details

Details for the file commit-entropy-0.2.0.tar.gz.

File metadata

File hashes

Hashes for commit-entropy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 39ef035129b63f3a80ec90fa9949e887680879caa6130bad4e8fcae629a95872
MD5 7a77d8b3d342153879802fce10d2baab
BLAKE2b-256 d3948a943d511f2d1d998614cd0dec57ed28ccd20d3e1e280e9bf016d148ef2f

See more details on using hashes here.

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