HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
aws
aws-cli
Python2012–2025
aws / aws-cli

aws-cli

Universal Command Line Interface for Amazon Web Services

36Distinct people
39Mentions
0Explicit recommenders
17.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Universal Command Line Interface for Amazon Web Services

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:00:58 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year39 dated mentions

Observed mentions: 2012-12-22 08:37:30 UTC to 2025-09-03 03:06:50 UTC.

0510152012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20122013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 13 mentions; 2 submissions, 11 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC211
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC413
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC13211
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC716
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC514

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
aws-cli This package provides a unified command line interface to Amazon Web Services. The aws-cli package works on Python versions: 3.9.x 3.10.x 3.11.x 3.12.x 3.13.x 3.14.x Attention! We recommend that all customers regularly monitor the Amazon Web Services Security Bulletins website for any important security bulletins related to aws-cli. Jump to: Notices Installation Getting Started Getting Help More Resources Notices On 2024-11-13, support for macOS version 10.15 was dropped. To use up-to-date versions of AWS CLI v2, customers using macOS 10.15 or prior should upgrade to macOS 11 or later. For more information, please see this blog post. Installation AWS CLI v2 can easily be installed on most standard platforms: MacOS pkg installer Linux x86-64 executable installer Linux arm64 (aarch64) executable installer Windows MSI installer You can find more detailed installation instructions here. If you want to run the v2 development branch of the CLI, see the "CLI Dev Version" section below. CLI Releases The release notes for the AWS CLI can be found here. Command Completion The aws-cli package includes a very useful command completion feature. This feature is not automatically installed so you need to configure it manually. To enable tab completion for bash either use the built-in command complete: $ complete -C aws_completer aws Or add bin/aws_bash_completer file under /etc/bash_completion.d, /usr/local/etc/bash_completion.d or any other bash_completion.d location. For tcsh: $ complete aws 'p/*/`aws_completer`/' You should add this to your startup scripts to enable it for future sessions. For zsh, run bashcompinit and compinit, then use the built-in complete command: $ autoload bashcompinit && bashcompinit $ autoload -Uz compinit && compinit $ complete -C '/usr/local/bin/aws_completer' aws Replace /usr/local/bin/aws_completer with the path returned by which aws_completer if different. Add these commands to your ~/.zshrc to enable completion in future sessions. Getting Started Before using aws-cli, you need to tell it about your AWS credentials. You can do this in several ways: Environment variables Shared credentials file Config file IAM Role The quickest way to get started is to run the aws configure command: $ aws configure AWS Access Key ID: foo AWS Secret Access Key: bar Default region name [us-west-2]: us-west-2 Default output format [None]: json To use environment variables, do the following: $ export AWS_ACCESS_KEY_ID=<access_key> $ export AWS_SECRET_ACCESS_KEY=<secret_key> To use the shared credentials file, create an INI formatted file like this: [default] aws_access_key_id=foo aws_secret_access_key=bar [testing] aws_access_key_id=foo aws_secret_access_key=bar and place it in ~/.aws/credentials (or in %UserProfile%\.aws/credentials on Windows). If you wish to place the shared credentials file in a different location than the one specified above, you need to tell aws-cli where to find it. Do this by setting the appropriate environment variable: $ export AWS_SHARED_CREDENTIALS_FILE=/path/to/shared_credentials_file To use a config file, create a configuration file like this: [default] aws_access_key_id=<default access key> aws_secret_access_key=<default secret key> # Optional, to define default region for this profile. region=us-west-1 [profile testing] aws_access_key_id=<testing access key> aws_secret_access_key=<testing secret key> region=us-west-2 and place it in ~/.aws/config (or in %UserProfile%\.aws\config on Windows). If you wish to place the config file in a different location than the one specified above, you need to tell aws-cli where to find it. Do this by setting the appropriate environment variable: $ export AWS_CONFIG_FILE=/path/to/config_file As you can see, you can have multiple profiles defined in both the shared credentials file and the configuration file. You can then specify which profile to use by using the --profile option. If no profile is specified the default profile is used. In the config file, except for the default profile, you must prefix each config section of a profile group with profile. For example, if you have a profile named "testing" the section header would be [profile testing]. The final option for credentials is highly recommended if you are using aws-cli on an EC2 instance. IAM Roles are a great way to have credentials installed automatically on your instance. If you are using IAM Roles, aws-cli will find them and use them automatically. Other Configurable Variables In addition to credentials, a number of other variables can be configured either with environment variables, configuration file entries or both. The following table documents these. Variable Option Config Entry Environment Variable Description profile --profile profile AWS_PROFILE Default profile name region --region region AWS_DEFAULT_REGION Default AWS Region config_file     AWS_CONFIG_FILE Alternate location of config credentials_file     AWS_SHARED_CREDENTIALS_FILE Alternate location of credentials output --output output AWS_DEFAULT_OUTPUT Default output style ca_bundle --ca-bundle ca_bundle AWS_CA_BUNDLE CA Certificate Bundle access_key   aws_access_key_id AWS_ACCESS_KEY_ID AWS Access Key secret_key   aws_secret_access_key AWS_SECRET_ACCESS_KEY AWS Secret Key token   aws_session_token AWS_SESSION_TOKEN AWS Token (temp credentials) cli_timestamp_format   cli_timestamp_format   Output format of timestamps metadata_service_timeout   metadata_service_timeout AWS_METADATA_SERVICE_TIMEOUT EC2 metadata timeout metadata_service_num_attempts   metadata_service_num_attempts AWS_METADATA_SERVICE_NUM_ATTEMPTS EC2 metadata retry count parameter_validation   parameter_validation   Toggles local parameter validation Examples If you get tired of specifying a --region option on the command line all of the time, you can specify a default region to use whenever no explicit --region option is included using the region variable. To spe
Read the full README on GitHub

