pyvider-hcl
2025-07-23
Initial project commit with full package structure
175 files · 73,918+ · 1,208-
Project initialization and package structure
7 files changed
pyproject.tomlProject metadata, dependencies (attrs, python-hcl2, pyvider-cty, pyvider-telemetry, regex), build config__init__.pyNamespace package init with public API exportspy.typedPEP 561 typed package marker.python-versionPython version pinLICENSEApache-2.0 license.gitignoreGit ignore rules.pre-commit-config.yamlPre-commit hook configuration
- Established pyvider-hcl as a namespace package under src/pyvider/hcl/ with typed marker
instantiate
architectural
3 files
pyproject.toml__init__.pypy.typed
- Dependencies on attrs, python-hcl2, pyvider-cty, pyvider-telemetry, and regex
baseline
behavioral
1 file
pyproject.toml
- Python 3.12/3.13 target with Apache-2.0 license
baseline
internal
3 files
pyproject.tomlLICENSE.python-version
Parser module
5 files changed
__init__.pyParser subpackage initbase.pyCore HCL-to-Cty parsing via parse_hcl_to_cty functioncontext.pyContext-aware parsing with parse_with_contextinference.pyType inference engine for HCL valuesparser.pyTop-level parser convenience module
- Core HCL-to-Cty parsing via parse_hcl_to_cty function in base.py
instantiate
behavioral
1 file
base.py
- Context-aware parsing with parse_with_context
instantiate
behavioral
1 file
context.py
- Type inference engine for HCL values
instantiate
internal
1 file
inference.py
Factory module
5 files changed
__init__.pyFactory subpackage initresources.pycreate_resource_cty for converting Terraform resource blocks to Cty objectsvariables.pycreate_variable_cty for converting Terraform variable blocks to Cty objectstypes.pyType mapping and creation utilities bridging HCL types to Cty typesfactories.pyTop-level factory convenience module
- create_resource_cty for converting Terraform resource blocks to Cty objects
instantiate
behavioral
1 file
resources.py
- create_variable_cty for converting Terraform variable blocks to Cty objects
instantiate
behavioral
1 file
variables.py
- Type mapping and creation utilities bridging HCL types to Cty types
instantiate
internal
1 file
types.py
Output, terraform, and exception modules
5 files changed
formatting.pyPretty-printing of Cty values with pretty_print_ctyprinter.pyTop-level printer convenience moduleconfig.pyparse_terraform_config for full Terraform configuration file parsingterraform.pyTop-level terraform convenience moduleexceptions.pyHclError and HclParsingError custom exception classes
- Pretty-printing of Cty values with pretty_print_cty
instantiate
internal
2 files
formatting.pyprinter.py
- parse_terraform_config for full Terraform configuration file parsing
instantiate
behavioral
2 files
config.pyterraform.py
- HclError and HclParsingError custom exception classes
instantiate
internal
1 file
exceptions.py
Test suite
8 files changed
conftest.pyTest configuration and fixturestest_parser.pyParser teststest_factories.pyFactory teststest_printer.pyOutput formatting teststest_terraform.pyTerraform integration teststest_integration.pyCross-module integration teststest_property_based.pyProperty-based testing with Hypothesistest_unknown_type_isolation.pyUnknown type isolation tests
- Comprehensive tests covering parser, factories, output formatting, terraform config parsing
qualify
internal
4 files
test_parser.pytest_factories.pytest_printer.pytest_terraform.py
- HCL fixture files for valid/invalid syntax, nested objects, tuples, lists
qualify
internal
3 files
simple_valid.hclinvalid_syntax.hclnested_object_valid.hcl
- Integration tests and property-based testing with Hypothesis
qualify
internal
2 files
test_integration.pytest_property_based.py
Mutation testing infrastructure
2 files changed
mutmut-stats.json271-entry mutation test results trackingpyproject.tomlMutant project configuration
Documentation site
7 files changed
mkdocs.ymlMkDocs configurationarchitecture.mdArchitecture documentationgetting-started.mdGetting started guideREADME.mdProject READMECLAUDE.mdClaude Code project instructionsCONTRIBUTING.mdContribution guidelinesCHANGELOG.mdChangelog
- MkDocs configuration with architecture docs, getting-started guides, API reference stubs
specify
behavioral
3 files
mkdocs.ymlarchitecture.mdgetting-started.md
- Guides for error handling, parsing, schema validation, Terraform integration, type inference, and testing
specify
internal
3 files
error-handling.mdparsing.mdschema-validation.md
CI/CD and tooling
5 files changed
ci.ymlGitHub Actions CI workflowrelease.ymlRelease publishing workflowenv.shEnvironment setup scriptwrknv.tomlTask runner configurationsettings.local.jsonClaude Code local settings
- GitHub Actions workflows for main branch CI and release publishing
baseline
internal
2 files
ci.ymlrelease.yml
- Environment scripts and wrknv.toml task runner configuration
baseline
internal
2 files
env.shwrknv.toml
- Ruff, mypy, bandit, and coverage tool configurations in pyproject.toml
qualify
internal
1 file
pyproject.toml
Example scripts
8 files changed
01_basic_parsing.pyBasic HCL parsing example02_schema_validation.pySchema validation example03_type_inference.pyType inference example04_terraform_variables.pyTerraform variables example05_terraform_resources.pyTerraform resources example06_complex_structures.pyComplex structures example07_error_handling.pyError handling example08_multi_file_project.pyMulti-file project example