Builder Examples

Practical examples of builder usage patterns.

HTML Generation

Simple Page

Data Table

Markdown Generation

README Template

API Documentation

Custom Builder

Configuration Builder

Form Builder

XML Schema Generation

Invoice Builder

from genro_builders import BuilderBag
from genro_builders.contrib.xsd import XsdBuilder

# Create from XSD schema
invoice = BuilderBag(builder=XsdBuilder, builder_xsd_source='invoice.xsd')

doc = invoice.Invoice()
header = doc.Header()
header.InvoiceNumber(value='INV-2025-001')
header.Date(value='2025-01-15')
header.DueDate(value='2025-02-15')

seller = doc.Seller()
seller.Name(value='Acme Corp')
seller.Address(value='123 Main St')

buyer = doc.Buyer()
buyer.Name(value='Customer Inc')
buyer.Address(value='456 Oak Ave')

items = doc.Items()
item = items.Item()
item.Description(value='Widget')
item.Quantity(value='10')
item.UnitPrice(value='9.99')
item.Total(value='99.90')

xml = invoice.to_xml(pretty=True)

Builder Composition

Reusable Components

Using @component for Reusable Cards

The previous example uses a function. With @component, you can make it part of the builder:

Dynamic Structure from Data