Skip to content

Welcome to Pyvider Documentation

Build Terraform providers in Python — full Protocol v6, decorator-based API, async-first.

🤖 AI-Generated Content

This documentation was generated with AI assistance and is still being audited. Some, or potentially a lot, of this information may be inaccurate. Learn more.

Current Status

Pyvider is in active development. See the announcement banner above for current version status.

Pyvider is a Python framework that enables you to build Terraform providers using pure Python. By combining Python's expressiveness with Terraform's infrastructure management capabilities, Pyvider makes provider development accessible to the Python ecosystem while maintaining full compatibility with Terraform's Plugin Protocol v6.

Quick Start

Documentation Structure

🚀 Getting Started

📖 Developer Guides

Build production-focused providers:

🏛️ Core Concepts

Understand Pyvider's foundation:

📦 Schema System

📘 API Reference

🤝 Contributing

Part of the provide.io Ecosystem

This project is part of a larger ecosystem of tools for Python and Terraform development.

View Ecosystem Overview →

Understand how provide-foundation, pyvider, flavorpack, and other projects work together.

Prerequisites

  • Python 3.11+ installed
  • Basic understanding of Terraform concepts
  • Familiarity with Python type hints and attrs (helpful but not required)

📦 Ready-to-Use Components

The pyvider-components repository provides production-focused components:

  • Resources: file_content, local_directory, timed_token
  • Data Sources: env_variables, file_info, http_api, lens_jq
  • Functions: String manipulation, numeric operations, JQ transformations

Install with: uv add pyvider-components

💬 Community & Support

📈 Project Status

  • Version: 0.3.0 (Pre-release)
  • Protocol: Terraform Plugin Protocol v6
  • Python: 3.11+
  • License: Apache 2.0
  • Status: Alpha - Under Active Development

Made with ❤️ by the team at Provide