Metadata-Version: 2.5
Name: awsup-cli
Version: 0.1.0
Summary: An AWS practitioner for developers who know their app, not AWS.
Project-URL: Homepage, https://github.com/GunjanGrunge/awsup
Project-URL: Repository, https://github.com/GunjanGrunge/awsup
Project-URL: Issues, https://github.com/GunjanGrunge/awsup/issues
Author-email: GunjanGrunge <stdevilgunjan@gmail.com>
License-File: LICENSE
Keywords: aws,boto3,cli,devops,ec2,iam,infrastructure,s3
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.12
Requires-Dist: boto3>=1.34
Requires-Dist: botocore>=1.34
Requires-Dist: python-dotenv>=1.0
Requires-Dist: rich>=13.7
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: moto[all]>=5.0; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Description-Content-Type: text/markdown

<h1 align="center">AWS Up</h1>

<p align="center">AWS infrastructure, made clear.</p>

<p align="center"><a href="https://github.com/GunjanGrunge/SIA_package"><img src="https://img.shields.io/badge/Powered%20by-SIA%20%E2%80%94%20Self--Improving%20Agents-007BFF?style=flat-square" alt="Powered by SIA — Self-Improving Agents" /></a></p>

AWS Up is a Python CLI for developers who know their application but do not
want to become AWS specialists first. It asks about the project, renders an
understandable infrastructure plan, and creates resources only after the user
has reviewed and confirmed that exact plan.

> **v1 scope:** a complete EC2 + S3 + IAM web-stack vertical slice. RDS,
> ECS/Fargate, Lambda, multi-account support, and account-wide hardening are
> intentionally out of scope for this first release.

## Safety model

- `awsup plan` is read-only and explains each proposed resource.
- `awsup apply` is the only mutating command, and requires confirmation by
  default.
- `awsup destroy` always requires typing the project name; `--yes` cannot
  bypass that protection.
- State is recorded after each successful resource so an interrupted run can
  be resumed or safely removed.
- The generated S3 bucket is private, encrypted, versioned, and blocked from
  public access. SSH is restricted to the operator's detected `/32` address.

## Install

AWS Up requires Python 3.12 or later. From a checkout of this repository:

```bash
python -m venv .venv
```

Activate the virtual environment, then install the command:

```bash
python -m pip install .
awsup --help
```

For development and the offline test suite:

```bash
python -m pip install -e ".[dev]"
python -m pytest
```

## Quick start

Make AWS credentials available through the normal boto3 credential chain or a
local `.env` file (which must never be committed). Then, from the application
directory you want to provision:

```bash
awsup init
awsup plan
awsup apply
```

Use `awsup doctor` to check identity, region, permissions, and quotas without
making changes. Use `awsup status` to inspect resources recorded for the
project. Run `awsup destroy` only when you intend to remove the managed stack.

## Commands

| Command | What it does | Changes AWS? |
| --- | --- | --- |
| `awsup init` | Interviews you and writes local project configuration. | No |
| `awsup plan` | Shows the exact infrastructure proposal. | No |
| `awsup apply` | Confirms and provisions the rendered plan. | Yes, after confirmation |
| `awsup status` | Shows resources AWS Up has recorded. | No |
| `awsup doctor` | Checks credentials, account identity, region, quotas, and configuration. | No |
| `awsup destroy` | Removes only resources AWS Up can prove it owns. | Yes, after typed confirmation |

## Powered by SIA

<p>
  <a href="https://github.com/GunjanGrunge/SIA_package">
    <img src="./assets/sia-mark-electric-sapphire.svg" width="30" height="42" alt="SIA logo" align="left" />
  </a>
  This project uses <a href="https://github.com/GunjanGrunge/SIA_package">SIA — Self-Improving Agents</a>
  as its project-adaptive workflow layer: specifications, scoped subagent
  work, review evidence, integration checks, and captured lessons stay part of
  the project record. AWS Up remains authored and owned by its human
  maintainer.
</p>
