explaingit

carsteneu/mystarhistory

Analysis updated 2026-05-18

10PythonAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

A self-hosted tool that generates xkcd-style star history charts for GitHub repos as static SVG files, without depending on a third-party service.

Mindmap

mindmap
  root((mystarhistory))
    What it does
      Self-hosted star charts
      xkcd sketch style SVG
      Light and dark themes
      No SaaS dependency
    Tech stack
      Python
      GitHub CLI
      GitHub Actions
    Use cases
      README star chart
      Automated chart updates
      Theme-aware embeds
    Audience
      Repo maintainers
      Open source developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate a self-hosted star history SVG chart for your GitHub repo without depending on a third-party API.

USE CASE 2

Automate chart updates with a GitHub Action that commits to a separate orphan branch.

USE CASE 3

Add a light and dark theme aware star chart to your README using the picture element.

What is it built with?

PythonGitHub CLIGitHub ActionsSVG

How does it compare?

carsteneu/mystarhistoryaarav90-cpu/fetchitadammartinez271828/x4-analysis
Stars101010
LanguagePythonPythonPython
Setup difficultymoderateeasyeasy
Complexity2/52/52/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a GitHub CLI login or a fine-grained PAT with admin or collaborator access to the target repo.

MIT license, use freely for any purpose including commercial use, as long as you keep the copyright notice.

In plain English

mystarhistory is a self-hosted tool that generates star history charts for GitHub repositories. It exists because GitHub restricted its stargazers API in 2026 to only admins and collaborators, which broke the embedded star charts that many project READMEs relied on. Rather than depending on a third-party hosted service, this tool lets you generate the chart yourself, using your own access token, and commit it directly into your repository. The chart style is drawn to look hand-sketched, similar to xkcd comics, achieved through SVG filter effects. It uses a font called Handlee that is bundled with the tool so the chart looks the same no matter where it is viewed, without loading anything from an external source. You can choose a light or dark theme, or set up both so the chart automatically matches a viewer's GitHub theme preference. Running the tool is straightforward: clone the repository and run the Python script directly, no package installation required. You need Python 3.6 or newer and the official GitHub command line tool, signed in with an account that has admin or collaborator access to the repo you're charting. Command line options let you set the target repository, output location, colors, title, and chart size. For those who want the chart to stay current automatically, mystarhistory can also run as a GitHub Action. It commits the generated SVG files to a separate branch created just for this purpose, so it does not add noise to your main commit history or interfere with branch protection rules. Because of the same 2026 API restriction, the automated version needs a specially scoped access token stored as a secret, rather than the default token GitHub Actions provides. The output is a single small SVG file, typically around 15 kilobytes, that you reference from your README with one line of markdown. Once generated, it renders as a static image and does not depend on any ongoing connection to an outside service.

Copy-paste prompts

Prompt 1
Write a Python script using the GitHub CLI to fetch stargazer data and render an xkcd-style SVG star history chart.
Prompt 2
Set up a GitHub Actions workflow using mystarhistory to automatically regenerate my repo's star history chart on a schedule.
Prompt 3
How do I create a fine-grained GitHub personal access token with Metadata read-only and Contents read-write permissions for a star history action?
Prompt 4
Add a theme-aware star history image to my README using the picture element with light and dark SVG sources.

Frequently asked questions

What is mystarhistory?

A self-hosted tool that generates xkcd-style star history charts for GitHub repos as static SVG files, without depending on a third-party service.

What language is mystarhistory written in?

Mainly Python. The stack also includes Python, GitHub CLI, GitHub Actions.

What license does mystarhistory use?

MIT license, use freely for any purpose including commercial use, as long as you keep the copyright notice.

How hard is mystarhistory to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mystarhistory for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.