Metadata-Version: 2.1
Name: pyhcl2
Version: 1.1.1
Summary: 
License: MIT
Author: RISQ Capital
Author-email: dev@risqcapital.com
Requires-Python: >=3.11,<4
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
Provides-Extra: repl
Requires-Dist: lark (>=1.1.9,<2.0.0)
Requires-Dist: networkx (>=3.3,<4.0)
Requires-Dist: prompt-toolkit (>=2.0.1,<4.0.0) ; extra == "repl"
Requires-Dist: pyagnostics (>=2.0.0,<3)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: rich (>=13.9.2,<14.0.0)
Requires-Dist: termcolor (>=2.4.0,<3.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)

