Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfrpg/github-stats
https://github.com/cfrpg/github-stats
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cfrpg/github-stats
- Owner: cfrpg
- License: gpl-3.0
- Created: 2021-01-24T06:51:00.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-28T01:10:09.000Z (almost 4 years ago)
- Last Synced: 2024-10-11T21:12:25.036Z (3 months ago)
- Language: Python
- Size: 21.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [GitHub Stats Visualization](https://github.com/jstrieb/github-stats)
![](https://github.com/jstrieb/github-stats/blob/master/generated/overview.svg)
![](https://github.com/jstrieb/github-stats/blob/master/generated/languages.svg)Generate visualizations of GitHub user and repository statistics using GitHub
Actions.This project is currently a work-in-progress; there will always be more
interesting stats to display.## Background
When someone views a profile on GitHub, it is often because they are curious
about a user's open source projects and contributions. Unfortunately, that
user's stars, forks, and pinned repositories do not necessarily reflect the
contributions they make to private repositories. The data likewise does not
present a complete picture of the user's total contributions beyond the current
year.This project aims to collect a variety of profile and repository statistics
using the GitHub API. It then generates images that can be displayed in
repository READMEs, or in a user's [Profile
README](https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/managing-your-profile-readme).Since the project runs on GitHub Actions, no server is required to regularly
regenerate the images with updated statistics. Likewise, since the user runs
the analysis code themselves via GitHub Actions, they can use their GitHub
access token to collect statistics on private repositories that an external
service would be unable to access.## Disclaimer
If the project is used with an access token that has sufficient permissions to
read private repositories, it may leak details about those repositories in
error messages. For example, the `aiohttp` library—used for asynchronous API
requests—may include the requested URL in exceptions, which can leak the name
of private repositories. If there is an exception caused by `aiohttp`, this
exception will be viewable in the Actions tab of the repository fork, and
anyone may be able to see the name of one or more private repositories.Due to some issues with the GitHub statistics API, there are some situations
where it returns inaccurate results. Specifically, the repository view count
statistics and total lines of code modified are probably somewhat inaccurate.
Unexpectedly, these values will become more accurate over time as GitHub
caches statistics for your repositories. Additionally, repositories that were
last contributed to more than a year ago may not be included in the statistics
due to limitations in the results returned by the API.For more information on inaccuracies, see issue
[#2](https://github.com/jstrieb/github-stats/issues/2),
[#3](https://github.com/jstrieb/github-stats/issues/3), and
[#13](https://github.com/jstrieb/github-stats/issues/13).# Installation
1. Create a personal access token (not the default GitHub Actions token) using
the instructions
[here](https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token).
Personal access token must have permissions: `read:user` and `repo`. Copy
the access token when it is generated – if you lose it, you will have to
regenerate the token.
2. Click [here](https://github.com/jstrieb/github-stats/generate) to create a
fork of this repository
3. If this is the README of your fork, click [this
link](../../settings/secrets/actions) to go to the "Secrets" page.
Otherwise, go to the "Settings" tab of the newly-created repository and go
to the "Secrets" page (bottom left).
4. Create a new secret with the name `ACCESS_TOKEN` and paste the copied
personal access token as the value.
5. If you want to ignore certain repos, add them (separated by commas) to a new
secret—created as before—called `EXCLUDED`. If you want to ignore certain
languages, add them (separated by commas) to a new secret called
`EXCLUDED_LANGS`.
6. Go to the [Actions
Page](../../actions?query=workflow%3A"Generate+Stats+Images") and press "Run
Workflow" on the right side of the screen to generate images for the first
time. The images will be periodically generated every hour, but they can be
manually regenerated by manually running the workflow.
7. Check out the images that have been created in the [`generated`](generated)
folder.
8. Link back to this repository so that others can generate their own
statistics images.
9. Star this repo if you like it!# Related Projects
- Inspired by a desire to improve upon
[anuraghazra/github-readme-stats](https://github.com/anuraghazra/github-readme-stats)
- Makes use of [GitHub Octicons](https://primer.style/octicons/) to precisely
match the GitHub UI