Metadata-Version: 2.3
Name: infra-sdk
Version: 0.1.0
Summary: Infrastructure management CLI using OpenTofu
Project-URL: Homepage, https://github.com/yourusername/infra-sdk
Project-URL: Repository, https://github.com/yourusername/infra-sdk.git
Project-URL: Issues, https://github.com/yourusername/infra-sdk/issues
Author-email: Your Name <your.email@example.com>
License: MIT
Keywords: cli,infrastructure,opentofu,terraform
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.8
Requires-Dist: beaupy>=3.5.4
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: rich>=10.0.0
Requires-Dist: sqlalchemy>=2.0.0
Requires-Dist: typer>=0.9.0
Description-Content-Type: text/markdown

# Infra SDK

A powerful CLI tool that simplifies infrastructure management using OpenTofu (a Terraform fork).

## Features

- Environment-based infrastructure management
- Interactive module selection
- State management with SQLite
- Project configuration with `infra.yaml`
- Support for multiple infrastructure modules

## Installation

```bash
pip install infra-sdk
```

## Quick Start

1. Initialize a new project:
```bash
infra init
```

2. Create an environment:
```bash
infra env create dev
```

3. Create infrastructure from a module:
```bash
infra create path/to/module
```

## Project Structure

After initialization, your project will have this structure:
```
your-project/
├── infra.yaml          # Project configuration
└── .infra/            # State directory (configurable)
    ├── state.db       # SQLite database
    ├── states/        # OpenTofu state files
    └── temp/          # Temporary module copies
```

## Commands

- `infra init` - Initialize a new project
- `infra env create <name>` - Create a new environment
- `infra env list` - List all environments
- `infra create <module>` - Create infrastructure from a module
- `infra destroy [module]` - Destroy infrastructure

## Requirements

- Python >= 3.8
- OpenTofu binary (default path: `~/.launchflow/bin/tofu`)

## License

MIT License
