Metadata-Version: 2.4
Name: pyhcl2
Version: 2.0.1
Summary: 
License: MIT
License-File: LICENSE
Author: RISQ Capital
Author-email: dev@risqcapital.com
Requires-Python: >=3.11, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*, !=3.9.*, !=3.10.*
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Provides-Extra: repl
Requires-Dist: lark (>=1.3.1,<2.0.0)
Requires-Dist: networkx (>=3.6.1,<4.0.0)
Requires-Dist: prompt-toolkit (>=2.0.1,<4.0.0) ; extra == "repl"
Requires-Dist: pyagnostics (>=3.0.0,<4.0.0)
Requires-Dist: pydantic (>=2.12.5,<3.0.0)
Requires-Dist: rich (>=14.3.3,<15.0.0)
Requires-Dist: termcolor (>=3.3.0,<4.0.0)
Project-URL: Bug Tracker, https://github.com/risqcapital/pyhcl2/issues
Project-URL: Repository, https://github.com/risqcapital/pyhcl2
Description-Content-Type: text/markdown

# pyhcl2

`pyhcl2` is a python based interpreter library for the [HCL 2](https://github.com/hashicorp/hcl) configuration language used by [Terraform](https://www.terraform.io/) and other tools.

## Features

- Parse HCL files or expressions into an AST (Abstract Syntax Tree).
- Generate topological generations of blocks based on dependencies.
- Evaluate the AST Nodes with a given set of variables and intrinsic functions.
- Transform the AST Nodes into a Pydantic Model, with validation.

## Credits
This project is based on work by
- [HashiCorp (hashicorp/hcl)](https://github.com/hashicorp/hcl)
- [Niklas Rosenstein (NiklasRosenstein/python-hcl2-ast)](https://github.com/NiklasRosenstein/python-hcl2-ast)
- [Amplify Education (amplify-education/python-hcl2)](https://github.com/amplify-education/python-hcl2)

