pyvider 2025-03-30
Created a new top-level `src/pyvider/conversion/` package with a unified conversion API
35 files · 1,899+ · 1,304-

Unified Conversion Package

6 files changed
  • __init__.py Added `src/pyvider/conversion/__init__.py` (47 lines) with public API: `encode`, `decode`, `encod...
  • base.py Added `src/pyvider/conversion/base.py` (167 lines) with `FormatKind` enum, `ConverterOptions` Typ...
  • terraform.py Added `src/pyvider/conversion/terraform.py` (288 lines) for Terraform DynamicValue format
  • json.py Added `src/pyvider/conversion/json.py` (142 lines) for JSON format
  • schema.py Added `src/pyvider/conversion/schema.py` (269 lines) for schema serialization
  • types.py Added `src/pyvider/conversion/types.py` (204 lines) for type string encoding/decoding
  • Added src/pyvider/conversion/__init__.py (47 lines) with public API: encode, decode, encode_schema, decode_schema, encode_type, decode_type interface behavioral
    1 file
    • __init__.py
  • Added src/pyvider/conversion/base.py (167 lines) with FormatKind enum, ConverterOptions TypedDict, Registry dataclass, register_converter decorator, and top-level encode()/decode() dispatch functions instantiate internal
    1 file
    • base.py
  • Added src/pyvider/conversion/terraform.py (288 lines) for Terraform DynamicValue format baseline errata
    1 file
    • terraform.py
  • Added src/pyvider/conversion/json.py (142 lines) for JSON format instantiate errata
    1 file
    • json.py
  • Added src/pyvider/conversion/schema.py (269 lines) for schema serialization interface internal
    1 file
    • schema.py
  • Added src/pyvider/conversion/types.py (204 lines) for type string encoding/decoding instantiate internal
    1 file
    • types.py

Schema Enhancements

8 files changed
  • common_types.py Added `src/pyvider/schema/common_types.py` (59 lines) for shared type definitions
  • cty_adapters.py Added `src/pyvider/schema/cty_adapters.py` (324 lines) for CTY-to-schema bridging
  • blocks.py Renamed `schema/blocks.py` to `schema/pvblocks.py`
  • pvblocks.py Renamed `schema/blocks.py` to `schema/pvblocks.py`
  • schemas.py Renamed `schema/schemas.py` to `schema/pvschemas.py`
  • pvschemas.py Renamed `schema/schemas.py` to `schema/pvschemas.py`
  • definition.py Refactored `schema/definition.py` (266 lines of changes) and `schema/validation.py` (137 lines of...
  • validation.py Refactored `schema/definition.py` (266 lines of changes) and `schema/validation.py` (137 lines of...
  • Added src/pyvider/schema/common_types.py (59 lines) for shared type definitions interface internal
    1 file
    • common_types.py
  • Added src/pyvider/schema/cty_adapters.py (324 lines) for CTY-to-schema bridging interface internal
    1 file
    • cty_adapters.py
  • Renamed schema/blocks.py to schema/pvblocks.py decouple internal
    2 files
    • blocks.py
    • pvblocks.py
  • Renamed schema/schemas.py to schema/pvschemas.py decouple internal
    2 files
    • schemas.py
    • pvschemas.py
  • Refactored schema/definition.py (266 lines of changes) and schema/validation.py (137 lines of changes) decouple internal
    2 files
    • definition.py
    • validation.py

Old Protocol-Level Conversion Removed

3 files changed
  • cty_to_terraform.py Deleted `tfprotov6/conversion/cty_to_terraform.py` (537 lines)
  • dynamic_value.py Deleted `tfprotov6/conversion/dynamic_value.py` (332 lines)
  • __init__.py Updated `tfprotov6/conversion/__init__.py` to slim down exports
  • Deleted tfprotov6/conversion/cty_to_terraform.py (537 lines) decouple internal
    1 file
    • cty_to_terraform.py
  • Deleted tfprotov6/conversion/dynamic_value.py (332 lines) decouple internal
    1 file
    • dynamic_value.py
  • Updated tfprotov6/conversion/__init__.py to slim down exports decouple internal
    1 file
    • __init__.py

Handler Updates

1 file changed
  • pyvider.conversion Updated pyvider.conversion
  • Updated all protocol handlers to use the new pyvider.conversion API: interface behavioral
    1 file
    • pyvider.conversion

Miscellaneous

3 files changed
  • __main__.py Removed commented-out telemetry imports from `__main__.py`
  • conversion.py Added `ConversionError` exception class in `exceptions/conversion.py`
  • __init__.py Updated `exceptions/__init__.py` with reorganized exports (90 lines of changes)
  • Removed commented-out telemetry imports from __main__.py decouple behavioral
    1 file
    • __main__.py
  • Added ConversionError exception class in exceptions/conversion.py instantiate internal
    1 file
    • conversion.py
  • Updated exceptions/__init__.py with reorganized exports (90 lines of changes) decouple internal
    1 file
    • __init__.py