cloud-custodian/tfparse

python extension for terraform hcl parsing

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓

cloud-custodian/tfparse has 50+ stars and 20+ forks on GitHub, is written in Go, and was last pushed on Oct 1, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 47 minutes ago
Added to GitGenius on October 15th, 2026
Created on August 22nd, 2022
Open Issues & Pull Requests: 8 (+0)
GitHub issues: Enabled
Number of forks: 20
Total Stargazers: 57 (+0)
Total Subscribers: 6 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.2 days
Mean response time: 54.3 days
90th percentile: 208.0 days
Tracked items: 17

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 356 days
Stale 30+ days: 5
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

tfparse is a Python extension for parsing and evaluating Terraform HCL configuration files.

Terraform's HCL format requires extensive variable interpolation, function evaluation, and expression handling that goes beyond standard HCL parsing. tfparse solves this by wrapping Terraform's canonical implementation and combining it with defsec's interpolation and evaluation engine, providing a high-level Python interface for parsing Terraform modules. This approach ensures compatibility with real-world Terraform usage patterns that involve complex variable references and dynamic expressions.

Developers should use tfparse when they need to programmatically analyze or process Terraform configurations from Python. It suits projects that require parsing complete Terraform modules after `terraform init` has been run to resolve module references. The tool distributes prebuilt binaries for macOS (both x86_64 and arm64), Linux (x86_64 and aarch64), and Windows, though Windows builds currently have a memory management limitation where allocated memory from parse results is not freed.

The project maintains active development with a test suite using pytest and supports building from source with Go 1.18 or later and Python 3.10 or later. Cross-platform compilation is tested through CI/CD pipelines that verify wheel builds across different architectures. The codebase is structured to support both installation into Python environments and distribution as wheels or source artifacts to package repositories.