{"id":88040,"name":null,"description":"Generating contributor stats for the ActivityWatch project","url":"https://github.com/activitywatch/contributor-stats","last_synced_at":"2025-09-08T23:39:21.003Z","repository":{"id":21840472,"uuid":"94189926","full_name":"ActivityWatch/contributor-stats","owner":"ActivityWatch","description":"Generating contributor stats for the ActivityWatch project","archived":false,"fork":false,"pushed_at":"2024-08-20T12:55:22.000Z","size":211,"stargazers_count":9,"open_issues_count":5,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-25T01:44:58.349Z","etag":null,"topics":["contributor","git-statistics","github-api","github-stats","gitstats","gource","visualization"],"latest_commit_sha":null,"homepage":"","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/ActivityWatch.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},"funding":{"github":["ActivityWatch"],"open_collective":"activitywatch","liberapay":"ActivityWatch","custom":["https://activitywatch.net/donate/"]}},"created_at":"2017-06-13T08:34:21.000Z","updated_at":"2025-05-11T16:03:13.000Z","dependencies_parsed_at":"2023-12-21T18:00:29.546Z","dependency_job_id":"5f9db061-47c3-45f3-b39e-6a2a1ba14b20","html_url":"https://github.com/ActivityWatch/contributor-stats","commit_stats":{"total_commits":68,"total_committers":3,"mean_commits":"22.666666666666668","dds":0.02941176470588236,"last_synced_commit":"e38bb6f8422d56eaedddb064cded7066f1b96fa4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ActivityWatch/contributor-stats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ActivityWatch","download_url":"https://codeload.github.com/ActivityWatch/contributor-stats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231165,"owners_count":25245675,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"ActivityWatch","name":"ActivityWatch","uuid":"18249061","kind":"organization","description":"Open source time-tracking application with a focus on extensibility and privacy.","email":null,"website":"https://activitywatch.net","location":null,"twitter":"ActivityWatchIt","company":null,"icon_url":"https://avatars.githubusercontent.com/u/18249061?v=4","repositories_count":57,"last_synced_at":"2024-11-24T17:20:04.076Z","metadata":{"has_sponsors_listing":true,"funding":{"github":["ActivityWatch"],"open_collective":"activitywatch","liberapay":"ActivityWatch","custom":["https://activitywatch.net/donate/"]}},"html_url":"https://github.com/ActivityWatch","funding_links":["https://github.com/sponsors/ActivityWatch","https://opencollective.com/activitywatch","https://liberapay.com/ActivityWatch","https://activitywatch.net/donate/"],"total_stars":14278,"followers":506,"following":0,"created_at":"2022-11-04T19:14:16.578Z","updated_at":"2024-11-24T17:20:04.077Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ActivityWatch","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ActivityWatch/repositories"},"packages":[],"commits":{"id":1257864,"full_name":"ActivityWatch/contributor-stats","default_branch":"master","committers":[{"name":"Erik Bjäreholt","email":"erik@bjareho.lt","login":null,"count":66},{"name":"mzfr","email":"mehtab.zafar98@gmail.com","login":null,"count":1},{"name":"Brayo","email":"62670517+brayo-pip","login":"brayo-pip","count":1}],"total_commits":68,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":22.666666666666668,"dds":0.02941176470588236,"past_year_committers":[{"name":"Erik Bjäreholt","email":"erik@bjareho.lt","login":null,"count":8},{"name":"Brayo","email":"62670517+brayo-pip","login":"brayo-pip","count":1}],"past_year_total_commits":9,"past_year_total_committers":2,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":4.5,"past_year_dds":0.11111111111111116,"last_synced_at":"2025-07-01T07:33:40.715Z","last_synced_commit":"e38bb6f8422d56eaedddb064cded7066f1b96fa4","created_at":"2023-06-13T15:38:44.690Z","updated_at":"2025-07-01T07:33:40.716Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5497978,"commits_count":856299706,"contributors_count":31291234,"owners_count":912884,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ActivityWatch/contributor-stats","html_url":"https://github.com/ActivityWatch/contributor-stats","last_synced_at":"2025-07-04T15:56:23.786Z","status":null,"issues_count":4,"pull_requests_count":6,"avg_time_to_close_issue":73051838.0,"avg_time_to_close_pull_request":146973.0,"issues_closed_count":2,"pull_requests_closed_count":3,"pull_request_authors_count":5,"issue_authors_count":3,"avg_comments_per_issue":0.75,"avg_comments_per_pull_request":0.5,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":357894.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-06-13T15:39:10.279Z","updated_at":"2025-09-01T22:29:55.067Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ActivityWatch%2Fcontributor-stats/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":2},"issue_author_associations_count":{"MEMBER":3,"NONE":1},"pull_request_author_associations_count":{"MEMBER":3,"NONE":3,"CONTRIBUTOR":1},"issue_authors":{"ErikBjare":2,"johan-bjareholt":1,"brayo-pip":1},"pull_request_authors":{"brayo-pip":2,"dependabot[bot]":2,"ErikBjare":1,"lgtm-com[bot]":1,"mzfr":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10105200,"issues_count":31522875,"pull_requests_count":97791951,"authors_count":10704282,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"ErikBjare","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ErikBjare"},{"login":"brayo-pip","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brayo-pip"},{"login":"johan-bjareholt","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/johan-bjareholt"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":3,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":3},"last_year":{"WatchEvent":3,"PullRequestReviewEvent":2,"PullRequestReviewCommentEvent":3}},"keywords":["contributor","git-statistics","github-api","github-stats","gitstats","gource","visualization"],"dependencies":[{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2022-09-06T20:01:50.133Z","updated_at":"2022-09-06T20:01:50.133Z","repository_link":"https://github.com/ActivityWatch/contributor-stats/blob/master/poetry.lock","dependencies":[{"id":4032902487,"package_name":"atomicwrites","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"develop","optional":false},{"id":4032902488,"package_name":"attrs","ecosystem":"pypi","requirements":"21.4.0","direct":false,"kind":"develop","optional":false},{"id":4032902489,"package_name":"black","ecosystem":"pypi","requirements":"22.1.0","direct":false,"kind":"develop","optional":false},{"id":4032902490,"package_name":"certifi","ecosystem":"pypi","requirements":"2021.10.8","direct":false,"kind":"runtime","optional":false},{"id":4032902491,"package_name":"cffi","ecosystem":"pypi","requirements":"1.15.0","direct":false,"kind":"runtime","optional":false},{"id":4032902492,"package_name":"charset-normalizer","ecosystem":"pypi","requirements":"2.0.12","direct":false,"kind":"runtime","optional":false},{"id":4032902493,"package_name":"click","ecosystem":"pypi","requirements":"8.0.4","direct":false,"kind":"runtime","optional":false},{"id":4032902494,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.4","direct":false,"kind":"runtime","optional":false},{"id":4032902495,"package_name":"deprecated","ecosystem":"pypi","requirements":"1.2.13","direct":false,"kind":"runtime","optional":false},{"id":4032902496,"package_name":"idna","ecosystem":"pypi","requirements":"3.3","direct":false,"kind":"runtime","optional":false},{"id":4032902497,"package_name":"iniconfig","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":4032902498,"package_name":"mypy","ecosystem":"pypi","requirements":"0.941","direct":false,"kind":"develop","optional":false},{"id":4032902499,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":4032902500,"package_name":"numpy","ecosystem":"pypi","requirements":"1.22.3","direct":false,"kind":"runtime","optional":false},{"id":4032902501,"package_name":"packaging","ecosystem":"pypi","requirements":"21.3","direct":false,"kind":"develop","optional":false},{"id":4032902502,"package_name":"pandas","ecosystem":"pypi","requirements":"1.4.1","direct":false,"kind":"runtime","optional":false},{"id":4032902503,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"develop","optional":false},{"id":4032902504,"package_name":"platformdirs","ecosystem":"pypi","requirements":"2.5.1","direct":false,"kind":"develop","optional":false},{"id":4032902505,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"develop","optional":false},{"id":4032902506,"package_name":"py","ecosystem":"pypi","requirements":"1.11.0","direct":false,"kind":"develop","optional":false},{"id":4032902507,"package_name":"pycparser","ecosystem":"pypi","requirements":"2.21","direct":false,"kind":"runtime","optional":false},{"id":4032902508,"package_name":"pygithub","ecosystem":"pypi","requirements":"1.55","direct":false,"kind":"runtime","optional":false},{"id":4032902509,"package_name":"pyjwt","ecosystem":"pypi","requirements":"2.3.0","direct":false,"kind":"runtime","optional":false},{"id":4032902510,"package_name":"pynacl","ecosystem":"pypi","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":4032902511,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.0.7","direct":false,"kind":"develop","optional":false},{"id":4032902512,"package_name":"pytest","ecosystem":"pypi","requirements":"7.1.0","direct":false,"kind":"develop","optional":false},{"id":4032902513,"package_name":"python-dateutil","ecosystem":"pypi","requirements":"2.8.2","direct":false,"kind":"runtime","optional":false},{"id":4032902514,"package_name":"pytz","ecosystem":"pypi","requirements":"2021.3","direct":false,"kind":"runtime","optional":false},{"id":4032902515,"package_name":"requests","ecosystem":"pypi","requirements":"2.27.1","direct":false,"kind":"runtime","optional":false},{"id":4032902516,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"runtime","optional":false},{"id":4032902517,"package_name":"tomli","ecosystem":"pypi","requirements":"2.0.1","direct":false,"kind":"develop","optional":false},{"id":4032902518,"package_name":"tqdm","ecosystem":"pypi","requirements":"4.63.0","direct":false,"kind":"runtime","optional":false},{"id":4032902519,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.1.1","direct":false,"kind":"develop","optional":false},{"id":4032902520,"package_name":"urllib3","ecosystem":"pypi","requirements":"1.26.8","direct":false,"kind":"runtime","optional":false},{"id":4032902521,"package_name":"wrapt","ecosystem":"pypi","requirements":"1.14.0","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2022-09-06T20:01:50.397Z","updated_at":"2022-09-06T20:01:50.397Z","repository_link":"https://github.com/ActivityWatch/contributor-stats/blob/master/pyproject.toml","dependencies":[{"id":4032909587,"package_name":"python","ecosystem":"pypi","requirements":"^3.10","direct":true,"kind":"runtime","optional":false},{"id":4032909588,"package_name":"pandas","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4032909589,"package_name":"PyGithub","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4032909590,"package_name":"numpy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4032909591,"package_name":"tqdm","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":4032909592,"package_name":"click","ecosystem":"pypi","requirements":"^8.0","direct":true,"kind":"runtime","optional":false},{"id":4032909593,"package_name":"black","ecosystem":"pypi","requirements":"^22.1.0","direct":true,"kind":"develop","optional":false},{"id":4032909594,"package_name":"mypy","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false},{"id":4032909595,"package_name":"pytest","ecosystem":"pypi","requirements":"*","direct":true,"kind":"develop","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/build.yml","sha":null,"kind":"manifest","created_at":"2023-09-23T14:39:13.819Z","updated_at":"2023-09-23T14:39:13.819Z","repository_link":"https://github.com/ActivityWatch/contributor-stats/blob/master/.github/workflows/build.yml","dependencies":[{"id":13901635816,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":13901635818,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false}]}],"score":3.737669618283368,"created_at":"2025-09-08T21:28:04.266Z","updated_at":"2025-10-07T08:29:21.238Z","avatar_url":"https://github.com/ActivityWatch.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":0,"funding_links":["https://github.com/sponsors/ActivityWatch","https://opencollective.com/activitywatch","https://liberapay.com/ActivityWatch","https://activitywatch.net/donate/"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/88040","html_url":"https://science.ecosyste.ms/projects/88040"}