pyvider 2025-06-04
Refactored the exception hierarchy with a new base module, overhauled the conversion system with...
46 files · 2,733+ · 1,448-

Exception Hierarchy Refactor

3 files changed
  • base.py Added `src/pyvider/exceptions/base.py` (55 lines) with new base classes: `PyviderError`, `Convers...
  • __init__.py Rewrote `exceptions/__init__.py` (125 lines of changes) with cleaner imports organized by category
  • EXCEPTION_HIERARCHY.md Added `docs/EXCEPTION_HIERARCHY.md` (44 lines) documenting the exception tree
  • Added src/pyvider/exceptions/base.py (55 lines) with new base classes: PyviderError, ConversionError (with source_value/target_type context), FrameworkConfigurationError, PluginError, PyviderValueError, ComponentConfigurationError instantiate internal
    1 file
    • base.py
  • Rewrote exceptions/__init__.py (125 lines of changes) with cleaner imports organized by category decouple internal
    1 file
    • __init__.py
  • Updated all exception submodules (function, grpc, provider, registry, resource, schema, serialization, validation) to inherit from new base classes interface internal
    1 file
    • EXCEPTION_HIERARCHY.md
  • Added docs/EXCEPTION_HIERARCHY.md (44 lines) documenting the exception tree specify internal
    1 file
    • EXCEPTION_HIERARCHY.md

Conversion System Updates

3 files changed
  • dynamic_value.py Reworked `src/pyvider/conversion/dynamic_value.py` (~244 lines of changes) with improved value-to...
  • conversion Removed `protocols/tfprotov6/conversion/` package entirely (dynamic_value.py at 186 lines, __init...
  • wire_format.py Removed `protocols/adapters/wire_format.py` (371 lines) - consolidated into the new conversion mo...
  • Reworked src/pyvider/conversion/dynamic_value.py (~244 lines of changes) with improved value-to-dynamic-value conversion decouple internal
    1 file
    • dynamic_value.py
  • Removed protocols/tfprotov6/conversion/ package entirely (dynamic_value.py at 186 lines, init.py at 27 lines) baseline internal
    1 file
    • conversion
  • Removed protocols/adapters/wire_format.py (371 lines) - consolidated into the new conversion module instantiate internal
    1 file
    • wire_format.py

Test Suite Expansion

10 files changed
  • conftest.py Added `tests/conftest.py` (212 lines) with shared test fixtures and mock objects
  • test_dynamic_value_conversion.py Added `tests/conversion/test_dynamic_value_conversion.py` (257 lines) testing value marshalling
  • test_exceptions_hierarchy.py Added `tests/exceptions/test_exceptions_hierarchy.py` (344 lines) validating the exception tree
  • test_function_adapter.py Added `tests/functions/test_function_adapter.py` (147 lines) testing function-to-dict conversion
  • test_function_registration.py Added `tests/functions/test_function_registration.py` (58 lines) testing decorator registration
  • test_data_source_registration.py Added `tests/data_sources/test_data_source_registration.py` (33 lines)
  • test_provider_handler_delegation.py Added `tests/handler/test_provider_handler_delegation.py` (124 lines) testing handler dispatch
  • test_resource_registration.py Added `tests/resources/test_resource_registration.py` (39 lines)
  • test_wire_type_encoder.py Added `tests/schema/test_wire_type_encoder.py` (68 lines)
  • hub Added `tests/hub/` with discovery test packages and tests for component discovery (150 lines), re...
  • Added tests/conftest.py (212 lines) with shared test fixtures and mock objects qualify internal
    1 file
    • conftest.py
  • Added tests/conversion/test_dynamic_value_conversion.py (257 lines) testing value marshalling qualify internal
    1 file
    • test_dynamic_value_conversion.py
  • Added tests/exceptions/test_exceptions_hierarchy.py (344 lines) validating the exception tree qualify internal
    1 file
    • test_exceptions_hierarchy.py
  • Added tests/functions/test_function_adapter.py (147 lines) testing function-to-dict conversion qualify internal
    1 file
    • test_function_adapter.py
  • Added tests/functions/test_function_registration.py (58 lines) testing decorator registration qualify internal
    1 file
    • test_function_registration.py
  • Added tests/data_sources/test_data_source_registration.py (33 lines) qualify internal
    1 file
    • test_data_source_registration.py
  • Added tests/handler/test_provider_handler_delegation.py (124 lines) testing handler dispatch qualify internal
    1 file
    • test_provider_handler_delegation.py
  • Added tests/resources/test_resource_registration.py (39 lines) qualify internal
    1 file
    • test_resource_registration.py
  • Added tests/schema/test_wire_type_encoder.py (68 lines) qualify internal
    1 file
    • test_wire_type_encoder.py
  • Added tests/hub/ with discovery test packages and tests for component discovery (150 lines), registry (197 lines), and validators (67 lines) qualify internal
    1 file
    • hub