{"id":38806705,"url":"https://github.com/radiusmethod/awsd","last_synced_at":"2026-01-17T12:51:06.035Z","repository":{"id":39673078,"uuid":"422334099","full_name":"radiusmethod/awsd","owner":"radiusmethod","description":"AWS Profile Switcher in Go","archived":false,"fork":false,"pushed_at":"2026-01-10T20:38:52.000Z","size":655,"stargazers_count":46,"open_issues_count":5,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-15T03:34:26.044Z","etag":null,"topics":["aws","aws-profile","aws-profiles","cli","go","tools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radiusmethod.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-10-28T19:40:20.000Z","updated_at":"2025-12-10T01:34:45.000Z","dependencies_parsed_at":"2023-10-21T03:31:02.848Z","dependency_job_id":"5a0113a4-9f34-4144-9f77-1fd42b799795","html_url":"https://github.com/radiusmethod/awsd","commit_stats":null,"previous_names":["radiusmethod/awsd","pjaudiomv/awsd"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/radiusmethod/awsd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiusmethod%2Fawsd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiusmethod%2Fawsd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiusmethod%2Fawsd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiusmethod%2Fawsd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radiusmethod","download_url":"https://codeload.github.com/radiusmethod/awsd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radiusmethod%2Fawsd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28508653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T11:50:55.898Z","status":"ssl_error","status_checked_at":"2026-01-17T11:50:55.569Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aws","aws-profile","aws-profiles","cli","go","tools"],"created_at":"2026-01-17T12:51:05.959Z","updated_at":"2026-01-17T12:51:06.023Z","avatar_url":"https://github.com/radiusmethod.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# awsd - AWS Profile Switcher in Go\n\n---\n\n\u003cimg src=\"assets/awsd.png\" width=\"200\"\u003e\n\nawsd is a command-line utility that allows you to easily switch between AWS Profiles.\n\n\u003cimg src=\"assets/demo.gif\" width=\"500\"\u003e\n\n## Table of Contents\n\n- [Installation](#installation)\n    - [Homebrew](#homebrew)\n    - [Makefile](#makefile)\n    - [To Finish Installation](#to-finish-installation)\n    - [Upgrading](#upgrading)\n- [Usage](#usage)\n    - [Switching AWS Profiles](#switching-aws-profiles)\n    - [Persist Profile across new shells](#persist-profile-across-new-shells)\n    - [Show your AWS Profile in your shell prompt](#show-your-aws-profile-in-your-shell-prompt)\n    - [Add autocompletion](#add-autocompletion)\n    - [TL;DR (full config example)](#tldr-full-config-example)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nMake sure you have Go installed. You can download it from [here](https://golang.org/dl/).\n\n### Homebrew\n\n```sh\nbrew tap radiusmethod/awsd\nbrew install awsd\n```\n\n### Makefile\n\n```sh\nmake install\n```\n\n### To Finish Installation\nAdd the following to your bash profile or zshrc then open new terminal or source that file\n\n```sh\nalias awsd=\"source _awsd\"\n```\n\nEx. `echo 'alias awsd=\"source _awsd\"' \u003e\u003e ~/.zshrc`\n\n### Upgrading\nUpgrading consists of just doing a brew update and brew upgrade.\n\n```sh\nbrew update \u0026\u0026 brew upgrade radiusmethod/awsd/awsd\n```\n\n## Usage\n\n### Switching AWS Profiles\n\nIt is possible to shortcut the menu selection by passing the profile name you want to switch to as an argument.\n\n```bash\n\u003e awsd work\nProfile work set.\n```\n\nTo switch between different profiles files using the menu, use the following command:\n\n```bash\nawsd\n```\n\nThis command will display a list of available profiles files in your `~/.aws/config` file or from `AWS_CONFIG_FILE`\nif you have that set. It expects for you to have named profiles in your AWS config file. Select the one you want to use.\n\n### Persist Profile across new shells\nTo persist the set profile when you open new terminal windows, you can add the following to your bash profile or zshrc.\n\n```bash\nexport AWS_PROFILE=$(cat ~/.awsd)\n```\n\n### Show your AWS Profile in your shell prompt\nFor better visibility into what your shell is set to it can be helpful to configure your prompt to show the value of the env variable `AWS_PROFILE`.\n\n\u003cimg src=\"assets/screenshot.png\" width=\"700\"\u003e\n\nHere's a sample of my zsh prompt config using oh-my-zsh themes\n\n```sh\n# AWS info\nlocal aws_info='$(aws_prof)'\nfunction aws_prof {\n  local profile=\"${AWS_PROFILE:=}\"\n  echo -n \"%{$fg_bold[blue]%}aws:(%{$fg[cyan]%}${profile}%{$fg_bold[blue]%})%{$reset_color%} \"\n}\n```\n\n```sh\nPROMPT='OTHER_PROMPT_STUFF $(aws_info)'\n```\n\n### Add autocompletion\nYou can add autocompletion when passing config as argument by adding the following to your bash profile or zshrc file.\n`source _awsd_autocomplete`\n\n```bash\n[ \"$BASH_VERSION\" ] \u0026\u0026 AWSD_CMD=\"awsd\" || AWSD_CMD=\"_awsd\"\n_awsd_completion() {\n    local cur=${COMP_WORDS[COMP_CWORD]}\n    local suggestions=$(awsd list)\n    COMPREPLY=($(compgen -W \"$suggestions\" -- $cur))\n    return 0\n}\ncomplete -o nospace -F _awsd_completion \"${AWSD_CMD}\"\n```\n\nNow you can do `awsd my-p` and hit tab and if you had a profile `my-profile` it would autocomplete and find it.\n\n### TL;DR (full config example)\n```bash\nalias awsd=\"source _awsd\"\nsource _awsd_autocomplete\nexport AWS_PROFILE=$(cat ~/.awsd)\n```\n\n## Contributing\n\nIf you encounter any issues or have suggestions for improvements, please open an issue or create a pull request on [GitHub](https://github.com/radiusmethod/awsd).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\nInspired by https://github.com/johnnyopao/awsp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiusmethod%2Fawsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradiusmethod%2Fawsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradiusmethod%2Fawsd/lists"}