Plot your repository stars over time.

Owner
Carlos Alexandro Becker
Creator @goreleaser; SRE @totvslabs; I try to delete more code than I write.
Carlos Alexandro Becker
Comments
  • api key donations

    api key donations

    Ok, since rate limit is always hitting, even after the recent efforts using etag and more redis memory for caching... @ahmetb come with an idea of having a pool of api keys.

    So, this is issue is where we're going to do so.

    The API key needs no permissions, and if you want to help, you can share yours via email at carlos <at> becker.software

    I'll implement the code to round-robin and mark keys as "bad" in the following days.

    We can also come up with some way of saying "thanks" to the key donors either here in the repo or in the website, so if you want your name to show up, please let me know in the email as well.

    If you are good with frontends, I really need some help doing a "makeover" of our current frontend as well :) #124

  • Issue with big repos

    Issue with big repos

    https://starcharts.herokuapp.com/facebook/react returned

    failed to get stargazers from github api: {
      "documentation_url": "https://developer.github.com/v3/#abuse-rate-limits",
      "message": "You have triggered an abuse detection mechanism. Please wait a few minutes before you try again."
    }
    

    Not sure if this is something that can be fixed or if it's just a limit when using the Github API.

  • "rate limited, please try again later"

    First off, thank you for making this awesome repo! It used to show a nice chart of the stargazers over time. But now it seems that every repo besides caarlos0/starcharts gets a "rate limited, please try again later" error.

    In Chrome: Rate limited, please try again later

    For example: https://starchart.cc/aheze/SupportDocs

  • Plot organization / user and multiple repositories in one chart

    Plot organization / user and multiple repositories in one chart

    This project is really great, I use it a lot! One question I had if you'd be interested in having a chart for a full org and/or multiple repositories in one chart? Happy to contribute

  • Use multiple github tokens

    Use multiple github tokens

    Hi @caarlos0 ,

    Hope you are all well !

    I was wondering if we could integrate a github client managing multiple personal tokens. It would be great for handling more repositories.

    I found that package managing multiple tokens for saving dev time: Ref: https://github.com/fengyfei/nuts/blob/master/github/client/client.go

    Thanks for any insights or inputs on that.

    Cheers, X

  • chore(deps): bump github.com/pkg/errors from 0.8.1 to 0.9.1

    chore(deps): bump github.com/pkg/errors from 0.8.1 to 0.9.1

    ⚠️ Dependabot is rebasing this PR ⚠️

    If you make any changes to it yourself then they will take precedence over the rebase.


    Bumps github.com/pkg/errors from 0.8.1 to 0.9.1.

    Release notes

    Sourced from github.com/pkg/errors's releases.

    errors 0.9.1

    pkg/errors 0.9.1 is a bug fix release for errors 0.9.0. This restore the previous behaviour on Cause method, this behaviour was changed on the PR: #215 and many breaking changes was produced by that.

    errors 0.9.0 is a preparation release for a 1.0 final release. Also we were working on removing support for Go 1.8, 1.9 and 1.10 and earlier, and become compatible this package with new way of errors on Go 1.13.

    We tried to move into runtime.CallerFrames but this was not possible, you can show the explanation here: Issue 188.

    The motivation for do the backward compatible this package with Go 1.13 is that you can migrate the easy way for this to the new way.

    Now you could use the methods, Is and As, and the Unwrap() interface like on the standard library.

    The method Cause is now compatible with fmt.Errorf("%w", err) and with the Unwrap() interface.

    On the same way the methods related with wrapping on this package now are compatible with Cause and Unwrap() interface.

    Improvements

    • .travis.yml Now use make file.
    • reduce allocations when printing stack traces. Thanks @cstockton
    • Reduce allocations in Stacktrace.Format
    • Add Support to Go 1.13. Thanks @jayschwa, @Sherlock-Holo and @puellanivis.
    • Add json.Marshaler support to the Frame type. Thanks @flimzy

    Bugs fixed

    • .travis.yml Adjust Go versions. Thanks @komuw, @aperezg
    • minor fix in an example to print Stack Trace. Thanks @bep.
    • Remove not necessary code.
    • Clean up documentation. Thanks @seh.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Unable to run locally

    Unable to run locally

    Installed 1.10.2 version for MacOS, ran go run main.go and the following error.

    main.go:8:2: cannot find package "github.com/apex/httplog" in any of:
    	/usr/local/go/src/github.com/apex/httplog (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/apex/httplog (from $GOPATH)
    main.go:9:2: cannot find package "github.com/apex/log" in any of:
    	/usr/local/go/src/github.com/apex/log (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/apex/log (from $GOPATH)
    main.go:10:2: cannot find package "github.com/apex/log/handlers/text" in any of:
    	/usr/local/go/src/github.com/apex/log/handlers/text (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/apex/log/handlers/text (from $GOPATH)
    main.go:11:2: cannot find package "github.com/caarlos0/starcharts/config" in any of:
    	/usr/local/go/src/github.com/caarlos0/starcharts/config (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/caarlos0/starcharts/config (from $GOPATH)
    main.go:12:2: cannot find package "github.com/caarlos0/starcharts/controller" in any of:
    	/usr/local/go/src/github.com/caarlos0/starcharts/controller (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/caarlos0/starcharts/controller (from $GOPATH)
    main.go:13:2: cannot find package "github.com/caarlos0/starcharts/internal/cache" in any of:
    	/usr/local/go/src/github.com/caarlos0/starcharts/internal/cache (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/caarlos0/starcharts/internal/cache (from $GOPATH)
    main.go:14:2: cannot find package "github.com/gorilla/handlers" in any of:
    	/usr/local/go/src/github.com/gorilla/handlers (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/gorilla/handlers (from $GOPATH)
    main.go:15:2: cannot find package "github.com/gorilla/mux" in any of:
    	/usr/local/go/src/github.com/gorilla/mux (from $GOROOT)
    	/Users/prabhakar267/go/src/github.com/gorilla/mux (from $GOPATH)
    
  • chore(deps): bump codecov/codecov-action from v1.1.0 to v1.1.1

    chore(deps): bump codecov/codecov-action from v1.1.0 to v1.1.1

    Bumps codecov/codecov-action from v1.1.0 to v1.1.1.

    Release notes

    Sourced from codecov/codecov-action's releases.

    v1.1.1

    Fixes

    • #184 Add automation to ensure proper builds and deployments (fixes issue with non-built v1.1.0)
    • #184 Fixes verbose flag
    Changelog

    Sourced from codecov/codecov-action's changelog.

    1.1.1

    Fixes

    • #184 Add automations ensure proper builds and deployments
    • #184 Fixes verbose flag
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Adjust star data collection based on repo popularity

    Adjust star data collection based on repo popularity

    Testing on google/guava (38304 total stars) crashes and yields a "Please try again in a few minutes. This might not work for very famous repository" message.

    I would recommend not collecting star count on a granular basis for very popular repositories. Instead, consider collecting weekly data. In the case of guava, which has existed for ~6 years, you'd have around 300 data points.

  • chore(deps): bump github.com/gorilla/mux from 1.7.3 to 1.7.4

    chore(deps): bump github.com/gorilla/mux from 1.7.3 to 1.7.4

    Bumps github.com/gorilla/mux from 1.7.3 to 1.7.4.

    Release notes

    Sourced from github.com/gorilla/mux's releases.

    v1.7.4 addresses a number of performance improvements (#544), bugs (#509, #535), and documentation improvements.

    CHANGELOG

    Commits
    • 75dcda0 perf: reduce allocations in (*routeRegexp).getURLQuery (#544)
    • 49c0148 lint: Remove golint warning (#526)
    • 4de8a5a fix headers regexp test (#536)
    • 2854a05 Merge pull request #535 from fharding1/cors-subrouter-bug
    • 946b623 Fix the CORSMethodMiddleware bug with subrouters
    • f395758 Remove/cleanup request context helpers (#525)
    • ff4e71f Guess the scheme if r.URL.Scheme is unset (#474)
    • 884b5ff Added capacity to slice creation, when capacity is known (#516)
    • e1863a6 Modified http status codes, using constants provided by the http package (#514)
    • 9536e40 bugfix: subrouter custom methodNotAllowed handler returning 404 (#509) (#510)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/prometheus/client_golang from 1.2.1 to 1.7.1

    chore(deps): bump github.com/prometheus/client_golang from 1.2.1 to 1.7.1

    Bumps github.com/prometheus/client_golang from 1.2.1 to 1.7.1.

    Release notes

    Sourced from github.com/prometheus/client_golang's releases.

    1.7.1 / 2020-06-23

    • [BUGFIX] API client: Actually propagate start/end parameters of LabelNames and LabelValues. #771

    1.7.0 / 2020-06-17

    • [CHANGE] API client: Add start/end parameters to LabelNames and LabelValues. #767
    • [FEATURE] testutil: Add GatherAndCount and enable filtering in CollectAndCount #753
    • [FEATURE] API client: Add support for status and runtimeinfo endpoints. #755
    • [ENHANCEMENT] Wrapping nil with a WrapRegistererWith... function creates a no-op Registerer. #764
    • [ENHANCEMENT] promlint: Allow Kelvin as a base unit for cases like color temperature. #761
    • [BUGFIX] push: Properly handle empty job and label values. #752

    1.6.0 / 2020-04-28

    • [FEATURE] testutil: Add lint checks for metrics, including a sub-package promlint to expose the linter engine for external usage. #739 #743
    • [ENHANCEMENT] API client: Improve error messages. #731
    • [BUGFIX] process collector: Fix process_resident_memory_bytes on 32bit MS Windows. #734

    1.5.1 / 2020-03-14

    • [BUGFIX] promhttp: Remove another superfluous WriteHeader call.

    1.5.0 / 2020-03-03

    • [FEATURE] promauto: Add a factory to allow automatic registration with a local registry. #713
    • [FEATURE] promauto: Add NewUntypedFunc. #713
    • [FEATURE] API client: Support new metadata endpoint. #718

    1.4.1 / 2020-02-07

    • [BUGFIX] Fix timestamp of exemplars in CounterVec. #710

    1.4.0 / 2020-01-27

    • [CHANGE] Go collector: Improve doc string for go_gc_duration_seconds. #702
    • [FEATURE] Support a subset of OpenMetrics, including exemplars. Needs opt-in via promhttp.HandlerOpts. EXPERIMENTAL #706
    • [FEATURE] Add testutil.CollectAndCount. #703

    1.3.0 / 2019-12-21

    • [FEATURE] Support tags in Graphite bridge. #668
    • [BUGFIX] API client: Actually return Prometheus warnings. #699
    Changelog

    Sourced from github.com/prometheus/client_golang's changelog.

    1.7.1 / 2020-06-23

    • [BUGFIX] API client: Actually propagate start/end parameters of LabelNames and LabelValues. #771

    1.7.0 / 2020-06-17

    • [CHANGE] API client: Add start/end parameters to LabelNames and LabelValues. #767
    • [FEATURE] testutil: Add GatherAndCount and enable filtering in CollectAndCount #753
    • [FEATURE] API client: Add support for status and runtimeinfo endpoints. #755
    • [ENHANCEMENT] Wrapping nil with a WrapRegistererWith... function creates a no-op Registerer. #764
    • [ENHANCEMENT] promlint: Allow Kelvin as a base unit for cases like color temperature. #761
    • [BUGFIX] push: Properly handle empty job and label values. #752

    1.6.0 / 2020-04-28

    • [FEATURE] testutil: Add lint checks for metrics, including a sub-package promlint to expose the linter engine for external usage. #739 #743
    • [ENHANCEMENT] API client: Improve error messages. #731
    • [BUGFIX] process collector: Fix process_resident_memory_bytes on 32bit MS Windows. #734

    1.5.1 / 2020-03-14

    • [BUGFIX] promhttp: Remove another superfluous WriteHeader call. #726

    1.5.0 / 2020-03-03

    • [FEATURE] promauto: Add a factory to allow automatic registration with a local registry. #713
    • [FEATURE] promauto: Add NewUntypedFunc. #713
    • [FEATURE] API client: Support new metadata endpoint. #718

    1.4.1 / 2020-02-07

    • [BUGFIX] Fix timestamp of exemplars in CounterVec. #710

    1.4.0 / 2020-01-27

    • [CHANGE] Go collector: Improve doc string for go_gc_duration_seconds. #702
    • [FEATURE] Support a subset of OpenMetrics, including exemplars. Needs opt-in via promhttp.HandlerOpts. EXPERIMENTAL #706
    • [FEATURE] Add testutil.CollectAndCount. #703

    1.3.0 / 2019-12-21

    • [FEATURE] Support tags in Graphite bridge. #668
    • [BUGFIX] API client: Actually return Prometheus warnings. #699
    Commits
    • fe7bd95 Merge pull request #775 from prometheus/beorn7/release
    • c5ba386 Cut v1.7.1
    • ca603a8 Merge pull request #774 from prometheus/repo_sync
    • 2cbf08b Update common Prometheus files
    • 3df22a4 Merge pull request #771 from yeya24/fix-time-range-propagation
    • 0238879 Merge pull request #772 from mhansen/patch-1
    • 7687ac2 histogram.go: fix copy/paste typo
    • 94ae577 fix time parameter propagation in labels API
    • b05e50c Merge pull request #769 from prometheus/beorn7/release
    • cc5731c Cut v1.7.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Support Dark Mode (Transparent SVG)

    Support Dark Mode (Transparent SVG)

    Hello, friend.

    I'm this person.

    I love starcharts. Use it lots. I don't have the time to provide a PR, but would love to encourage development of this specific Feature with another donation in Nano :)

    The idea is easy to understand. Happy to provide further context.

    Imagine this image, transparent and "bright" color graph lines :)

    Screen Shot 2022-06-27 at 2 46 32 PM .

    @nano2dev on Twitter.

    Cheers.

  • Repositories with `*.svg` can't be rendered

    Repositories with `*.svg` can't be rendered

    Trying to render a repository ending with .svg results in an error, example https://starchart.cc/adobe-webplatform/Snap.svg. An easy way would be to add a query param ?svg=true or something similar, but this might break it for current repositories using it. If I open something like owner/repository.svg, a request could be made to check if there is a repository owner/repository.svg and if not, view the SVG image. Don't know if this is possible already, but you could evaluate the Accept header to show the SVG if requesting it.

  • Feature: Control the coloring of the background and the lines

    Feature: Control the coloring of the background and the lines

    Hey there, I have just stumbled upon this wonderful project, and I think it would be nice to add support for changing colors using some extra URL parameters.

    starchart.cc/caarlos0/starcharts.svg?background="dark"&axis="white"&line="blue"
    
自动生成星图(stars 趋势)的 action

Starcharts Action 灵感来自 caarlos0/starcharts,用 Actions 避免了 GitHub API 的速率限制 入参 参数 描述 是否必传 默认值 github_token 用于提交时身份验证的 token 是 svg_path 星图的保存路径 否 STARCHA

Nov 21, 2022
It is a package and command line application that provides you to store encrypted credentials/secrets in your repository.

sypher[ ⚠️ Work in progress] sypher provides you to store your credentials and secrets as encrypted in your repository. Usage Install the command line

Feb 23, 2022
A golang package to communicate with HipChat over XMPP

hipchat This is a abstraction in golang to Hipchat's implementation of XMPP. It communicates over TLS and requires zero knowledge of XML or the XMPP p

Jan 3, 2023
Simple program that uploads large files to Amazon S3 over slow connections.

shrimp is a small program that can reliably upload large files to Amazon S3. My personal use case is to upload large files to S3 over a slow residenti

Nov 30, 2022
Command line interface to windows clipboard over KiTTY remote-control printing

kclip Command line interface to windows clipboard over KiTTY remote-control printing About This tool behaves like the cat command, it just tries to pa

Dec 12, 2021
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.

unite Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API. Client (OBS Live) Server Ar

Dec 5, 2022
This repository shows how can we use `AWS Lambda` to build serverless applications in golang.

Serverless Api in Go with AWS Lambda Here we are going to use AWS Lambda to build serverless applications in golang. Prerequisites You’ll need an AWS

Nov 3, 2021
Repository generator for Go

repogen repogen is a Golang Codegen that generates database query and mutation end-to-end with its model. How it works repogen describe our given tabl

Aug 4, 2022
This is the new api repository for Feel the Movies. Written in Go, totally open source.
This is the new api repository for Feel the Movies. Written in Go, totally open source.

This is the new API repository for Feel the Movies. Written in Go, totally open source. App Currently available for Android only. I have plans for an

Sep 18, 2022
Satisfactory Mod Repository (SMR) API

SMR API The Satisfactory Mod Repository backend API Running Execute: go run cmd/api/serve.go Configuration Running the API has a lot of pre-requisites

Feb 4, 2022
This repository will have code implemented for the 100 days of golang.

golang_100 This repository will have code implemented for the 100 days of golang. The resources I will use to do this 100 days golang programming are:

Jan 10, 2022
Golang-action - A template repository for writing custom GitHub Actions in Golang

Golang Action A template repository for writing custom GitHub Actions in Golang.

Feb 12, 2022
Updates labels for a Github repository using a template file.

Github Labeler The purpose of this application is to sync your default labels with a repository hosted by Github. Labeler automatically merges your la

Mar 6, 2022
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.

collab-scanner GitHub CLI extension A GitHub CLI extension that displays collaboration-related information on a repository. Install gh extension insta

Dec 30, 2022
A simple api built in Go that facilitates directly sending email from your client side html to your inbox

go-email-service A simple api built in Go that facilitates directly sending emai

Dec 28, 2021
Time tracker for nerds

track Time tracker for nerds Installation Binaries Grab binaries for different OS from https://github.com/neonxp/track/releases Homebrew brew install

May 25, 2022
AWS Cloudfront Real-Time Logging Stack

aws-cf-rtl AWS Cloudfront Real-Time Logging Why? AWS Cloudfront easily stashes JSON formatted weblogs to S3 buckets (standard logging). However, proce

Jan 18, 2022
🐥 Sturdy is an open-source, real-time, version control platform for startups
🐥 Sturdy is an open-source, real-time, version control platform for startups

Welcome to Sturdy! ?? ?? Real-time code collaboration. Sturdy is an open-source version control platform that allows you to interact with your code at

Dec 24, 2022
Sync your bank transactions with google sheets using Open Banking APIs

Sync your bank transactions with google sheets using Open Banking APIs

Jul 22, 2022