pyvider 2025-05-09
Initial commit of the pyvider monorepo, establishing the multi-package workspace structure with...
1675 files · 133,706+ · 48,560-

Repository Bootstrap: Monorepo Structure

1 file changed
  • README.md Removed the old single-package `README.md` in favor of the per-package structure
  • Created a new repository with a comprehensive .gitignore for Python, Terraform, IDEs, and build artifacts baseline internal
    1 file
    • .gitignore
  • Removed the old single-package README.md in favor of the per-package structure specify errata
    1 file
    • README.md
  • Deleted the old pyvider-core package contents (conversion system, injector, services, exceptions) as they were being restructured decouple architectural
    4 files
    • .gitignore
    • http_api.py
    • numeric_functions.py
    • adapters.py

Pyvider-cty: Type System Overhaul

8 files changed
  • conversion Removed the entire `conversion/` subsystem (format.py, formats/json.py, formats/msgpack.py, marsh...
  • operation_context.py Added a new `context/operation_context.py` for tracking serialization operations (CONFIG, STATE, ...
  • capsule.py Added `types/capsule.py` implementing `CtyCapsule` and `CtyCapsuleWithOps` for opaque data contai...
  • marks.py Added `marks.py` for value marking/metadata system
  • base.py Rewrote `values/base.py` (CtyValue) significantly, reducing from ~1387 lines with heavy refactori...
  • conversion.py Added new exception modules: `exceptions/conversion.py` for conversion-specific errors
  • base.py Rewrote path navigation system in `path/base.py` with expanded functionality
  • ci.yml Added CI workflow (`.github/workflows/ci.yml`), CHANGELOG, CONTRIBUTING, RELEASE_NOTES, and compr...
  • Rewrote the cty type system (CtyList, CtyMap, CtySet, CtyObject, CtyTuple, primitives) with simplified implementations, removing verbose docstrings and streamlining methods decouple internal
    1 file
    • adapters.py
  • Removed the entire conversion/ subsystem (format.py, formats/json.py, formats/msgpack.py, marshal.py, wire.py) in favor of a lighter approach decouple errata
    1 file
    • conversion
  • Added a new context/operation_context.py for tracking serialization operations (CONFIG, STATE, PLAN, APPLY, FUNCTION) baseline internal
    1 file
    • operation_context.py
  • Added types/capsule.py implementing CtyCapsule and CtyCapsuleWithOps for opaque data containers instantiate internal
    1 file
    • capsule.py
  • Added marks.py for value marking/metadata system instantiate internal
    1 file
    • marks.py
  • Rewrote values/base.py (CtyValue) significantly, reducing from ~1387 lines with heavy refactoring of the value abstraction decouple internal
    1 file
    • base.py
  • Added new exception modules: exceptions/conversion.py for conversion-specific errors instantiate internal
    1 file
    • conversion.py
  • Rewrote path navigation system in path/base.py with expanded functionality decouple internal
    1 file
    • base.py
  • Added CI workflow (.github/workflows/ci.yml), CHANGELOG, CONTRIBUTING, RELEASE_NOTES, and comprehensive documentation (migration guide, quick start, type system docs, serialization docs) specify errata
    1 file
    • ci.yml
  • Added 11 example scripts demonstrating the type system, plus stress tests and performance benchmarks streamline internal
    4 files
    • .gitignore
    • http_api.py
    • numeric_functions.py
    • adapters.py
  • Added Terraform testdata files for various backend and apply scenarios baseline internal
    4 files
    • .gitignore
    • http_api.py
    • numeric_functions.py
    • adapters.py
  • Added new tests for capsule types, operation context, conversion exceptions, encoding exceptions, and expanded map coverage tests qualify internal
    4 files
    • .gitignore
    • http_api.py
    • numeric_functions.py
    • adapters.py

Pyvider-rpcplugin: gRPC Plugin Framework

1 file changed
  • adapters.py Changes to adapters.py
  • Present as a fully-formed package with transport layer (TCP, Unix socket), protocol layer (gRPC protobuf services), client/server infrastructure, handshake negotiation, crypto/certificate management, and configuration system interface internal
    1 file
    • adapters.py
  • Includes comprehensive test suite for client operations, transport, protocol, and crypto qualify internal
    1 file
    • adapters.py

Pyvider-schema: Schema System

1 file changed
  • adapters.py Changes to adapters.py
  • Present with schema definition system, conversion/proto module for protobuf schema conversion, and test infrastructure qualify internal
    1 file
    • adapters.py

Pyvider-telemetry: Observability

1 file changed
  • extract.sh Removed the old `extract.sh` log extraction script
  • Included with structlog-based logging, emoji matrix for log decoration, custom processors, tracer decorators, and configuration management decouple behavioral
    1 file
    • adapters.py
  • Removed the old extract.sh log extraction script decouple behavioral
    1 file
    • extract.sh

Main pyvider Package: Terraform Provider

1 file changed
  • adapters.py Changes to adapters.py
  • Full Terraform Plugin Protocol v6 implementation with handlers for all operations (apply, plan, read, validate, configure, get_schema, import, functions, ephemeral resources) interface internal
    1 file
    • adapters.py
  • Component system with decorators for registering resources, data sources, functions, capabilities, and ephemeral resources decouple internal
    1 file
    • adapters.py
  • Hub-based discovery system for automatic component registration decouple internal
    1 file
    • adapters.py
  • Includes concrete components: env_variables data source, file_info data source, http_api data source, file_content resource, numeric_functions, string_manipulation decouple internal
    1 file
    • adapters.py
  • Conversion pipeline bridging Python types to Terraform wire format via DynamicValue baseline errata
    1 file
    • adapters.py
  • Exception hierarchy covering all provider operation domains decouple internal
    4 files
    • .gitignore
    • http_api.py
    • numeric_functions.py
    • adapters.py

Tofusoup: Testing Library

1 file changed
  • adapters.py Changes to adapters.py
  • New package for Terraform/OpenTofu integration testing with edge case tests, property-based testing, and wire format demos qualify errata
    3 files
    • .gitignore
    • http_api.py
    • numeric_functions.py