Skip to main content

CLIME Commits

DOI Release Project

A tool to extract and compute the lines of code (LOC), thousands of lines of code (KLOC), delta lines of code (DLOC), and delta thousands of lines of code (DKLOC) of a Git repository per commit

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
  --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 clime-commits 0.11.3

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

Source distribution (sdist)

Source distribution for clime-commits 0.11.3
File Size Uploaded Provenance Actions
clime-commits-0.11.3.tar.gz 9.5 kB Without provenance Details for clime-commits-0.11.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for clime-commits 0.11.3
File Interpreter ABI Platform Actions
clime_commits-0.11.3-py3-none-any.whl Python 3 none any Details for clime_commits-0.11.3-py3-none-any.whl

Total release size: 18.5 kB

Release files / clime-commits-0.11.3.tar.gz

Download URL clime-commits-0.11.3.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ba408c539a21d0f068306f55d881c2f25e17907cb9890c58981d5c0a444b4b5b
BLAKE2b-256 checksum
How to use checksums
8b0ff45ead7637856727135bfa6de9c21d0ad875ccfa81b03d066d2fabcfb287
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release files / clime_commits-0.11.3-py3-none-any.whl

Download URL clime_commits-0.11.3-py3-none-any.whl
Size 9.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e88ed4de2ef1788d5b15cbad71c373913bfeae06fd04d1889c33c6adf295446
BLAKE2b-256 checksum
How to use checksums
8db00dc176d50e5ae6a3c03ac3c90e8332bdd0680ad268fcc6b6f88065fb1309
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Security for clime-commits 0.11.3

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