pyvider 2025-04-13
Continued the conversion system refactoring: replaced individual converter classes with a...
21 files · 1,368+ · 1,355-

Wire Format Conversion Module

5 files changed
  • wire.py Added `src/pyvider/core/conversion/wire.py` (366 lines) providing a unified wire-format serializa...
  • json.py Deleted `core/conversion/converters/json.py` and `core/conversion/converters/terraform.py` (combi...
  • terraform.py Deleted `core/conversion/converters/json.py` and `core/conversion/converters/terraform.py` (combi...
  • base.py Significantly reworked `core/conversion/base.py` to support the new architecture
  • registry.py Expanded `core/conversion/registry.py` from simple converter lookup to a full marshal/unmarshal s...
  • Added src/pyvider/core/conversion/wire.py (366 lines) providing a unified wire-format serialization layer that replaces the separate JSON and Terraform converters decouple errata
    1 file
    • wire.py
  • Deleted core/conversion/converters/json.py and core/conversion/converters/terraform.py (combined ~850 lines removed) baseline internal
    2 files
    • json.py
    • terraform.py
  • Significantly reworked core/conversion/base.py to support the new architecture instantiate internal
    1 file
    • base.py
  • Expanded core/conversion/registry.py from simple converter lookup to a full marshal/unmarshal system (~230+ lines added) instantiate internal
    1 file
    • registry.py

Protocol Dynamic Value Conversion

2 files changed
  • dynamic_value.py Added `src/pyvider/protocols/tfprotov6/conversion/dynamic_value.py` (204 lines) for converting be...
  • converter.py Removed the `tfprotov6/adapters/converter.py` adapter (204 lines) in favor of direct conversion
  • Added src/pyvider/protocols/tfprotov6/conversion/dynamic_value.py (204 lines) for converting between Python values and Terraform DynamicValue protobuf messages baseline internal
    1 file
    • dynamic_value.py
  • Removed the tfprotov6/adapters/converter.py adapter (204 lines) in favor of direct conversion interface internal
    1 file
    • converter.py

Handler Overhaul

2 files changed
  • get_provider_schema.py Massively reworked `get_provider_schema.py` handler (~500+ lines of changes) to use the new conve...
  • call_function.py Updated `call_function.py` handler with new conversion imports
  • Massively reworked get_provider_schema.py handler (~500+ lines of changes) to use the new conversion system for schema encoding interface internal
    1 file
    • get_provider_schema.py
  • Updated all resource lifecycle handlers (apply, plan, read, validate) to use the new marshal/unmarshal API interface behavioral
    1 file
    • handler.py
  • Updated call_function.py handler with new conversion imports instantiate internal
    1 file
    • call_function.py
  • Iterative fixes to conversion context (@define decorator toggling), registry forward references, and import paths throughout the day remediate internal
    1 file
    • handler.py

Conversion API Cleanup

1 file changed
  • __init__.py Updated `pyvider/conversion/__init__.py` to re-export from core conversion with simplified names
  • Renamed encode/decode to marshal/unmarshal across the codebase decouple internal
    14 files
    • __init__.py
    • __init__.py
    • base.py
    • context.py
    • __init__.py
    • json.py
    • terraform.py
    • format.py
    • registry.py
    • schema.py
    • types.py
    • wire.py
    • __init__.py
    • dynamic_value.py
  • Updated pyvider/conversion/__init__.py to re-export from core conversion with simplified names interface internal
    1 file
    • __init__.py
  • Removed disabled env_variables data resource decouple internal
    14 files
    • __init__.py
    • __init__.py
    • base.py
    • context.py
    • __init__.py
    • json.py
    • terraform.py
    • format.py
    • registry.py
    • schema.py
    • types.py
    • wire.py
    • __init__.py
    • dynamic_value.py