{"id":13413696,"url":"https://github.com/nao1215/gup","last_synced_at":"2026-02-23T15:03:08.794Z","repository":{"id":37581285,"uuid":"461107731","full_name":"nao1215/gup","owner":"nao1215","description":"gup - Update binaries installed by \"go install\" with goroutines.","archived":false,"fork":false,"pushed_at":"2025-04-24T12:06:26.000Z","size":10714,"stargazers_count":399,"open_issues_count":4,"forks_count":17,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-24T12:49:48.682Z","etag":null,"topics":["cli-app","command-line-tool","cross-platform","go","golang","golang-tools","update","updater","user-friendly"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nao1215.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"nao1215"}},"created_at":"2022-02-19T06:31:07.000Z","updated_at":"2025-04-24T12:05:20.000Z","dependencies_parsed_at":"2023-12-19T15:01:04.512Z","dependency_job_id":"a9f12b43-5214-4460-bf18-8d8ceb7615b4","html_url":"https://github.com/nao1215/gup","commit_stats":null,"previous_names":[],"tags_count":62,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fgup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fgup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fgup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nao1215%2Fgup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nao1215","download_url":"https://codeload.github.com/nao1215/gup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478190,"owners_count":22077676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli-app","command-line-tool","cross-platform","go","golang","golang-tools","update","updater","user-friendly"],"created_at":"2024-07-30T20:01:46.659Z","updated_at":"2026-02-21T02:04:42.365Z","avatar_url":"https://github.com/nao1215.png","language":"Go","funding_links":["https://github.com/sponsors/nao1215"],"categories":["Go","Package Management","包管理","\u003ca name=\"programming\"\u003e\u003c/a\u003eProgramming"],"sub_categories":["HTTP Clients","HTTP客户端"],"readme":"\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-16-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge.svg)](https://github.com/avelino/awesome-go)\n[![reviewdog](https://github.com/nao1215/gup/actions/workflows/reviewdog.yml/badge.svg)](https://github.com/nao1215/gup/actions/workflows/reviewdog.yml)\n![Coverage](https://raw.githubusercontent.com/nao1215/octocovs-central-repo/main/badges/nao1215/gup/coverage.svg)\n[![Go Reference](https://pkg.go.dev/badge/github.com/nao1215/gup.svg)](https://pkg.go.dev/github.com/nao1215/gup)\n[![Go Report Card](https://goreportcard.com/badge/github.com/nao1215/gup)](https://goreportcard.com/report/github.com/nao1215/gup)\n![GitHub](https://img.shields.io/github/license/nao1215/gup)\n\n[日本語](./doc/ja/README.md) | [Русский](./doc/ru/README.md) | [中文](./doc/zh-cn/README.md) | [한국어](./doc/ko/README.md) | [Español](./doc/es/README.md) | [Français](./doc/fr/README.md)\n\n# gup - Update binaries installed by \"go install\"\n\n![sample](./doc/img/sample.png)\n\n**gup** command update binaries installed by \"go install\" to the latest version. gup updates all binaries in parallel, so very fast. It also provides subcommands for manipulating binaries under \\$GOPATH/bin (\\$GOBIN). It is a cross-platform software that runs on Windows, Mac and Linux.\n\nIf you are using oh-my-zsh, then gup has an alias set up. The alias is `gup - git pull --rebase`. Therefore, please make sure that the oh-my-zsh alias is disabled (e.g. $ \\gup update).\n\n## Breaking change (v1.0.0)\n- The config file format changed from `gup.conf` to `gup.json`.\n- `gup.conf` is no longer read by `gup import`.\n- The update channel (`latest` / `main` / `master`) is stored per package in `gup.json`.\n\n\n## Supported OS (unit testing with GitHub Actions)\n- Linux\n- Mac\n- Windows\n\n## How to install\n### Use \"go install\"\nIf you do not have the Go development environment installed on your system, please install it from the [official website](https://go.dev/doc/install).\n```\ngo install github.com/nao1215/gup@latest\n```\n\n### Use homebrew\n```shell\nbrew install nao1215/gup\n```\n\n### Use mise-en-place\n```shell\nmise use -g gup@latest\n```\n\n### Install from Package or Binary\n[The release page](https://github.com/nao1215/gup/releases) contains packages in .deb, .rpm, and .apk formats. gup command uses the go command internally, so the golang installation is required.\n\n\n## How to use\n### Update all binaries\nIf you update all binaries, you just run `$ gup update`.\n\n```shell\n$ gup update\nupdate binary under $GOPATH/bin or $GOBIN\n[ 1/30] github.com/cheat/cheat/cmd/cheat (Already up-to-date: v0.0.0-20211009161301-12ffa4cb5c87 / go1.22.4)\n[ 2/30] fyne.io/fyne/v2/cmd/fyne_demo (Already up-to-date: v2.1.3 / go1.22.4)\n[ 3/30] github.com/nao1215/gal/cmd/gal (v1.0.0 to v1.2.0 / go1.22.4)\n[ 4/30] github.com/matsuyoshi30/germanium/cmd/germanium (Already up-to-date: v1.2.2 / go1.22.4)\n[ 5/30] github.com/onsi/ginkgo/ginkgo (Already up-to-date: v1.16.5 / go1.22.4)\n[ 6/30] github.com/git-chglog/git-chglog/cmd/git-chglog (Already up-to-date: v0.15.1 / go1.22.4)\n   :\n   :\n```\n\n### Update the specified binary\nIf you want to update only the specified binaries, you specify multiple command names separated by space.\n```shell\n$ gup update subaru gup ubume\nupdate binary under $GOPATH/bin or $GOBIN\n[1/3] github.com/nao1215/gup (v0.7.0 to v0.7.1, go1.20.1 to go1.22.4)\n[2/3] github.com/nao1215/subaru (Already up-to-date: v1.0.2 / go1.22.4)\n[3/3] github.com/nao1215/ubume/cmd/ubume (Already up-to-date: v1.4.1 / go1.22.4)\n```\n\n### Exclude binaries during gup update\nIf you don't want to update some binaries simply specify binaries which should not be updated separated using ',' without spaces as a delimiter.\nAlso works in combination with --dry-run\n```shell\n$ gup update --exclude=gopls,golangci-lint    //--exclude or -e, this example will exclude 'gopls' and 'golangci-lint'\n```\n\n### Update binaries with @main, @master, or @latest\nIf you want to control update source per binary, use the following options:\n- `--main` (`-m`): update by `@main` (fallback to `@master`)\n- `--master`: update by `@master`\n- `--latest`: update by `@latest`\n\nThe selected channel is saved to `gup.json` and reused by future `gup update` runs.\n```shell\n$ gup update --main=gup,lazygit --master=sqly --latest=air\n```\n\n### List up command name with package path and version under $GOPATH/bin\nlist subcommand print command information under $GOPATH/bin or $GOBIN. The output information is the command name, package path, and command version.\n![sample](doc/img/list.png)\n\n### Remove the specified binary\nIf you want to remove a command under $GOPATH/bin or $GOBIN, use the remove subcommand. The remove subcommand asks if you want to remove it before removing it.\n```shell\n$ gup remove subaru gal ubume\ngup:CHECK: remove /home/nao/.go/bin/subaru? [Y/n] Y\nremoved /home/nao/.go/bin/subaru\ngup:CHECK: remove /home/nao/.go/bin/gal? [Y/n] n\ncancel removal /home/nao/.go/bin/gal\ngup:CHECK: remove /home/nao/.go/bin/ubume? [Y/n] Y\nremoved /home/nao/.go/bin/ubume\n```\n\nIf you want to force the removal, use the --force option.\n```shell\n$ gup remove --force gal\nremoved /home/nao/.go/bin/gal\n```\n\n### Check if the binary is the latest version\nIf you want to know if the binary is the latest version, use the check subcommand. check subcommand checks if the binary is the latest version and displays the name of the binary that needs to be updated.\n```shell\n$ gup check\ncheck binary under $GOPATH/bin or $GOBIN\n[ 1/33] github.com/cheat/cheat (Already up-to-date: v0.0.0-20211009161301-12ffa4cb5c87 / go1.22.4)\n[ 2/33] fyne.io/fyne/v2 (current: v2.1.3, latest: v2.1.4 / current: go1.20.2, installed: go1.22.4)\n   :\n[33/33] github.com/nao1215/ubume (Already up-to-date: v1.5.0 / go1.22.4)\n\nIf you want to update binaries, the following command.\n           $ gup update fyne_demo gup mimixbox\n```\n\nLike other subcommands, you can only check the specified binaries.\n```shell\n$ gup check lazygit mimixbox\ncheck binary under $GOPATH/bin or $GOBIN\n[1/2] github.com/jesseduffield/lazygit (Already up-to-date: v0.32.2 / go1.22.4)\n[2/2] github.com/nao1215/mimixbox (current: v0.32.1, latest: v0.33.2 / go1.22.4)\n\nIf you want to update binaries, the following command.\n           $ gup update mimixbox\n```\n### Export／Import subcommand\nUse export/import when you want to install the same Go binaries across multiple systems.\n`gup.json` stores import path, binary version, and update channel (`latest` / `main` / `master`).\n`import` installs the exact version written in the file.\n\n```json\n{\n  \"schema_version\": 1,\n  \"packages\": [\n    {\n      \"name\": \"gal\",\n      \"import_path\": \"github.com/nao1215/gal/cmd/gal\",\n      \"version\": \"v1.1.1\",\n      \"channel\": \"latest\"\n    },\n    {\n      \"name\": \"posixer\",\n      \"import_path\": \"github.com/nao1215/posixer\",\n      \"version\": \"v0.1.0\",\n      \"channel\": \"main\"\n    }\n  ]\n}\n```\n\nBy default:\n- `gup export` writes to `$XDG_CONFIG_HOME/gup/gup.json`\n- `gup import` auto-detects config path in this order:\n  1) `$XDG_CONFIG_HOME/gup/gup.json` (if exists)\n  2) `./gup.json` (if exists)\n\nYou can always override the path with `--file`.\n\n```shell\n※ Environments A (e.g. ubuntu)\n$ gup export\nExport /home/nao/.config/gup/gup.json\n\n※ Environments B (e.g. debian)\n$ gup import\n```\n\n`export` can print config content to STDOUT by `--output`. `import` can read a specific file by `--file`.\n```shell\n※ Environments A (e.g. ubuntu)\n$ gup export --output \u003e gup.json\n\n※ Environments B (e.g. debian)\n$ gup import --file=gup.json\n```\n\n### Generate man-pages (for linux, mac)\nman subcommand generates man-pages under /usr/share/man/man1.\n```shell\n$ sudo gup man\nGenerate /usr/share/man/man1/gup-bug-report.1.gz\nGenerate /usr/share/man/man1/gup-check.1.gz\nGenerate /usr/share/man/man1/gup-completion.1.gz\nGenerate /usr/share/man/man1/gup-export.1.gz\nGenerate /usr/share/man/man1/gup-import.1.gz\nGenerate /usr/share/man/man1/gup-list.1.gz\nGenerate /usr/share/man/man1/gup-man.1.gz\nGenerate /usr/share/man/man1/gup-remove.1.gz\nGenerate /usr/share/man/man1/gup-update.1.gz\nGenerate /usr/share/man/man1/gup-version.1.gz\nGenerate /usr/share/man/man1/gup.1.gz\n```\n\n### Generate shell completion file (for bash, zsh, fish, PowerShell)\n`completion` prints completion scripts to STDOUT when you pass a shell name.\nTo install completion files into your user environment for bash/fish/zsh, use `--install`.\nFor PowerShell, redirect the output to a `.ps1` file and source it from your profile.\n\n```shell\n$ gup completion bash \u003e gup.bash\n$ gup completion zsh \u003e _gup\n$ gup completion fish \u003e gup.fish\n$ gup completion powershell \u003e gup.ps1\n\n# Install files automatically to default user paths\n$ gup completion --install\n```\n\n### Desktop notification\nIf you use gup with --notify option, gup command notify you on your desktop whether the update was successful or unsuccessful after the update was finished.\n```shell\n$ gup update --notify\n```\n![success](./doc/img/notify_success.png)\n![warning](./doc/img/notify_warning.png)\n\n\n## Contributing\nFirst off, thanks for taking the time to contribute! ❤️  See [CONTRIBUTING.md](./CONTRIBUTING.md) for more information.\nDeveloper workflow, quality checklist, and tool management are documented in [CONTRIBUTING.md](./CONTRIBUTING.md).\nContributions are not only related to development. For example, GitHub Star motivates me to develop!\n\n### Star History\n[![Star History Chart](https://api.star-history.com/svg?repos=nao1215/gup\u0026type=Date)](https://star-history.com/#nao1215/gup\u0026Date)\n\n## Contact\nIf you would like to send comments such as \"find a bug\" or \"request for additional features\" to the developer, please use one of the following contacts.\n\n- [GitHub Issue](https://github.com/nao1215/gup/issues)\n\nYou can use the bug-report subcommand to send a bug report.\n```\n$ gup bug-report\n※ Open GitHub issue page by your default browser\n```\n\n## LICENSE\nThe gup project is licensed under the terms of [the Apache License 2.0](./LICENSE).\n\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://debimate.jp/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22737008?v=4?s=100\" width=\"100px;\" alt=\"CHIKAMATSU Naohiro\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCHIKAMATSU Naohiro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=nao1215\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://qiita.com/KEINOS\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11840938?v=4?s=100\" width=\"100px;\" alt=\"KEINOS\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKEINOS\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=KEINOS\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://mattn.kaoriya.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10111?v=4?s=100\" width=\"100px;\" alt=\"mattn\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emattn\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=mattn\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://jlec.de/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/79732?v=4?s=100\" width=\"100px;\" alt=\"Justin Lecher\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJustin Lecher\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=jlec\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lincolnthalles\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/7476810?v=4?s=100\" width=\"100px;\" alt=\"Lincoln Nogueira\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLincoln Nogueira\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=lincolnthalles\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/matsuyoshi30\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/16238709?v=4?s=100\" width=\"100px;\" alt=\"Masaya Watanabe\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMasaya Watanabe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=matsuyoshi30\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/memreflect\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/59116123?v=4?s=100\" width=\"100px;\" alt=\"memreflect\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ememreflect\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=memreflect\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Akimon658\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/81888693?v=4?s=100\" width=\"100px;\" alt=\"Akimo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAkimo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=Akimon658\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/rkscv\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/155284493?v=4?s=100\" width=\"100px;\" alt=\"rkscv\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003erkscv\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=rkscv\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/scop\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/109152?v=4?s=100\" width=\"100px;\" alt=\"Ville Skyttä\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVille Skyttä\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=scop\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://mochaa.ws/?utm_source=github_user\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/21154023?v=4?s=100\" width=\"100px;\" alt=\"Zephyr Lykos\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eZephyr Lykos\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=mochaaP\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://itrooz.fr\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/42669835?v=4?s=100\" width=\"100px;\" alt=\"iTrooz\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eiTrooz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=iTrooz\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://pacman.blog.br\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/59438?v=4?s=100\" width=\"100px;\" alt=\"Tiago Peczenyj\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTiago Peczenyj\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=peczenyj\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://shogo82148.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1157344?v=4?s=100\" width=\"100px;\" alt=\"ICHINOSE Shogo\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eICHINOSE Shogo\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=shogo82148\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/nao1215/gup/commits?author=shogo82148\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://blog.lenhof.eu.org/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/36410287?v=4?s=100\" width=\"100px;\" alt=\"Jean-Yves LENHOF\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJean-Yves LENHOF\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=jylenhof\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://clarabennett2626.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/261616207?v=4?s=100\" width=\"100px;\" alt=\"Clara Bennett\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eClara Bennett\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/nao1215/gup/commits?author=clarabennett2626\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Fgup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnao1215%2Fgup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnao1215%2Fgup/lists"}