pyvider 2025-08-09
Initial commit of the pyvider Python Terraform provider framework
321 files · 24,085+ · 107-

Provider framework foundation

3 files changed
  • pyproject.toml Project metadata with version 0.0.711, Python 3.12+ requirement, and dependency declarations
  • env.sh Development environment setup script using uv with platform-specific venv management
  • .gitignore Git ignore patterns for the project
  • Created the complete pyvider framework for building Terraform providers in Python, organized as a src-layout package under src/pyvider/ instantiate architectural
    2 files
    • __init__.py
    • __main__.py
  • Implemented provider base classes with hub-based component discovery and registration instantiate architectural
    3 files
    • discovery.py
    • components.py
    • validators.py
  • Built resource lifecycle management with CRUD operations and private state encryption support instantiate behavioral
    4 files
    • base.py
    • lifecycle.py
    • private_state.py
    • encryption.py
  • Added data source, function, and ephemeral resource abstractions with decorator-based registration instantiate behavioral
    3 files
    • base.py
    • base.py
    • base.py
  • Implemented full tfplugin6 gRPC protocol with handlers for all Terraform operations instantiate architectural
    3 files
    • service.py
    • __init__.py
    • handler.py
  • Created schema system with types, attributes, blocks, validators, and transforms instantiate behavioral
    3 files
    • factory.py
    • attribute.py
    • schema.py

Documentation and developer tooling

1 file changed
  • docs Comprehensive documentation tree covering introduction, user guide, developer guide, API reference, schema, capabilities, and tutorials
  • Added comprehensive documentation under docs/ covering introduction, guides, API reference, schema, and tutorials specify behavioral
    3 files
    • 01-what-is-pyvider.md
    • 01-architecture.md
    • 01-overview.md
  • Created CLI tooling with commands for component management, configuration, installation, and provider launching instantiate behavioral
    3 files
    • main.py
    • provide_command.py
    • components_commands.py
  • Set up development environment scripts including OpenTofu/Terraform installers and platform-specific prep scripts baseline internal
    3 files
    • env.sh
    • install-opentofu.sh
    • 01_install_homebrew.sh

Test infrastructure

1 file changed
  • conftest.py Test configuration and shared fixtures
  • Added comprehensive test suites covering encryption, conversion, resources, schema, functions, hub discovery, and protocol handlers qualify behavioral
    3 files
    • test_encryption_unit.py
    • test_tdd_crud_lifecycle.py
    • test_factory_helpers.py
  • Included property-based tests, TDD contract tests, and integration tests for the framework qualify internal
    2 files
    • test_function_adapter.py
    • test_framework_integration.py