Skip to main content

Terrapyst

Terrapyst is a Python wrapper around the Terraform CLI.

Usage

Quick Start

Terrapyst usage centers around the Workspace object, which can be used to run the typical Terraform commands in that workspace. Just like with the CLI you have to initialize the workspace before you can run plans or applies.

from terrapyst import Workspace

workspace = Workspace(path="./")
workspace.init()

results, plan = workspace.plan()

if !results.successful:
  raise Exception(f"Terraform run failed without output: {results.stdout}")

if plan.deletions > 0:
  raise Exception("Deletions not expected from this plan")

results, apply_log = workspace.apply(plan_path=plan.plan_path, auto_approve=True)

if !results.successful:
  print("Terraform Apply was not successful.")

for resource_name, resource_data in apply_log.resources.items():
  print(f"${resource_name}: ${resource['message']}")

for output_name, output_data in apply_log.outputs.items():
  print(f"{output_name}:\n")
  print(yaml.dumps(output_data))
  print("\n\n\n")

The plan step can be skipped if you are auto approving.

from terrapyst import Workspace

workspace = Workspace(path="./")
workspace.init()
results, apply_log = workspace.apply(auto_approve=True)

Installation

Terrapyst can be installed with pip.

pip install terrapyst

In addition to Terrapyst you should have the Terraform binary installed on your system.

Metadata

Release files for terrapyst 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for terrapyst 0.4.1
File Size Uploaded
terrapyst-0.4.1.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for terrapyst 0.4.1
File Interpreter ABI Platform
terrapyst-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.1 kB

Release files / terrapyst-0.4.1.tar.gz

Download URL terrapyst-0.4.1.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bc85d57a9fd1b3752c34b688df07ea45c815cd3e9049a3b769a469eacf9c4ed4
BLAKE2b-256 checksum
How to use checksums
06c8a83a5187b96f8827b2997be083cb06136bb5366bd528fd5b0879ccee3e5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / terrapyst-0.4.1-py3-none-any.whl

Download URL terrapyst-0.4.1-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b26681eb68c66cd4d2998ac2848e3099a2bab92b1b3dc9a611e1846e84f21c9
BLAKE2b-256 checksum
How to use checksums
9930a9cbc8c805ceb01dc0545e42b76ab3643cff8aea96a1fcbc1d56654a01ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page