terraformat
A wrapper for the Terraform CLI that provides a formatted plan summary.
Overview
terraformat is a command-line tool designed to improve the readability of terraform plan outputs. It runs your Terraform plan and summarizes the planned resource changes (create, update, destroy) in a color-coded, tabular format. This helps teams more quickly and safely review infrastructure changes before applying them.
Features
- Runs any
terraformcommand, but enhancesterraform planwith a summary table - Color-coded output for quick identification of create (green), update (yellow), and destroy (red) actions
- Parses complex Terraform resource addresses, including those in modules
- Integrates seamlessly into existing Terraform workflows
Installation
pip install .
pip install git+https://github.com/henryupton/terraformat.git
Requirements
- Python 3.7+
- Terraform installed and available in your PATH
Python dependencies (installed automatically):
- click
- tabulate
Usage
After installation, you can use terraformat as a drop-in replacement for terraform. All commands are passed through to Terraform, but plan will be summarized:
terraformat plan [ARGS...]
Example output
🚀 Running 'terraform plan'...
--- Original Terraform Output ---
[standard terraform plan output here]
==================================================
📊 Terraformat Summary
==================================================
+----------------+---------+---------+----------+
| Resource Type | Create | Update | Destroy |
+================+=========+=========+==========+
| aws_instance | 1 | 0 | 1 |
| local_file | 1 | 0 | 0 |
| random_pet | 0 | 1 | 0 |
+----------------+---------+---------+----------+
| Total | 2 | 1 | 1 |
+----------------+---------+---------+----------+
If you run other Terraform commands, they’re just passed through unchanged:
Metadata
Release files for terraformat 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| terraformat-0.1.8.tar.gz | 7.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| terraformat-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / terraformat-0.1.8.tar.gz
| Download URL | terraformat-0.1.8.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d508f15f482e23837ddee214aab757ebdb11bbdfae706b8be93e807b4682e8c5
|
|
BLAKE2b-256 checksum How to use checksums |
102c9bfd8b9ed97dd881f57d32517b7a2c83b401b44c29702830b75fb258ee82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Release files / terraformat-0.1.8-py3-none-any.whl
| Download URL | terraformat-0.1.8-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eef34219df3214a6041380fda49ab6f7805cfc264a3036904c5ca6d637b90a25
|
|
BLAKE2b-256 checksum How to use checksums |
8b42cbd8e869866a6af56c4e1c5adaa8d7ddc33bd5bad1d82fa88fdc4a46bfa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.11
|
Security for terraformat 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.