Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

awscliv2

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

awscliv2

Wrapper for AWS CLI v2

  • 2.3.1
  • Source
  • PyPI
  • Socket score

Maintainers
1

AWS CLI v2 for Python

PyPI - awscliv2 PyPI - Python Version PyPI - Downloads

Wrapper for AWS CLI v2.

Features

  • No dependency hell, like with original awscli
  • Can install and update awscliv2 binaries
  • Provides access to all AWS services
  • Has Python interface awscliv2.api.AWSAPI

Before you start

Installation

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'

Usage

From command line

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:

AWS_ACCESS_KEY_ID='my-access-key'
AWS_SECRET_ACCESS_KEY='my-secret-key'

# --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 scripts/example.sh

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>] [<region>] - 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

As a Python module

Basic usage

from awscliv2.api import AWSAPI
from awscliv2.exceptions import AWSCLIError

aws_api = AWSAPI()

try:
    output = aws_api.execute(["s3", "ls"])
except AWSCLIError as e:
    print(f"Something went wrong: {e}")
else:
    print(output)

Install binaries for your OS from Python

from awscliv2.installers import install_multiplatform

install_multiplatform()

You can also set credentials or assume roles

from awscliv2.api import AWSAPI

aws_api = AWSAPI()

aws_api.set_credentials(
    profile_name="my_profile",
    aws_access_key_id="access_key",
    aws_secret_access_key="secret_key",
    region="us-east-1",
)
aws_api.assume_role(
    profile_name="my_profile",
    source_profile="source_profile",
    role_arn="role_arn",
)

Development

  • Install poetry
  • Run poetry install
  • Use black formatter in your IDE

How to help

  • Ping AWS team to release an official PyPI package
  • Share your experience in issues

Versioning

awscliv2 version follows PEP 440.

Latest changes

Full changelog can be found in Releases.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc