{"id":24629988,"url":"https://github.com/voidcoefficient/github-stats","last_synced_at":"2025-03-20T04:37:52.668Z","repository":{"id":45969567,"uuid":"431140224","full_name":"voidcoefficient/github-stats","owner":"voidcoefficient","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-23T15:16:52.000Z","size":596,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-02-26T03:35:47.110Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voidcoefficient.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}},"created_at":"2021-11-23T14:51:35.000Z","updated_at":"2022-01-11T03:19:33.000Z","dependencies_parsed_at":"2022-09-23T08:51:55.631Z","dependency_job_id":null,"html_url":"https://github.com/voidcoefficient/github-stats","commit_stats":null,"previous_names":["marlalain/github-stats","voidcoefficient/github-stats"],"tags_count":0,"template":false,"template_full_name":"jstrieb/github-stats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voidcoefficient%2Fgithub-stats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voidcoefficient%2Fgithub-stats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voidcoefficient%2Fgithub-stats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voidcoefficient%2Fgithub-stats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voidcoefficient","download_url":"https://codeload.github.com/voidcoefficient/github-stats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554051,"owners_count":20471172,"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":"2025-01-25T06:20:54.277Z","updated_at":"2025-03-20T04:37:52.635Z","avatar_url":"https://github.com/voidcoefficient.png","language":"Python","readme":"# [GitHub Stats Visualization](https://github.com/jstrieb/github-stats)\n\n\u003ca href=\"https://github.com/jstrieb/github-stats\"\u003e\n\n![](https://github.com/jstrieb/github-stats/blob/master/generated/overview.svg)\n![](https://github.com/jstrieb/github-stats/blob/master/generated/languages.svg)\n\n\u003c/a\u003e\n\nGenerate visualizations of GitHub user and repository statistics using GitHub\nActions.\n\nThis project is currently a work-in-progress; there will always be more\ninteresting stats to display.\n\n## Background\n\nWhen someone views a profile on GitHub, it is often because they are curious\nabout a user's open source projects and contributions. Unfortunately, that\nuser's stars, forks, and pinned repositories do not necessarily reflect the\ncontributions they make to private repositories. The data likewise does not\npresent a complete picture of the user's total contributions beyond the current\nyear.\n\nThis project aims to collect a variety of profile and repository statistics\nusing the GitHub API. It then generates images that can be displayed in\nrepository READMEs, or in a user's [Profile\nREADME](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme).\n\nSince the project runs on GitHub Actions, no server is required to regularly\nregenerate the images with updated statistics. Likewise, since the user runs\nthe analysis code themselves via GitHub Actions, they can use their GitHub\naccess token to collect statistics on private repositories that an external\nservice would be unable to access.\n\n## Disclaimer\n\nIf the project is used with an access token that has sufficient permissions to\nread private repositories, it may leak details about those repositories in\nerror messages. For example, the `aiohttp` library—used for asynchronous API\nrequests—may include the requested URL in exceptions, which can leak the name\nof private repositories. If there is an exception caused by `aiohttp`, this\nexception will be viewable in the Actions tab of the repository fork, and\nanyone may be able to see the name of one or more private repositories.\n\nDue to some issues with the GitHub statistics API, there are some situations\nwhere it returns inaccurate results. Specifically, the repository view count\nstatistics and total lines of code modified are probably somewhat inaccurate.\nUnexpectedly, these values will become more accurate over time as GitHub\ncaches statistics for your repositories. Additionally, repositories that were\nlast contributed to more than a year ago may not be included in the statistics\ndue to limitations in the results returned by the API.\n\nFor more information on inaccuracies, see issue\n[#2](https://github.com/jstrieb/github-stats/issues/2),\n[#3](https://github.com/jstrieb/github-stats/issues/3), and\n[#13](https://github.com/jstrieb/github-stats/issues/13).\n\n# Installation\n\n\u003c!-- TODO: Add details and screenshots --\u003e\n\n1. Create a personal access token (not the default GitHub Actions token) using\n   the instructions\n   [here](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).\n   Personal access token must have permissions: `read:user` and `repo`. Copy\n   the access token when it is generated – if you lose it, you will have to\n   regenerate the token.\n   - Some users are reporting that it can take a few minutes for the personal\n     access token to work. For more, see \n     [#30](https://github.com/jstrieb/github-stats/issues/30).\n2. Click [here](https://github.com/jstrieb/github-stats/generate) to create a\n   copy of this repository. Note: this is not the same as forking a copy\n   because it copies everything fresh, without the huge commit history. \n3. If this is the README of your fork, click [this\n   link](../../settings/secrets/actions) to go to the \"Secrets\" page.\n   Otherwise, go to the \"Settings\" tab of the newly-created repository and go\n   to the \"Secrets\" page (bottom left).\n4. Create a new secret with the name `ACCESS_TOKEN` and paste the copied\n   personal access token as the value.\n5. It is possible to change the type of statistics reported.\n   - To ignore certain repos, add them (in owner/name format e.g.,\n     `jstrieb/github-stats`) separated by commas to a new secret—created as\n     before—called `EXCLUDED`.\n   - To ignore certain languages, add them (separated by commas) to a new\n     secret called `EXCLUDED_LANGS`.\n   - To show statistics only for \"owned\" repositories and not forks with\n     contributions, add an environment variable (under the `env` header in the\n     [main\n     workflow](https://github.com/jstrieb/github-stats/blob/master/.github/workflows/main.yml))\n     called `EXCLUDE_FORKED_REPOS` with a value of `true`.\n6. Go to the [Actions\n   Page](../../actions?query=workflow%3A\"Generate+Stats+Images\") and press \"Run\n   Workflow\" on the right side of the screen to generate images for the first\n   time. The images will be periodically generated every hour, but they can be\n   manually regenerated by manually running the workflow.\n7. Check out the images that have been created in the [`generated`](generated)\n   folder.\n8. To add your statistics to your GitHub Profile README, copy and paste the following \n   lines of code into your markdown content. Change the `username` value to your GitHub \n   username.\n   ```md\n   ![](https://github.com/username/github-stats/blob/master/generated/overview.svg)\n   ```\n   ```md\n   ![](https://github.com/username/github-stats/blob/master/generated/languages.svg)\n   ```\n9. Link back to this repository so that others can generate their own\n   statistics images.\n10. Star this repo if you like it!\n\n\n# Support the Project\n\nThere are a few things you can do to support the project:\n\n- Star the repository (and follow me on GitHub for more)\n- Share and upvote on sites like Twitter, Reddit, and Hacker News\n- Report any bugs, glitches, or errors that you find\n\nThese things motivate me to to keep sharing what I build, and they provide\nvalidation that my work is appreciated! They also help me improve the\nproject. Thanks in advance!\n\nIf you are insistent on spending money to show your support, I encourage you to\ninstead make a generous donation to one of the following organizations. By advocating\nfor Internet freedoms, organizations like these help me to feel comfortable\nreleasing work publicly on the Web.\n\n- [Electronic Frontier Foundation](https://supporters.eff.org/donate/)\n- [Signal Foundation](https://signal.org/donate/)\n- [Mozilla](https://donate.mozilla.org/en-US/)\n- [The Internet Archive](https://archive.org/donate/index.php)\n\n\n# Related Projects\n\n- Inspired by a desire to improve upon\n  [anuraghazra/github-readme-stats](https://github.com/anuraghazra/github-readme-stats)\n- Makes use of [GitHub Octicons](https://primer.style/octicons/) to precisely\n  match the GitHub UI\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidcoefficient%2Fgithub-stats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoidcoefficient%2Fgithub-stats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoidcoefficient%2Fgithub-stats/lists"}