https://github.com/caarlos0/starcharts
Plot your repository stars over time.
https://github.com/caarlos0/starcharts
chart github-api golang stargazers stars
Last synced: 2 days ago
JSON representation
Plot your repository stars over time.
- Host: GitHub
- URL: https://github.com/caarlos0/starcharts
- Owner: caarlos0
- Created: 2017-07-07T01:08:03.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2026-10-01T19:44:10.000Z (20 days ago)
- Last Synced: 2026-10-10T12:40:39.190Z (11 days ago)
- Topics: chart, github-api, golang, stargazers, stars
- Language: Go
- Homepage: https://starchart.cc
- Size: 666 KB
- Stars: 1,424
- Watchers: 5
- Forks: 142
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- my-awesome - caarlos0/starcharts - api,golang,stargazers,stars pushed_at:2026-10 star:1.4k fork:0.1k Plot your repository stars over time. (Go)
- awesomeLibrary - starcharts - Plot your repository stars over time. (语言资源库 / go)
- awesome-github-profile - Starcharts
- awesome-list - starcharts
- awesome - caarlos0/starcharts - Plot your repository stars over time. (Go)
README
# starcharts
[](https://github.com/caarlos0/starcharts/actions?workflow=build)
[](https://codecov.io/gh/caarlos0/starcharts)
[](http://godoc.org/github.com/caarlos0/starcharts)
Plot your repo stars over time!
## How it works
Star data comes from GitHub's [star history API][api], which returns the number
of stars a repository got on each day, grouped by week, without exposing who
starred it.
Star charts plots one data point per day in which the repository got at least
one star, so the resulting chart is accurate regardless of how many stars the
repository has.
Responses are cached in Redis and revalidated with `ETag`s, so repeated renders
of the same chart usually don't spend any API rate limit.
[api]: https://docs.github.com/rest/activity/starring#get-repository-star-history
## Usage
```console
go run main.go
```
Then browse http://localhost:3000/me/myrepo .
## Configuration
Configure via environment variables:
| Variable | Default | Description |
|----------|---------|-------------|
| `REDIS_URL` | `redis://localhost:6379` | Redis cache URL |
| `GITHUB_TOKENS` | - | GitHub API Token (supports multiple, comma-separated) |
| `GITHUB_MAX_RATE_LIMIT_USAGE` | `80` | API Rate Limit usage threshold percentage |
| `LISTEN` | `127.0.0.1:3000` | Server listen address |
## Example
[](https://starchart.cc/caarlos0/starcharts)