{"id":15893415,"url":"https://github.com/multimeric/regulagity","last_synced_at":"2026-01-21T10:37:29.363Z","repository":{"id":57460980,"uuid":"235708416","full_name":"multimeric/Regulagity","owner":"multimeric","description":"Regulagity (reh-gew-la-git-ee): A tool for measuring the frequency on a git repo using a variety of single summary statistics","archived":false,"fork":false,"pushed_at":"2024-09-10T07:35:08.000Z","size":14,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-13T19:40:19.217Z","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":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multimeric.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-01-23T02:19:05.000Z","updated_at":"2021-02-23T23:45:31.000Z","dependencies_parsed_at":"2024-10-28T03:22:11.130Z","dependency_job_id":"ce3fa2c8-4b5d-472c-a06e-48d0e3c885ce","html_url":"https://github.com/multimeric/Regulagity","commit_stats":null,"previous_names":["tmiguelt/regulagity"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/multimeric/Regulagity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FRegulagity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FRegulagity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FRegulagity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FRegulagity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multimeric","download_url":"https://codeload.github.com/multimeric/Regulagity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimeric%2FRegulagity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28631937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-06T08:10:28.637Z","updated_at":"2026-01-21T10:37:29.347Z","avatar_url":"https://github.com/multimeric.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Regulagity\n## Introduction\nRegulagity (reh-gew-la-git-ee) is a command-line tool for measuring activity in a git repo, ultimately producing a single number that summarises a repo.\n\nFor example, you can ask \"how many commits per year does this repo have?\" or \"what proportion of months does this repo have new commits?\". Both of these are good summaries of how *active* a repo is.\n\n## Installation\nRun:\n```bash\npip install regulagity\n```\n\n## Usage\n```bash\nUsage: regulagity [OPTIONS] [LOCATION]\n\n  Calculates summary statistics for the git repository located at LOCATION.\n  LOCATION must be the path either to a local git repository or to a git\n  remote, e.g. `/home/michael/Programming/Regulagity/` or\n  `https://github.com/TMiguelT/Regulagity.git`\n\nOptions:\n  --period TEXT              Period of time to summarise commits over. This\n                             consists of an optional number followed by a\n                             letter code, e.g. `2W` means two weeks, `3M`\n                             means 3 months, `Y` means 1 year etc. For a full\n                             reference on these string codes, refer to\n                             http://pandas.pydata.org/pandas-\n                             docs/stable/user_guide/timeseries.html#offset-\n                             aliases\n  --stat [proportion|count]  The way we summarise each commit over the time\n                             period. `proportion` indicates that we should\n                             calculate what proportion of the time period has\n                             any commits (e.g. how many weeks on average have\n                             any activity) whereas `count` indicates that we\n                             should take the average number of commits in this\n                             time period (e.g. how many commits are on average\n                             made per week)\n  --help                     Show this message and exit.\n```\n\n## Examples\n* What proportion of months have had any commit activity since this repo was created?\n    ```\n    regulagity --period M --stat proportion https://github.com/TMiguelT/Regulagity.git\n    ```\n* What is the average commits per fortnight in this repo?\n    ```\n    regulagity --period 2W --stat count /home/michael/Programming/Regulargity\n    ```\n    \n## Motivation\nThere are numerous other tools that summarise git activity, for example:\n\n* \u003chttp://gitstats.sourceforge.net/\u003e\n* \u003chttps://www.npmjs.com/package/git-stats\u003e\n* \u003chttps://github.com/src-d/hercules\u003e\n* \u003chttps://github.com/ejwa/gitinspector\u003e\n\nHowever, when comparing repos, perhaps because you want to use the best supported and \nmaintained option, you really only want a single number you can use to easily compare \nthem. For this reason, `regulagity` only ever outputs a single number for a repo, not\na plot or a table.\n\nThe reason `regulagity` supports analyses like \"what proportion of months have had any\nactivity\" is because it avoids any biases you might get by asking \"what is the average\nnumber of commits\" or \"average lines changed\". These can be biased by a repo that has\na million commits over a single month, because it will still has a high number of commits \nper month on average, even if it's been abandoned since 2015. The same issue is \nencountered for lines-of-code. Asking only if there has been *any* activity of a given \nperiod allows you to better compare repos, and allows you to be certain that a high number\nmeans a better amount of support. You can even use this same statistic to compare open \nsource repos to commercial products, because you can also ask \"what proportion of months\nhave a new update to this software?\".\n\n## Roadmap\nPlanned features:\n\n* Allow calculation of average lines-of-code, not just commit numbers\n* Allow custom date-ranges for the query, e.g. \"in the last year\" rather than \"for the \n    entire commit history\"\n* Allow specifying a branch, or assessing over all branches","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimeric%2Fregulagity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultimeric%2Fregulagity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimeric%2Fregulagity/lists"}