Skip to main content

CLIME - Commits Extractor

Project description

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)

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

clime-commits-0.11.3.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

clime_commits-0.11.3-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file clime-commits-0.11.3.tar.gz.

File metadata

  • Download URL: clime-commits-0.11.3.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for clime-commits-0.11.3.tar.gz
Algorithm Hash digest
SHA256 ba408c539a21d0f068306f55d881c2f25e17907cb9890c58981d5c0a444b4b5b
MD5 894f15bd17251dd37d4800cd246f505b
BLAKE2b-256 8b0ff45ead7637856727135bfa6de9c21d0ad875ccfa81b03d066d2fabcfb287

See more details on using hashes here.

File details

Details for the file clime_commits-0.11.3-py3-none-any.whl.

File metadata

File hashes

Hashes for clime_commits-0.11.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e88ed4de2ef1788d5b15cbad71c373913bfeae06fd04d1889c33c6adf295446
MD5 ddf15fd4ef27aa396ee7b75a83f378ef
BLAKE2b-256 8db00dc176d50e5ae6a3c03ac3c90e8332bdd0680ad268fcc6b6f88065fb1309

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