Skip to main content

A parser for HCL2

Project description

Codacy Badge Build Status License

Notice

This is a fork of Amplify's Python HCL2 repository. This repository went through minor changes to work better with GLITCH and as the changes concern only the structure representation to be compatible with GLITCH we decided not to request updates for the upstream project. The two projects diverge in the representation of some structures and pushing new changes upstream doesn't make sense.

Python HCL2

A parser for HCL2 written in Python using Lark. This parser only supports HCL2 and isn't backwards compatible with HCL v1. It can be used to parse any HCL2 config file such as Terraform.

About Amplify

Amplify builds innovative and compelling digital educational products that empower teachers and students across the country. We have a long history as the leading innovator in K-12 education - and have been described as the best tech company in education and the best education company in tech. While others try to shrink the learning experience into the technology, we use technology to expand what is possible in real classrooms with real students and teachers.

Learn more at https://www.amplify.com

Getting Started

Prerequisites

python-hcl2 requires Python 3.7 or higher to run.

Installing

This package can be installed using pip

pip3 install python-hcl2

Usage

import hcl2
with open('foo.tf', 'r') as file:
    dict = hcl2.load(file)

Building From Source

For development, tox>=4.0.9 is recommended.

Running Tests

python-hcl2 uses tox. You will need to install tox with pip install tox. Running tox will automatically execute linters as well as the unit tests.

You can also run them individually with the -e argument.

For example, tox -e py37-unit will run the unit tests for python 3.7

To see all the available options, run tox -l.

Releasing

To create a new releaes go to Releases page, press 'Draft a new release', create a tag with a version you want to be released, fill the release notes and press 'Publish release'. Github actions will take care of publishing it to PyPi.

Responsible Disclosure

If you have any security issue to report, contact project maintainers privately. You can reach us at mailto:github@amplify.com

Contributing

We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you:

  • For any sizable change, first open a GitHub issue to discuss your idea.
  • Create a pull request. Explain why you want to make the change and what it’s for.

We’ll try to answer any PR’s promptly.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glitch-python-hcl2-0.2.2.tar.gz (12.5 kB view details)

Uploaded Source

File details

Details for the file glitch-python-hcl2-0.2.2.tar.gz.

File metadata

  • Download URL: glitch-python-hcl2-0.2.2.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for glitch-python-hcl2-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5282cceb8d0df792aa8d94e75baf5b19db1a1f6867fec4a2380ed903e3b3b316
MD5 b3c0c05ccf28c21b448f2132ae5d7fea
BLAKE2b-256 6b410807d45bb0596e60ab41eb3ed1055b42bf6c6db4f51ed716c0158d7445b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page