Metadata-Version: 2.1
Name: snakecraft
Version: 0.2.0
Summary: Describe your Terraform project using Python with inheritance
Home-page: https://github.com/xoraxax/snakecraft
Keywords: terraform,codegeneration
Author: Alexander Schremmer
Author-email: alex@alexanderweb.de
Requires-Python: >=3.6.1,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Other
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Requires-Dist: click (>=8.0.1,<9.0.0)
Project-URL: Repository, https://github.com/xoraxax/snakecraft
Description-Content-Type: text/markdown

# Snakecraft: Generate Terraform code from Python

Have you ever felt writing Terraform code was very verbose? Have you ever disliked passing variables into layers of modules?

Snakecraft allows you to write your Terraform configuration in Python and generate the necessary Terraform code (as a `.tf.json` file).

Python 3.6 is required at least.

## Installing and running Snakecraft

You can install Snakecraft using `pip`:

```bash
pip install -U snakecraft
```

Afterwards, you can author Snakecraft modules/packages in Python code. If you want to
dive into Snakecraft by reading the [examples](https://github.com/xoraxax/snakecraft/tree/main/examples), you can clone them from Github
and process them using Snakecraft:

```bash
git clone https://github.com/xoraxax/snakecraft.git

cd snakecraft/examples

# The next commands reads snakecraft.ini:
snakecraft

# Now we can run Terraform:
cd simple_example
terraform init
terraform plan
```

As Snakecraft is still in an early stage, documentation is to be done.

