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__.pyfiles 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:
- Docstring copy: Only the docstring from
pyrig.dev.builders.__init__.pyis copied - Package structure: The
dev/builders/directory is created - Package initialization: Parent directories get
__init__.pyfiles
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
- Don't modify the docstring: Keep the copied docstring intact
- Add custom builders: Create builder modules in this directory
- Follow pyrig patterns: Use the same structure as pyrig's builders