Skip to main content

Wrapper for AWS CLI v2

Project description

AWS CLI v2 for Python

PyPI - awscliv2 PyPI - Python Version

Wrapper for AWS CLI v2.

Before you start

  • This is not an official AWS CLI v2 application, rant there
  • Check the source code of this app, as you are working with sensitive data
  • By default this app uses amazon/aws-cli Docker image
  • To use binaries for your OS, run awsv2 --install
  • Cross-check the source code again, probably I want to steal your credentials


python -m pip install awscliv2

You can add an alias to your ~/.bashrc or ~/.zshrc to use it as a regular AWS CLI v2

alias aws='awsv2'


Install AWS CLI v2:

# do not worry if this fails, you can still use awsv2 if you have docker installed
awsv2 --install

Configure default profile if needed:


# --configure <profile_name> <aws_access_key_id> <aws_secret_access_key> [<aws_session_token>]
awsv2 --configure default ${AWS_ACCESS_KEY_ID} ${AWS_SECRET_ACCESS_KEY}
awsv2 configure set region us-west-1

Use AWS CLI as usual:

# alias for
# docker run --rm -i -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli $@
awsv2 s3 ls

# or as a python module
python -m awscliv2 s3 ls

Also, you can check

Docker fallback

Unless you run awsv2 --install once, application will use amazon/aws-cli Docker image. The image is not ideal, and it uses root user, so fix downloaded file permissions manually. Or just run awsv2 --install

Update it with docker pull amazon/aws-cli.

Container uses two volumes:

  • $HOME/.aws -> /root/.aws - credentials and config store
  • $(cwd) -> /aws - Docker image workdir

Extra commands

awscliv2 contains a few commands to make your life easier, especially in CI or any non-TTY environment.

  • awsv2 -U/--update/--install - Install AWS CLI v2
  • awsv2 --configure <profile_name> <aws_access_key_id> <aws_secret_access_key> [<aws_session_token>] - set profile in ~/.aws/credentials
  • awsv2 --assume-role <profile_name> <source_profile> <role_arn> - create a new profile with assume role credentials
  • awsv2 -V/--version - Output awscliv2 and AWS CLI v2 versions

How to help

  • Ping AWS team to release an official PyPI package
  • Help me to test MacOS installer and add Windows installer
  • Share your experience in issues


awscliv2 version follows PEP 440.

Latest changes

Full changelog can be found in Changelog. Release notes can be found in Releases.

Change Log

All notable changes to this project are documented on Releases page.

The format is based on Keep a Changelog and this project adheres to PEP 440.


[1.5.0] - 2020-09-04


  • awsv2 --install command to install AWS CLI v2 (Linux and MacOS are supported)
  • awsv2 checks ~/.awscliv2/dist/aws and ~/aws-cli/aws paths before fallback to Docker image


  • awsv2 --update is now an alias for awsv2 --install
  • awsv2 --version outputs path to current AWS CLI v2 executable


  • Subprocesses always wait for all output to be processed
  • awsv2 --assume-role did not use JSON output correctly

[1.4.1] - 2020-09-03


  • awsv2 --assume-role command now sets aws_session_token in ~/.aws/credentials
  • awsv2 configure sometimes did not output to stdout correctly

[1.4.0] - 2020-09-02


  • aws_session_token support to awsv2 --configure


  • awsv2 --configure no longer runs docker, changes file locally instead

[1.3.1] - 2020-09-02


  • Error if $HOME/.aws path does not exist

[1.3.0] - 2020-09-02


  • awsv2 --assume-role <name> <source_profile> <role_arn> command


  • Files in .aws folder belonged to root user if they were created by awsv2

[1.2.0] - 2020-08-30


  • Support for interactive commands like awsv2 configure


  • Instructions output how to install docker if it was not found


  • Error while running in non-TTY environment
  • Error caused by keyboard interrupt
  • -U/--update command did not return correct exit code

[1.1.0] - 2020-08-29


  • -U/--update CLI argument to pull latest amazon/aws-cli image


  • -V/--version command shows underlying image version
  • region_name removed from --configure command

[1.0.0] - 2020-08-29

Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

awscliv2-1.5.0-py3-none-any.whl (10.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page