SSL Metrics - Git History (LOC/KLOC) Analysis
Project description
SSL Metrics git Commit LOC Extractor
This is a proof of concept demonstrating that it is possible to use
gitto extract various Lines of Code (LOC) data from a repository and graph various metrics from it
About
This is a proof of concept demonstrating that it is possible to use git to extract various Lines of Code (LOC) data from a repository and graph various metrics from it.
This software extracts LOC, Delta LOC, and KLOC (LOC / 1000) for every commit within a singular branch of a local git repository and stores it within a .json file.
This file can then be piped into a bundled graphing utility to graph the following for LOC, Delta LOC, and KLOC:
- Actual data
- Trend line
- Velocity of trend line
- Acceleration of trend line
The graphs can be saved as a .png, .pdf, or any compatible format that matplotlib supports.
How to Run
Installation
From pip
- Install
Python 3.9.6 + - (Recommended) Create a virtual environment with
python3.9 -m venv envand activate it - Run
pip install ssl-metrics-git-commits-loc - Generate a JSON data set with
ssl-metrics-git-commits-loc-extract -d DIRECTORY -b BRANCH -o FILENAME.json - Generate graphs with
ssl-metrics-git-commits-loc-graph -i FILENAME.json -l LOC_GRAPH_FILENAME.* -d DELTA_LOC_GRAPH_FILENAME.* -k K_LOC_GRAPH_FILENAME.* -m ESTIMATED_POLYNOMIAL_DEGREE -r REPOSITORY_NAME
Command Line Arguments
ssl-metrics-git-commits-loc-extract
-h,--help: Shows the help menu and exits-d,--directory: Directory where the.gitfolder is located-b,--branch: Git branch to analyze-o,--output: Output analysis to JSON file
ssl-metrics-git-commits-loc-graph
-h,--help: Shows the help menu and exits-i,--input: The input data file that will be read to create the graphs-l,--graph-loc-filename: The filename to output the LOC graph to-d,--graph-delta-loc-filename: The filename to output the Delta LOC graph to-k,--graph-k-loc-filename: The filename to output the K LOC graph to-m,--maximum-degree-polynomial: Estimated maximum degree of polynomial-r,--repository-name: Name of the repository that is being analyzed--x-window-min: The smallest x value that will be plotted--x-window-max: The largest x value that will be plotted
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssl-metrics-git-commits-loc-0.8.tar.gz.
File metadata
- Download URL: ssl-metrics-git-commits-loc-0.8.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8d55a910741b19807527abb8c0bc618110eb5aba0eb41cc288a0a7f1e2c2b92
|
|
| MD5 |
a3dac81254b63b3ad30b5344d7923aec
|
|
| BLAKE2b-256 |
7a86cb1d16d3c214dd8e5b4ac7f7a341d24d5bdaf98ea0f0895bae4c86ab49df
|
File details
Details for the file ssl_metrics_git_commits_loc-0.8-py3-none-any.whl.
File metadata
- Download URL: ssl_metrics_git_commits_loc-0.8-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdd07860d9589c420fb67445c8a509f6995efd4b50a1baddaf74e3b46e291703
|
|
| MD5 |
14c9bd9a56c866e30703e1d8b529cd9e
|
|
| BLAKE2b-256 |
b0cc6743cb26b523c17b94082a90062a9743c892fd3fa46b042e613f316b9470
|