{"id":15470429,"url":"https://github.com/softwaresystemslaboratory/prime-commits","last_synced_at":"2025-04-22T12:09:01.461Z","repository":{"id":38188550,"uuid":"374020358","full_name":"SoftwareSystemsLaboratory/prime-commits","owner":"SoftwareSystemsLaboratory","description":"PRIME module to extract commits from VCS","archived":false,"fork":false,"pushed_at":"2022-10-07T14:04:54.000Z","size":712,"stargazers_count":1,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T12:08:34.289Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoftwareSystemsLaboratory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2021-06-05T04:32:39.000Z","updated_at":"2024-03-12T18:31:29.000Z","dependencies_parsed_at":"2023-01-19T14:01:52.129Z","dependency_job_id":null,"html_url":"https://github.com/SoftwareSystemsLaboratory/prime-commits","commit_stats":null,"previous_names":["softwaresystemslaboratory/clime-commits","softwaresystemslaboratory/ssl-metrics-git-commits-loc"],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftwareSystemsLaboratory%2Fprime-commits","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftwareSystemsLaboratory%2Fprime-commits/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftwareSystemsLaboratory%2Fprime-commits/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftwareSystemsLaboratory%2Fprime-commits/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoftwareSystemsLaboratory","download_url":"https://codeload.github.com/SoftwareSystemsLaboratory/prime-commits/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237832,"owners_count":21397401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T02:04:38.514Z","updated_at":"2025-04-22T12:09:01.390Z","avatar_url":"https://github.com/SoftwareSystemsLaboratory.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PRIME Commits\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6478197.svg)](https://doi.org/10.5281/zenodo.6478197)\n[![Release Project](https://github.com/SoftwareSystemsLaboratory/prime-commits/actions/workflows/release.yml/badge.svg)](https://github.com/SoftwareSystemsLaboratory/prime-commits/actions/workflows/release.yml)\n\n\u003e 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\n\n## Table of Contents\n\n- [PRIME Commits](#prime-commits)\n  - [Table of Contents](#table-of-contents)\n  - [About](#about)\n  - [Developer Tooling](#developer-tooling)\n    - [Operating System](#operating-system)\n    - [Python Tools](#python-tools)\n    - [Shell Tools](#shell-tools)\n  - [How To Use](#how-to-use)\n    - [Installation](#installation)\n    - [Command Line Arguements](#command-line-arguements)\n\n## About\n\nThe Software Systems Laboratory (SSL) GitHub Issue Spoilage Project is a `python` tool to extract commit information from a `git` repository.\n\nThis project is licensed under the BSD-3-Clause. See the [LICENSE](LICENSE) for more information.\n\n## Developer Tooling\n\nTo maximize the utility of this project and the greater SSL Metrics project, the following software packages are **required**:\n\n### Operating System\n\nAll 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*.\n\nIt 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.\n\n### Python Tools\n\n- `matplotlib`\n- `numpy`\n- `pandas`\n- `progress`\n- `python-dateutil`\n- `scikit-learn`\n\n### Shell Tools\n\nYou will need the following shell software to run this application:\n\n- `git`\n- `cloc`\n- `SLOCCount` (optional)\n- `jq`\n\n## How To Use\n\n### Installation\n\nYou can install the tool via `pip` with either of the two following one-liners:\n\n- `pip install --upgrade pip prime-meta`\n- `pip install --upgrade pip prime-commits`\n\n### Command Line Arguements\n\n`prime-commits-extract -h`\n\n```shell\noptions:\n  -h, --help            show this help message and exit\n  -d DIRECTORY, --directory DIRECTORY\n                        Directory containg the .git folder of the repository\n                        to analyze\n  -b BRANCH, --branch BRANCH\n                        Branch of the Git repository to analyze. DEFAULT: HEAD\n  -o OUTPUT, --output OUTPUT\n                        JSON file to store the data. DEFAULT:\n                        ./commits_loc.json\n  --cloc CLOC           TXT file containing cloc options. DEFAULT:\n                        options.txt. NOTE: This is an internal options file\n                        used by the program and doesn't need to be specified/\n                        created by you the user (you)\n```\n\n`prime-commits-graph -h`\n\n```shell\noptions:\n  -h, --help            show this help message and exit\n  -i INPUT, --input INPUT\n                        JSON export from PRIME Git Commit Exploder. DEFAULT:\n                        ./commits_loc.json\n  -o OUTPUT, --output OUTPUT\n                        Filename of the graph. DEFAULT: ./commits_loc.pdf\n  -x X                  Key of the x values to use for graphing. DEFAULT:\n                        author_days_since_0\n  -y Y                  Key of the y values to use for graphing. DEFAULT:\n                        lines_of_code\n  --type TYPE           Type of figure to plot. DEFAULT: line\n  --title TITLE         Title of the figure. DEFAULT: \"\"\n  --x-label X_LABEL     X axis label of the figure. DEFAULT: \"\"\n  --y-label Y_LABEL     Y axis label of the figure. DEFAULT: \"\"\n  --stylesheet STYLESHEET\n                        Filepath of matplotlib stylesheet to use. DEFAULT:\n                        style.mplstyle. NOTE: This is an internal stylesheet\n                        used by the program and doesn't need to be specified/\n                        created by you the user (you)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaresystemslaboratory%2Fprime-commits","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftwaresystemslaboratory%2Fprime-commits","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaresystemslaboratory%2Fprime-commits/lists"}