What Hacker News says

4 sources
I like that AWS offers the management console. It can be great for quick prototyping and checking out new services where you don't know yet what to expect. An absolute no-go however is that the management console sometimes uses functionality which isn't available as an official API! One of the most prominent examples for that is probably that the management console does support U2F tokens, while the official API doesn't [1]. CloudFormation lagging behind in terms of features is mainly a matter of priorities and I agree, feature parity from day 1 on would be great. However the way they do it allows them to ship features more quickly, so that's something as well. In the past CloudFormation support was even worse as the CloudFormation team was responsible for implementing the support for new features of all services in CloudFormation. And wi
Read the rest
th an ever growing list of services and features, that was something which simply didn't scale. From my understanding that changed however, so that most service teams are now responsible for CloudFormation support of their service themselves. > One of the other problems with AWS+CF though is that it doesn't support every option from every service, e.g. populating secrets was a hassle when I used it. That's because creating a secret in AWS Secrets Manager is not a control plane operation (which is what CloudFormation usually implements), but a data plane operation (which CloudFormation usually doesn't implement). However in this particular case it has been apparently painful enough, as creating secrets can be necessary to be able to deploy other resources (e.g. for authentication to the Aurora Data API), that AWS implemented this data plane operation in CloudFormation [2]. The same is true for creating parameters in the SSM Parameter Store [3], while it's still not possible to create objects in S3 or items in DynamoDB without custom CloudFormation resources. [1]: https://github.com/aws/aws-cli/issues/3607 [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui... [3]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGui...
In Moving my serverless project to Ruby on Rails
It comes from a fundamental lack of understanding of what S3 is and how it is organized. Objects are indexed as a key value store optimized for sorting on a key and a key prefix. The fact that keys can have backslashes as a character doesn’t mean that objects are stored in “folders”. Knowing how S3 indexes data - by key only and all other metadata is tagged on the object and not in the index, should inform how to name your keys and your access patterns. For instance sorting by date, would involve AWS querying each objects meta data and then sorting it. If having to find objects by date is an important use case, why not create keys in the format of YYYYMMDD? Or just use the CLI. https://github.com/aws/aws-cli/issues/2095
In Behind Amazon’s HQ2 fiasco
Looked up the issue and it was cloud-init, not apt that failed. Here are the details: https://github.com/aws/aws-cli/issues/3678 In one sentence: "Installing the latest aws-cli on an image is preventing new AMIs based on that image from booting due to the above issue with urllib3." While this specific issue wouldn't affect docker images since you normally don't run cloud-init on them, it's just luck that it wasn't some other utility affected instead. Next time it can affect docker images too.
In Alpine makes Python Docker builds slower, and images larger

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.