gh-star-timeline


Namegh-star-timeline JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryCommand-line tool to keep track of historic stars on github. Machine-useable output.
upload_time2025-04-22 23:13:25
maintainerNone
docs_urlNone
author@readwithai
requires_pythonNone
licenseGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Github star timeline cli
**@readwithai** - [X](https://x.com/readwithai) - [blog](https://readwithai.substack.com/) - [machine-aided reading](https://www.reddit.com/r/machineAidedReading/)

`gh-star-timeline` maintains a timeline of the number of stars that a repository has over time.

Basic statistical aggregates can be queried offline

## Alternatives and prior work
There are many open source projects on github which do similar things.

[starcount](https://github.com/starkblaze01/Star-Count) and [gh-stars](https://github.com/jonschlinkert/gh-stars) fetch the number of stars for all repositories a user has, but at a specific point in time. I have reimplemented much of this functionality here because I wanted to maintain a timeline. One could alternatively wrap this tool.

[star history](https://www.star-history.com/) can produce plots (but only plots) of the historic number of starts for a repository and is [open source](https://github.com/star-history/star-history).  I believe this uses the `stargazers` api which can provide the time that a repository was starred (See  [this snippet](https://gist.github.com/jasonrudolph/5abee158b42b99a3990a))

This sort of timeline can be regenerated (up-to stars being removed) from ghis snippet.

I have a similar project, [gh-views](https://github.com/talwrii/gh-views), which fetches the number of views and clones for repository.

## Installation
You can install `gh-star-timeline` using [pipx](https://github.com/pypa/pipx):

```
pipx install gh-star-timeline
```

You just also install the github command-line tool [gh](https://github.com/cli/cli) and log in to github with `gh auth login`.

# Usage
To fetch the total number of stars for a repository you can run e.g.
```
gh-star-timeline talwrii/ffmpeg-cookbook
```

To get the number of stars for each repo (analogous to [starcount](https://github.com/starkblaze01/Star-Count). This is can be a little slow. It should be faster on later runs.

```
gh-star-timeline --user talwrii
```

You can use the `-n` option to use fetched data.

If you want the total number of stars for all your repositories, you can run:

```
gh-star-timeline --user talwrii -n --total
```

To get the history of all stars added (or removed - while you where using `gh-star-timeline`). You can use:
```
gh-star-timeline talwrii/curlfire --stars -n
```

To get a timeline of stars counts over time you can use `--timeseries`
```
gh-star-timeline  talwrii/curlfire -n --timeseries
```
It would be relative easy to plot this.

You can get a timeseries of the total number of stars across all your repos with:
```
gh-star-timeline  talwrii/curlfire -n --timeseries -T
```

## Periodically fetching
You can fetch a complete history of star counts (apart from removed stars) at any time by running *without* the `-n` option. You may like to run periodically to keep your local stats up-to-date and detect people removing stars.

This could be done with a [systemd timer](https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html) or [cron job](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) or a variety o other methods

## Backing up data
Data is stored in `~/.local/state/gh-star-timeline`. You may wish to periodically back up this data.

## Caveats
`gh-star-timeline` was written and tested on Linux. It will probably work on Mac without any alteration. The paths may need to be adapted for windows - this should be an easy change if you are familiar with the Python programming language and I will accept and quickly merge and pull requests for windows support.

## Support
If you find this project useful you could pay me money ($3 maybe) on my [ko-fi](https://ko-fi.com/c/965d8a3fca). This will incentivize me to respond to issues with this repo and work on [similar command-line tools](https://readwithai.substack.com/p/my-productivity-tools)

You could also look at a similar tool I made to track views and clones of a github repo: [gh-views](https://github.com/talwrii/gh-views). Or read some of the things that I have written surrounding note-taking and reading. Perhaps this [review of note-taking in Obsidian](https://readwithai.substack.com/p/note-taking-with-obsidian-much-of).

## About me
I am **@readwithai** I make tools for reading, research and agency, sometimes using [Obsidian](https://readwithai.substack.com/p/what-exactly-is-obsidian).

You can follow me on [X](https://x.com/readwithai) where I write about many things - including productivity tools like this. Or you can read my [blog](https://readwithai.substack.com/) where I write more around reading and research

![@readwithai logo](./logo.png)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gh-star-timeline",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "@readwithai",
    "author_email": "talwrii@gmail.co",
    "download_url": "https://files.pythonhosted.org/packages/ae/17/a4ffc8df50bd35efbd5ffe2dcfe0661be38eade37968a94b65bb0ee494e7/gh-star-timeline-1.1.0.tar.gz",
    "platform": null,
    "description": "# Github star timeline cli\n**@readwithai** - [X](https://x.com/readwithai) - [blog](https://readwithai.substack.com/) - [machine-aided reading](https://www.reddit.com/r/machineAidedReading/)\n\n`gh-star-timeline` maintains a timeline of the number of stars that a repository has over time.\n\nBasic statistical aggregates can be queried offline\n\n## Alternatives and prior work\nThere are many open source projects on github which do similar things.\n\n[starcount](https://github.com/starkblaze01/Star-Count) and [gh-stars](https://github.com/jonschlinkert/gh-stars) fetch the number of stars for all repositories a user has, but at a specific point in time. I have reimplemented much of this functionality here because I wanted to maintain a timeline. One could alternatively wrap this tool.\n\n[star history](https://www.star-history.com/) can produce plots (but only plots) of the historic number of starts for a repository and is [open source](https://github.com/star-history/star-history).  I believe this uses the `stargazers` api which can provide the time that a repository was starred (See  [this snippet](https://gist.github.com/jasonrudolph/5abee158b42b99a3990a))\n\nThis sort of timeline can be regenerated (up-to stars being removed) from ghis snippet.\n\nI have a similar project, [gh-views](https://github.com/talwrii/gh-views), which fetches the number of views and clones for repository.\n\n## Installation\nYou can install `gh-star-timeline` using [pipx](https://github.com/pypa/pipx):\n\n```\npipx install gh-star-timeline\n```\n\nYou just also install the github command-line tool [gh](https://github.com/cli/cli) and log in to github with `gh auth login`.\n\n# Usage\nTo fetch the total number of stars for a repository you can run e.g.\n```\ngh-star-timeline talwrii/ffmpeg-cookbook\n```\n\nTo get the number of stars for each repo (analogous to [starcount](https://github.com/starkblaze01/Star-Count). This is can be a little slow. It should be faster on later runs.\n\n```\ngh-star-timeline --user talwrii\n```\n\nYou can use the `-n` option to use fetched data.\n\nIf you want the total number of stars for all your repositories, you can run:\n\n```\ngh-star-timeline --user talwrii -n --total\n```\n\nTo get the history of all stars added (or removed - while you where using `gh-star-timeline`). You can use:\n```\ngh-star-timeline talwrii/curlfire --stars -n\n```\n\nTo get a timeline of stars counts over time you can use `--timeseries`\n```\ngh-star-timeline  talwrii/curlfire -n --timeseries\n```\nIt would be relative easy to plot this.\n\nYou can get a timeseries of the total number of stars across all your repos with:\n```\ngh-star-timeline  talwrii/curlfire -n --timeseries -T\n```\n\n## Periodically fetching\nYou can fetch a complete history of star counts (apart from removed stars) at any time by running *without* the `-n` option. You may like to run periodically to keep your local stats up-to-date and detect people removing stars.\n\nThis could be done with a [systemd timer](https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html) or [cron job](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) or a variety o other methods\n\n## Backing up data\nData is stored in `~/.local/state/gh-star-timeline`. You may wish to periodically back up this data.\n\n## Caveats\n`gh-star-timeline` was written and tested on Linux. It will probably work on Mac without any alteration. The paths may need to be adapted for windows - this should be an easy change if you are familiar with the Python programming language and I will accept and quickly merge and pull requests for windows support.\n\n## Support\nIf you find this project useful you could pay me money ($3 maybe) on my [ko-fi](https://ko-fi.com/c/965d8a3fca). This will incentivize me to respond to issues with this repo and work on [similar command-line tools](https://readwithai.substack.com/p/my-productivity-tools)\n\nYou could also look at a similar tool I made to track views and clones of a github repo: [gh-views](https://github.com/talwrii/gh-views). Or read some of the things that I have written surrounding note-taking and reading. Perhaps this [review of note-taking in Obsidian](https://readwithai.substack.com/p/note-taking-with-obsidian-much-of).\n\n## About me\nI am **@readwithai** I make tools for reading, research and agency, sometimes using [Obsidian](https://readwithai.substack.com/p/what-exactly-is-obsidian).\n\nYou can follow me on [X](https://x.com/readwithai) where I write about many things - including productivity tools like this. Or you can read my [blog](https://readwithai.substack.com/) where I write more around reading and research\n\n![@readwithai logo](./logo.png)\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Command-line tool to keep track of historic stars on github. Machine-useable output.",
    "version": "1.1.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ae17a4ffc8df50bd35efbd5ffe2dcfe0661be38eade37968a94b65bb0ee494e7",
                "md5": "90275e3c36b803545c4d1894f9e8ae60",
                "sha256": "ed51b7e9c1594eb7d97bc083aeae5cf1ab4e95dad2bc8acb45a39ee1eb9c3529"
            },
            "downloads": -1,
            "filename": "gh-star-timeline-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "90275e3c36b803545c4d1894f9e8ae60",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6140,
            "upload_time": "2025-04-22T23:13:25",
            "upload_time_iso_8601": "2025-04-22T23:13:25.631194Z",
            "url": "https://files.pythonhosted.org/packages/ae/17/a4ffc8df50bd35efbd5ffe2dcfe0661be38eade37968a94b65bb0ee494e7/gh-star-timeline-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-04-22 23:13:25",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gh-star-timeline"
}
        
Elapsed time: 0.58411s