{"id":13815295,"url":"https://github.com/a-p-z/gitstats","last_synced_at":"2026-04-11T09:16:11.109Z","repository":{"id":133697265,"uuid":"153114237","full_name":"a-p-z/gitstats","owner":"a-p-z","description":"simple statistical analysis tool for git repositories","archived":false,"fork":false,"pushed_at":"2023-08-27T09:22:04.000Z","size":354,"stargazers_count":32,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-19T10:49:27.825Z","etag":null,"topics":["confluence","development","git","gitlog","python","repository","statistics"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a-p-z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-15T13:05:14.000Z","updated_at":"2024-09-05T05:07:46.000Z","dependencies_parsed_at":"2024-01-15T13:36:00.242Z","dependency_job_id":null,"html_url":"https://github.com/a-p-z/gitstats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-p-z%2Fgitstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-p-z%2Fgitstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-p-z%2Fgitstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a-p-z%2Fgitstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a-p-z","download_url":"https://codeload.github.com/a-p-z/gitstats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254296112,"owners_count":22047205,"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":["confluence","development","git","gitlog","python","repository","statistics"],"created_at":"2024-08-04T04:03:16.853Z","updated_at":"2026-04-11T09:16:11.066Z","avatar_url":"https://github.com/a-p-z.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# gitstats\n**gitstats** is a simple statistical analysis tool for git repositories written in python.\nIt analyzes the history of the repository and shows general statistics per author.\nIt was purely developed for fun, to create a little friendly competition among team members.\nNevertheless, it calculates interesting timeline analysis and reports code changes over time for a high level overview over the repository.\n\n## Example outputs\n**gitstats** is based on templates which can be customized according to your needs.\n\n### Markdown\nMove to your project directory and execute **gitstats** with Markdown format:\n```sh\n$ cd $PROJECT_DIRECTORY\n$ $GITSTATS_DIRECTORY/gitstats.py --format markdown\n```\nOpen the output file `gitstats.md` with a markdown viewer.\n#### CUMULATED COMMITS OVER TIME BY AUTHOR\n|date|Romolo|Numa Pompilio|Tullo Ostilio|Anco Marzio|Tarquinio Prisco|Servio Tullio|Tarquinio il Superbo|\n|---|---|---|---|---|---|---|---|\n|2016-02|0|0|0|0|0|0|0|\n|2016-03|5|5|0|0|0|0|0|\n|2016-04|56|33|0|0|0|0|0|\n|2016-05|112|45|0|0|0|0|0|\n|2016-06|126|70|0|0|0|2|0|\n|2016-07|128|84|19|4|0|2|0|\n|2016-08|133|110|21|20|0|2|0|\n|2016-09|136|117|43|28|0|2|0|\n|2016-10|137|135|94|43|8|2|0|\n|2016-11|137|159|109|56|23|2|0|\n|2016-12|137|177|128|69|49|2|0|\n|2017-01|137|183|145|75|62|2|0|\n|2017-02|137|199|213|86|75|2|0|\n|2017-03|137|216|250|104|95|2|0|\n|2017-04|137|230|295|119|120|2|0|\n|2017-05|137|233|338|130|128|2|12|\n|2017-06|137|233|388|148|153|2|20|\n|2017-07|137|233|400|158|161|2|29|\n\n[...]\n\n#### COMMITS BY AUTHOR\n|author|commits|insertions|deletions|% of changes|impact/commit|\n|---|---|---|---|---|---|\n|Tullo Ostilio|400|273229|239169|57|1280|\n|Numa Pompilio|233|65995|27998|10|403|\n|Tarquinio Prisco|161|73754|48478|13|759|\n|Anco Marzio|158|83017|30135|12|716|\n|Romolo|137|23831|14835|4|282|\n|Tarquinio il Superbo|29|4609|833|0|187|\n|Servio Tullio|2|28|18|0|23|\n|total|1120|524463|361466|||\n\n[...]\n\n### [Confluence](https://www.atlassian.com/software/confluence) wiki\nMove to your project directory and execute **gitstats** with confluencewiki format:\n\u003e-[ ] TODO: implement a client to directly create/modify the page\n\n```sh\n$ cd $PROJECT_DIRECTORY\n$ $GITSTATS_DIRECTORY/gitstats.py --format confluencewiki\n```\n\nCopy the content of `gitstats.confluencewiki.txt` in a Confluence page:\n1. Choose **Insert** \u003e **Markup**\n2. Select **Confluence wiki**\n3. Paste your text - the preview will show you how it will appear on your page\n4. Choose **Insert**\n\u003e See [Confluence Wiki Markup](https://confluence.atlassian.com/doc/confluence-wiki-markup-251003035.html)\n\n![cumulated commits over time by authors](images/01-cumulatedCommitsOverTimeByAuthors.png?raw=true \"Cumulated commits over time by authors\")\n![impacts over time](images/02-impactsOverTime.png?raw=true \"Impacts over time\")\n![commits over time by authors](images/03-commitsOverTimeByAuthors.png?raw=true \"Commits over time by authors\")\n![commits by author](images/04-commitsByAuthor.png?raw=true \"Commits by author\")\n![files by extension](images/05-filesByExtension.png?raw=true \"Files by extension\")\n![edited lines of code by author](images/06-editedLinesOfCodeByAuthor.png?raw=true \"Edited lines of code by author\")\n\n## Some features\n- Cumulated commits over time by author\n- Impacts over time\n- Commits over time by authors\n- Authors not active for over a year\n- Commits by Author\n- Commits without ticket reference by author\n- Commits on behalf of\n- Reviews\n- Remote origin refs by author\n- Files by extension\n- Edited lines of code by author\n- Most impactful commits\n- Other statistics (global and of the month)\n\n## Resources\nThe `resources` directory contains two template you can use to define your own mail mapping and regexes:\n- in `mailmap.yaml` you can link multiple emails to the same author\n- `regexes.yaml` contains the regexes used to check the subject of the commit is compliant and to extract the reviewers  \n\n## Requirements\n- Git\n- Python 3\n\n## Related projects\n- [Git](https://git-scm.com/)\n- [GitStats - git history statistics generator](http://gitstats.sourceforge.net/)\n- [Gitinspector](https://github.com/ejwa/gitinspector)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-p-z%2Fgitstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa-p-z%2Fgitstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa-p-z%2Fgitstats/lists"}