Metadata-Version: 2.5
Name: aws-annoying
Version: 0.11.0
Summary: Utilities to handle annoying AWS tasks.
Project-URL: Homepage, https://github.com/lasuillard-s/aws-annoying
Project-URL: Repository, https://github.com/lasuillard-s/aws-annoying.git
Project-URL: Issues, https://github.com/lasuillard-s/aws-annoying/issues
Project-URL: Documentation, https://lasuillard-s.github.io/aws-annoying/
Author-email: Yuchan Lee <lasuillard@gmail.com>
License-Expression: MIT
License-File: LICENSE
Requires-Python: <4.0,>=3.10
Requires-Dist: boto3<2,>=1
Requires-Dist: requests<3,>=2
Provides-Extra: cli
Requires-Dist: pydantic<3,>=2; extra == 'cli'
Requires-Dist: questionary<3,>=2; extra == 'cli'
Requires-Dist: typer<1,>=0; extra == 'cli'
Description-Content-Type: text/markdown

# aws-annoying

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![codecov](https://codecov.io/gh/lasuillard-s/aws-annoying/graph/badge.svg?token=gbcHMVVz2k)](https://codecov.io/gh/lasuillard-s/aws-annoying)
[![PyPI - Version](https://img.shields.io/pypi/v/aws-annoying)](https://pypi.org/project/aws-annoying/)

Utilities to handle annoying AWS tasks.

## ✨ Features

- **CLI application**: Command-line interface for handling common, annoying AWS tasks
- **Python library**: Reusable utility functions for AWS operations
- **Console enhancements**: Browser user scripts to improve the AWS Console experience
- **Dev Container Features**: Reusable Dev Container Features for development environments

## 🚀 Quick start

It is recommended to use [uvx](https://docs.astral.sh/uv/concepts/tools/) (alias for `uv tool run`) to run `aws-annoying` CLI (you can also use `pipx run` if you prefer):

```bash
$ export TYPER_USE_RICH=0 # Disable Rich to simplify output. Ignore this
$ uvx "aws-annoying[cli]" --help
Usage: aws-annoying [OPTIONS] COMMAND [ARGS]...

Options:
  --version                 Show the version and exit.
  --quiet / --no-quiet      Disable outputs.  [default: no-quiet]
  --verbose / --no-verbose  Enable verbose outputs.  [default: no-verbose]
  --install-completion      Install completion for the current shell.
  --show-completion         Show completion for the current shell, to copy it
                            or customize the installation.
  --help                    Show this message and exit.

Commands:
  load-variables   Wrapper command to run command with variables from AWS...
  ecs              ECS (Elastic Container Service) utility commands.
  mfa              Commands to manage MFA authentication.
  session-manager  AWS Session Manager CLI utilities.
```

Or install the package via `uv` to install only the library then import it in your code (`aws_annoying` package) without CLI dependencies:

```bash
$ uv add aws-annoying
```

Please refer to the [documentation](https://lasuillard-s.github.io/aws-annoying/) for more information on how to use the application and package.

### 🐒 Browser User Scripts

To use browser user scripts to improve your AWS Console experience, download the scripts from the [console](./console) directory and install them in your browser.

Note that these scripts are provided "as is" and may not work in all cases.

### 🐳 Dev Container Features

You can use the Dev Container Features provided in [devcontainer-features](./devcontainer-features/) directory to help set up development containers. For example, add it in your `devcontainer.json` file:

```json
{
  "features": {
    "ghcr.io/lasuillard-s/aws-annoying/session-manager-plugin:0": {}
  }
}
```

## 💖 Contributing

Please refer to [CONTRIBUTING.md](./CONTRIBUTING.md) for more information on how to contribute to this project.

## 📜 License

This project is licensed under the MIT License.
