Skip to main content

Software Systems Laboratory Metrics Git Commits Extractor

A python tool to extract commit information from a git repository

https://img.shields.io/badge/python-3.9.6%20%7C%203.10-blue DOI Release Project https://img.shields.io/badge/license-BSD--3-yellow

Table of Contents

About

The Software Systems Laboratory (SSL) GitHub Issue Spoilage Project is a python tool to extract commit information from a git repository.

This project is licensed under the BSD-3-Clause. See the LICENSE for more information.

Developer Tooling

To maximize the utility of this project and the greater SSL Metrics project, the following software packages are required:

Operating System

All tools developed for the greater SSL Metrics project must target Mac OS and Linux. SSL Metrics software is not supported or recommended to run on Windows but can be modified to do so at your own risk.

It is recomendded to develop on Mac OS or Linux. However, if you are on a Windows machine, you can use WSL to develop as well.

Python Tools

  • matplotlib
  • numpy
  • pandas
  • progress
  • python-dateutil
  • scikit-learn

Shell Tools

You will need the following shell software to run this application:

  • git
  • cloc
  • SLOCCount (optional)
  • jq

How To Use

Installation

You can install the tool via pip with either of the two following one-liners:

  • pip install --upgrade pip ssl-metrics-meta
  • pip install --upgrade pip ssl-metrics-git-commits-loc

Command Line Arguements

ssl-metrics-git-commits-loc-extract -h

options:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY
                        Directory containg the .git folder of the repository
                        to analyze
  -b BRANCH, --branch BRANCH
                        Branch of the Git repository to analyze. DEFAULT: HEAD
  -o OUTPUT, --output OUTPUT
                        JSON file to store the data. DEFAULT:
                        ./commits_loc.json
  --cloc CLOC           TXT file containing cloc options. DEFAULT:
                        options.txt. NOTE: This is an internal options file
                        used by the program and doesn't need to be specified/
                        created by you the user (you)

ssl-metrics-git-commits-loc-graph -h

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        JSON export from CLIME Git Commit Exploder. DEFAULT:
                        ./commits_loc.json
  -o OUTPUT, --output OUTPUT
                        Filename of the graph. DEFAULT: ./commits_loc.pdf
  -x X                  Key of the x values to use for graphing. DEFAULT:
                        author_days_since_0
  -y Y                  Key of the y values to use for graphing. DEFAULT:
                        lines_of_code
  --y-thousandths       Flag to divide the y values by 1000
  --type TYPE           Type of figure to plot. DEFAULT: line
  --title TITLE         Title of the figure. DEFAULT: ""
  --x-label X_LABEL     X axis label of the figure. DEFAULT: ""
  --y-label Y_LABEL     Y axis label of the figure. DEFAULT: ""
  --stylesheet STYLESHEET
                        Filepath of matplotlib stylesheet to use. DEFAULT:
                        style.mplstyle. NOTE: This is an internal stylesheet
                        used by the program and doesn't need to be specified/
                        created by you the user (you)

Metadata

Release files for ssl-metrics-git-commits-loc 0.10.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ssl-metrics-git-commits-loc 0.10.4
File Size Uploaded Provenance Actions
ssl-metrics-git-commits-loc-0.10.4.tar.gz 9.2 kB Without provenance Details for ssl-metrics-git-commits-loc-0.10.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ssl-metrics-git-commits-loc 0.10.4
File Interpreter ABI Platform Actions
ssl_metrics_git_commits_loc-0.10.4-py3-none-any.whl Python 3 none any Details for ssl_metrics_git_commits_loc-0.10.4-py3-none-any.whl

Total release size: 18.5 kB

Release files / ssl-metrics-git-commits-loc-0.10.4.tar.gz

Download URL ssl-metrics-git-commits-loc-0.10.4.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0c207fdaa361243db62771391a589df174ba768cdd6eca94d33c03b4ebb7f554
BLAKE2b-256 checksum
How to use checksums
3ec85657ca32b3c34e10b46069aeae7be907e6822a55778f497ac6898ecf7c88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release files / ssl_metrics_git_commits_loc-0.10.4-py3-none-any.whl

Download URL ssl_metrics_git_commits_loc-0.10.4-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7cfb603215b49af18d4b7fe9abf75038bbca47611c6431976805809ccca1d126
BLAKE2b-256 checksum
How to use checksums
05574e67d4f1e8a567fe145d57f2bb7d287be8764ce6d8b91822fc9f168b2269
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Security for ssl-metrics-git-commits-loc 0.10.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page