Skip to content

builders/__init__.py Configuration

The BuildersInitConfigFile manages the {package_name}/dev/builders/__init__.py file.

Overview

Creates a builders package that:

  • Mirrors the structure of pyrig.dev.builders
  • Copies only the docstring from the source module
  • Ensures the builders directory exists with proper package structure
  • Provides a place for custom builder implementations

Inheritance

graph TD A[ConfigFile] --> B[ListConfigFile] B --> C[StringConfigFile] C --> D[PythonConfigFile] D --> E[PythonPackageConfigFile] E --> F[CopyModuleConfigFile] F --> G[CopyModuleOnlyDocstringConfigFile] G --> H[InitConfigFile] H --> I[BuildersInitConfigFile] style A fill:#a8dadc,stroke:#333,stroke-width:2px,color:#000 style B fill:#457b9d,stroke:#333,stroke-width:2px,color:#fff style C fill:#f4a261,stroke:#333,stroke-width:2px,color:#000 style D fill:#e76f51,stroke:#333,stroke-width:2px,color:#000 style E fill:#9d84b7,stroke:#333,stroke-width:2px,color:#000 style F fill:#90be6d,stroke:#333,stroke-width:2px,color:#000 style G fill:#a8dadc,stroke:#333,stroke-width:2px,color:#000 style H fill:#f4a261,stroke:#333,stroke-width:2px,color:#000 style I fill:#e76f51,stroke:#333,stroke-width:2px,color:#000

Inherits from: InitConfigFile

What this means:

  • Creates __init__.py files for package initialization
  • Copies only the docstring from pyrig.dev.builders
  • Automatically determines target path
  • Ensures parent directory is a valid Python package

File Location

Path: {package_name}/dev/builders/__init__.py

Source module: pyrig.dev.builders

Path transformation: pyrig.dev.builders{package_name}.dev.builders{package_name}/dev/builders/__init__.py

How It Works

Automatic Generation

When initialized via uv run pyrig mkroot, the file is created with:

  1. Docstring copy: Only the docstring from pyrig.dev.builders.__init__.py is copied
  2. Package structure: The dev/builders/ directory is created
  3. Package initialization: Parent directories get __init__.py files

Generated Content

The file contains only the docstring, allowing you to add custom builder implementations.

Usage

Automatic Creation

uv run pyrig mkroot

Purpose

This package is where you can add custom builders for your project. The builders system is used to create project artifacts.

See the Builders documentation for details on creating custom builders.

Best Practices

  1. Don't modify the docstring: Keep the copied docstring intact
  2. Add custom builders: Create builder modules in this directory
  3. Follow pyrig patterns: Use the same structure as pyrig's builders