Repolode
caarlos0

caarlos0/starcharts

A Go web service that plots a GitHub repository's star count over time as an SVG chart.

Open-source alternative to:Star History

Stars
1,423
Forks
142
Open issues
1
Last commit
5 days ago

What is it?

starcharts renders a time-series chart of how many stars a GitHub repository has received. It pulls data from GitHub's star history API, which reports daily star counts grouped by week without identifying the users who starred. The chart plots one point per day on which the repository gained at least one star.

The service is written in Go and runs as a small web server. Visiting a path like /owner/repo returns the chart, which can be embedded in a README or website. Rendered responses are cached in Redis and revalidated with ETags, so repeat requests usually avoid consuming GitHub API rate limit.

Configuration is done through environment variables: a Redis URL, one or more comma-separated GitHub tokens, a rate-limit usage threshold, and the listen address. The project also has a hosted instance at starchart.cc.

Key features

  • 01Plots daily star gains for any public GitHub repository as a chart.
  • 02Returns the chart at a simple URL path that can be embedded in READMEs.
  • 03Caches responses in Redis and revalidates them with ETags to save API quota.
  • 04Supports multiple GitHub tokens and a configurable rate-limit usage threshold.

Use cases

  • Showing star growth for an open-source project in its README.
  • Tracking whether a launch or post led to a spike in repository stars.
  • Comparing star trends across several repositories you maintain.

Quick start

  1. 1

    Start the server from the project directory

    go run main.go
  2. 2

    Open a chart in your browser at the local address

Things to know

  • Requires a Redis instance for caching, which defaults to localhost:6379.
  • Needs one or more GitHub API tokens configured in GITHUB_TOKENS to fetch star data.

In collections

Topics

FAQ

What is starcharts?
A Go web service that plots a GitHub repository's star count over time as an SVG chart. starcharts renders a time-series chart of how many stars a GitHub repository has received. It pulls data from GitHub's star history API, which reports daily star counts grouped by week without identifying the users who starred. The chart plots one point per day on which the repository gained at least one star.
Is starcharts free to use? What license does it have?
starcharts has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
Is starcharts still maintained?
Actively maintained. The last commit to starcharts was on Nov 3, 2026.
What can I use starcharts for?
Showing star growth for an open-source project in its README. Tracking whether a launch or post led to a spike in repository stars. Comparing star trends across several repositories you maintain.
How do I install starcharts?
Start the server from the project directory: go run main.go Open a chart in your browser at the local address
Where can I get starcharts?
The source code and installation instructions are on GitHub: https://github.com/caarlos0/starcharts

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects