TGNThump / pyhcl2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hcl2-ast

A HCL2 parser and evaluator based on python-hcl2 that produces an Abstract Syntax Tree.

Note: This project is in an early stage. It does not currently cover all HCL2 syntax features and does not have good test coverage.

Usage

from hcl2_ast import parse_string

module = parse_string("""
  hello {
    name = "World"
  }
""")

print(module.pformat())

Outputs:

Module(body=[
  Block(
    name='hello',
    args=[],
    body=[
      Attribute(key='name', value=Literal(value='World')),
    ]
  ),
])

Also check out the hcl2-eval package to evaluate HCL2 configuration ASTs.

Compatibility

hcl2-ast requires Python 3.6 or higher.

Known issues

  • No understanding of operator precedence in expressions (grouping with parentheses works as expected)

About

License:Other


Languages

Language:Python 100.0%