starcharts
Plot your repo stars over time!
Usage
go run main.go
Then browse http://localhost:3000/me/myrepo .
Example chart:
Plot your repo stars over time!
go run main.go
Then browse http://localhost:3000/me/myrepo .
Example chart:
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
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.
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.
For example: https://starchart.cc/aheze/SupportDocs
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
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
⚠️ 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.
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
andAs
, and theUnwrap()
interface like on the standard library.The method
Cause
is now compatible withfmt.Errorf("%w", err)
and with theUnwrap()
interface.On the same way the methods related with
wrapping
on this package now are compatible withCause
andUnwrap()
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
614d223
Revert "Support Go 1.13 error chains in Cause
(#215)" (#220)49f8f61
Support Go 1.13 error chains in Cause
(#215)004deef
remove unnecessary use of fmt.Sprintf (#217)6d954f5
feat: support std errors functions (#213)7f95ac1
Add support for Go 1.13 error chains (#206)91f1693
travis.yml: add Go 1.13ca0248e
fix travis, 1.10 doesnt support by unconvert anymore27936f6
travis.yml: add Go 1.12 (#200)856c240
Add json.Marshaler support to the Frame type. (#197)ffb6e22
Reduce allocations in StackTrace.Format (#194)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
.
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)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)
Bumps codecov/codecov-action from v1.1.0 to v1.1.1.
1fc7722
Merge pull request #184 from codecov/makefile08574d8
Add dist file0c1af46
Update install scriptf8c87eb
Update changelog8b988c2
Fix verbose flag4686d70
Udpate CHANGELOG4ef30f2
Update changelog58cd650
Update package-lockefb8449
forcec6de3f8
Add makefile and automationsDependabot 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
.
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)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.
Bumps github.com/gorilla/mux from 1.7.3 to 1.7.4.
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
- Reduce allocations in (*routeRegexp).getURLQuery (#544) @klauspost
- Fixed golint warnings (#526) @KosToZyB
- fix headers regexp test case (#536) @icattlecoder
- Fix the CORSMethodMiddleware bug with subrouters (#535) @fharding1
- Remove/cleanup request context helpers (#525) @fharding1
- Guess the scheme if r.URL.Scheme is unset (#474) @euank
- Added capacity to slice creation, when capacity is known (#516) @vivekv96
- Modified http status codes, using constants provided by the http package (#514) @vivekv96
- bugfix/subrouter custom methodNotAllowed handler returning 404 (#509) (#510) @jonasdebeukelaer
- Update README (self-host logo) (#513) @elithrar
- Remove TravisCI badge (#503) @elithrar
- Add documentation for using mux to serve a SPA (#493) @fharding1
- Simplify code (#501) @muesli
- Avoid unnecessary conversion (#502) @muesli
- Update config.yml (#495) @elithrar
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-bug946b623
Fix the CORSMethodMiddleware bug with subroutersf395758
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)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
.
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)Bumps github.com/prometheus/client_golang from 1.2.1 to 1.7.1.
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
andLabelValues
. #7711.7.0 / 2020-06-17
- [CHANGE] API client: Add start/end parameters to
LabelNames
andLabelValues
. #767- [FEATURE] testutil: Add
GatherAndCount
and enable filtering inCollectAndCount
#753- [FEATURE] API client: Add support for
status
andruntimeinfo
endpoints. #755- [ENHANCEMENT] Wrapping
nil
with aWrapRegistererWith...
function creates a no-opRegisterer
. #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. #7341.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
. #7101.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
. #7031.3.0 / 2019-12-21
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
andLabelValues
. #7711.7.0 / 2020-06-17
- [CHANGE] API client: Add start/end parameters to
LabelNames
andLabelValues
. #767- [FEATURE] testutil: Add
GatherAndCount
and enable filtering inCollectAndCount
#753- [FEATURE] API client: Add support for
status
andruntimeinfo
endpoints. #755- [ENHANCEMENT] Wrapping
nil
with aWrapRegistererWith...
function creates a no-opRegisterer
. #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. #7341.5.1 / 2020-03-14
- [BUGFIX] promhttp: Remove another superfluous
WriteHeader
call. #7261.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
. #7101.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
. #7031.3.0 / 2019-12-21
fe7bd95
Merge pull request #775 from prometheus/beorn7/releasec5ba386
Cut v1.7.1ca603a8
Merge pull request #774 from prometheus/repo_sync2cbf08b
Update common Prometheus files3df22a4
Merge pull request #771 from yeya24/fix-time-range-propagation0238879
Merge pull request #772 from mhansen/patch-17687ac2
histogram.go: fix copy/paste typo94ae577
fix time parameter propagation in labels APIb05e50c
Merge pull request #769 from prometheus/beorn7/releasecc5731c
Cut v1.7.0Dependabot 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
.
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 readmeAdditionally, you can set the following in your Dependabot dashboard:
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 :)
.@nano2dev on Twitter.
Cheers.
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.
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"
Starcharts Action 灵感来自 caarlos0/starcharts,用 Actions 避免了 GitHub API 的速率限制 入参 参数 描述 是否必传 默认值 github_token 用于提交时身份验证的 token 是 svg_path 星图的保存路径 否 STARCHA
sypher[ ⚠️ Work in progress] sypher provides you to store your credentials and secrets as encrypted in your repository. Usage Install the command line
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
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
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
unite Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API. Client (OBS Live) Server Ar
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
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
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
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
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:
Golang Action A template repository for writing custom GitHub Actions in Golang.
Github Labeler The purpose of this application is to sync your default labels with a repository hosted by Github. Labeler automatically merges your la
collab-scanner GitHub CLI extension A GitHub CLI extension that displays collaboration-related information on a repository. Install gh extension insta
go-email-service A simple api built in Go that facilitates directly sending emai
track Time tracker for nerds Installation Binaries Grab binaries for different OS from https://github.com/neonxp/track/releases Homebrew brew install
aws-cf-rtl AWS Cloudfront Real-Time Logging Why? AWS Cloudfront easily stashes JSON formatted weblogs to S3 buckets (standard logging). However, proce
Welcome to Sturdy! ?? ?? Real-time code collaboration. Sturdy is an open-source version control platform that allows you to interact with your code at
Sync your bank transactions with google sheets using Open Banking APIs