awscli-local
Thin wrapper around the "aws" command line interface for use with LocalStack
What it is and what it does
awscli-local is a command-line wrapper that intercepts AWS CLI calls and redirects them to a LocalStack instance running locally, typically on localhost:4566. Instead of typing `aws --endpoint-url=http://localhost:4566 kinesis list-streams`, you simply run `awslocal kinesis list-streams` with the same syntax as the standard AWS CLI. The wrapper handles endpoint URL injection, placeholder credentials, and region defaults automatically, and includes patches for AWS CLI quirks like CloudFormation's `package` command, which normally cannot specify an S3 endpoint.
The package depends only on localstack-client and is designed for developers testing AWS-dependent code locally without hitting real AWS services. It supports shell command completion and respects environment variables like AWS_ENDPOINT_URL, LOCALSTACK_HOST, and USE_SSL for configuration. The wrapper works with AWS CLI v1 out of the box; v2 support is documented as technically possible but not officially packaged.
Use it for:
- Local development and testing of AWS Lambda, DynamoDB, S3, and other services without incurring AWS costs or hitting real infrastructure.
- Integration testing in CI/CD pipelines where you spin up LocalStack in a container and run awslocal commands against it.
- CloudFormation template development and testing locally before deploying to production AWS accounts.
- Rapid prototyping of serverless applications with immediate feedback without AWS account setup overhead.
- Teaching or demonstrating AWS CLI workflows in isolated environments without risk of accidental production changes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides the `awslocal` command, a thin wrapper around the AWS CLI that automatically routes requests to a LocalStack endpoint instead of AWS.
Yes, if you are actively developing or testing AWS-dependent code locally with LocalStack. The low install friction, permissive license, and straightforward command-line interface make it a practical choice. However, note that maintenance is aging (372 days since last release) and AWS CLI v2 support remains unofficial; if you rely on v2 features or need active maintenance, verify compatibility first or consider the documented bash alias alternative.
Install
awscli-local on PyPI
pip
pip install awscli-localuv
uv add awscli-localpoetry
poetry add awscli-localInstalling awscli-local
Before you install
Low install friction with a single runtime dependency (localstack-client). Maintenance status is aging—last release was 372 days ago, though the repository remains active with recent commits and moderate community engagement (1299 stars).
License in practice
Released under Apache License 2.0 (permissive), imposing no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install awscli-local
# Then use awslocal exactly like aws:
awslocal kinesis list-streams
# Instead of: aws --endpoint-url=http://localhost:4566 kinesis list-streams
Requires LocalStack running on localhost:4566 (or configured via AWS_ENDPOINT_URL environment variable); AWS CLI v1 is recommended for full compatibility.
Verify before relying
- Whether AWS CLI v2 support has been added since the last release (v0.22.2 notes indicate it was not officially supported).
- Current compatibility with Python 2.x versions listed in classifiers, given the package's age and Python 2 end-of-life.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — localstack-client |
| Maintenance | aging — 372 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,256,349/month — #4,154 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: awscli_local-0.22.2-py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
localstack-clientA Python client that wraps boto3 to redirect…
permissive · top 5,000 on PyPI
pulumi-localA command-line wrapper that adapts Pulumi…
permissive · top 15,000 on PyPI
terraform-localA wrapper script that runs Terraform against…
permissive · top 15,000 on PyPI
awscliv2Provides a Python wrapper around AWS CLI v2,…
permissive · top 15,000 on PyPI
awscliProvides a unified command-line interface to…
permissive · top 1,000 on PyPI
localstackLocalStack is a command-line tool that emulates…
permissive · top 15,000 on PyPI
localstack-extProvides extensions and additional…
unclear · top 15,000 on PyPI
awslogsawslogs is a command-line tool for querying and…
permissive · top 15,000 on PyPI
moto-extMocks AWS services for testing by intercepting…
permissive · top 15,000 on PyPI
virtualenvwrapperProvides shell command wrappers and hooks to…
permissive · top 15,000 on PyPI