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.mdRemoved the old single-package `README.md` in favor of the per-package structure
- Created a new repository with a comprehensive
.gitignorefor Python, Terraform, IDEs, and build artifacts baseline internal1 file
.gitignore
- Removed the old single-package
README.mdin favor of the per-package structure specify errata1 file
README.md
- Deleted the old
pyvider-corepackage contents (conversion system, injector, services, exceptions) as they were being restructured decouple architectural4 files
.gitignorehttp_api.pynumeric_functions.pyadapters.py
Pyvider-cty: Type System Overhaul
8 files changed
conversionRemoved the entire `conversion/` subsystem (format.py, formats/json.py, formats/msgpack.py, marsh...operation_context.pyAdded a new `context/operation_context.py` for tracking serialization operations (CONFIG, STATE, ...capsule.pyAdded `types/capsule.py` implementing `CtyCapsule` and `CtyCapsuleWithOps` for opaque data contai...marks.pyAdded `marks.py` for value marking/metadata systembase.pyRewrote `values/base.py` (CtyValue) significantly, reducing from ~1387 lines with heavy refactori...conversion.pyAdded new exception modules: `exceptions/conversion.py` for conversion-specific errorsbase.pyRewrote path navigation system in `path/base.py` with expanded functionalityci.ymlAdded 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 internal1 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 errata1 file
conversion
- Added a new
context/operation_context.pyfor tracking serialization operations (CONFIG, STATE, PLAN, APPLY, FUNCTION) baseline internal1 file
operation_context.py
- Added
types/capsule.pyimplementingCtyCapsuleandCtyCapsuleWithOpsfor opaque data containers instantiate internal1 file
capsule.py
- Added
marks.pyfor value marking/metadata system instantiate internal1 file
marks.py
- Rewrote
values/base.py(CtyValue) significantly, reducing from ~1387 lines with heavy refactoring of the value abstraction decouple internal1 file
base.py
- Added new exception modules:
exceptions/conversion.pyfor conversion-specific errors instantiate internal1 file
conversion.py
- Rewrote path navigation system in
path/base.pywith expanded functionality decouple internal1 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 errata1 file
ci.yml
- Added 11 example scripts demonstrating the type system, plus stress tests and performance benchmarks
streamline
internal
4 files
.gitignorehttp_api.pynumeric_functions.pyadapters.py
- Added Terraform testdata files for various backend and apply scenarios
baseline
internal
4 files
.gitignorehttp_api.pynumeric_functions.pyadapters.py
- Added new tests for capsule types, operation context, conversion exceptions, encoding exceptions, and expanded map coverage tests
qualify
internal
4 files
.gitignorehttp_api.pynumeric_functions.pyadapters.py
Pyvider-rpcplugin: gRPC Plugin Framework
1 file changed
adapters.pyChanges 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.pyChanges to adapters.py
Pyvider-telemetry: Observability
1 file changed
extract.shRemoved 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.shlog extraction script decouple behavioral1 file
extract.sh
Main pyvider Package: Terraform Provider
1 file changed
adapters.pyChanges 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_variablesdata source,file_infodata source,http_apidata source,file_contentresource,numeric_functions,string_manipulationdecouple internal1 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
.gitignorehttp_api.pynumeric_functions.pyadapters.py
Tofusoup: Testing Library
1 file changed
adapters.pyChanges to adapters.py