🍕🔥 Pizza is great! 🔥🍕

Perfect Pizza Production

This tutorial will guide you through creating a perfect pizza using TomatoPy. We'll cover everything from dough preparation to final baking and quality assessment.

Prerequisites

Before starting, make sure you have:

  • Basic understanding of Python

  • TomatoPy installed

  • Virtual environment set up

  • Understanding of basic pizza concepts

Step 1: Setting Up Your Kitchen

First, let's initialize our virtual kitchen and configure the pizza oven:

from tomatopy import Kitchen, KitchenHardware

# Initialize kitchen
kitchen = Kitchen()

# Set up hardware
hardware = KitchenHardware()
oven = hardware.get_oven()

# Configure pizza oven
oven.configure(
    temperature=450,  # Celsius
    heat_source="wood",
    humidity=0.65,
    heat_zones={
        "center": 450,
        "edges": 480,
        "top": 460
    }
)

Step 2: Preparing the Dough

Let's create the perfect pizza dough with proper fermentation:

from tomatopy import PizzaDough

# Create pizza dough
dough = PizzaDough(
    thickness="medium",
    size="14inch",
    style="neapolitan",
    hydration=0.65,  # 65% hydration
    fermentation_time="24h",
    flour_type="00",
    salt_content=0.02  # 2% salt
)

# Check dough properties
print(f"Dough hydration: {dough.get_hydration()}")
print(f"Fermentation status: {dough.get_fermentation_status()}")

Step 3: Creating the Sauce

Let's prepare a classic pizza sauce:

from tomatopy import PizzaSauce, Tomato, Garlic, Basil

# Create sauce ingredients
tomatoes = Tomato(
    ripeness=0.9,
    variety="San Marzano",
    weight=400  # grams
)

garlic = Garlic(
    cloves=3,
    freshness=0.95,
    size="medium"
)

basil = Basil(
    leaves=10,
    freshness=0.95,
    variety="Genovese"
)

# Create pizza sauce
sauce = PizzaSauce(
    base="tomato",
    consistency="smooth",
    seasoning_level="medium",
    herbs=["basil", "oregano"],
    garlic_content=0.05,  # 5% garlic
    sugar_content=0.02    # 2% sugar
)

Step 4: Preparing Toppings

Let's set up our toppings with proper proportions:

from tomatopy import Topping

# Create toppings
mozzarella = Topping(
    name="mozzarella",
    amount=200,  # grams
    distribution="even",
    moisture_content=0.52
)

pepperoni = Topping(
    name="pepperoni",
    amount=100,  # grams
    distribution="scattered",
    spiciness="medium"
)

basil = Topping(
    name="basil",
    amount=10,  # leaves
    distribution="scattered",
    freshness=0.95
)

Step 5: Assembling the Pizza

Now, let's create and assemble our pizza:

from tomatopy import Pizza

# Create pizza
pizza = Pizza(
    dough=dough,
    sauce=sauce,
    size="14inch",
    style="neapolitan"
)

# Add toppings
pizza.add_topping(mozzarella)
pizza.add_topping(pepperoni)
pizza.add_topping(basil)

# Check topping distribution
distribution = pizza.get_topping_distribution()
print(f"Topping distribution score: {distribution}")

Step 6: Baking Process

Let's execute the baking process with proper temperature control:

# Pre-heat oven
oven.preheat(
    temperature=450,
    duration="30m",
    heat_zones={
        "center": 450,
        "edges": 480,
        "top": 460
    }
)

# Bake pizza
baked_pizza = oven.bake(
    pizza,
    duration="2m",
    rotation_frequency="30s",
    steam_injection=True,
    crust_development="high"
)

# Monitor baking process
with oven.temperature_monitor() as monitor:
    print(f"Center temperature: {monitor.get_center_temp()}°C")
    print(f"Edge temperature: {monitor.get_edge_temp()}°C")

Step 7: Quality Assessment

Let's analyze our pizza to ensure it meets our standards:

from tomatopy import TasteTester

# Create taste tester
tester = TasteTester()

# Analyze pizza
profile = tester.analyze(baked_pizza)

# Check quality metrics
print(f"Crust crispness: {profile.crust_crispness}")
print(f"Cheese melt: {profile.cheese_melt}")
print(f"Topping distribution: {profile.topping_distribution}")

# Get texture analysis
texture = tester.analyze_texture(baked_pizza)
print(f"Crust texture: {texture.crust_texture}")
print(f"Cheese texture: {texture.cheese_texture}")

Step 8: Cutting and Serving

Let's cut our pizza into perfect slices:

# Cut pizza into slices
slices = baked_pizza.cut(
    method="standard",
    slices=8,
    slice_size="equal"
)

# Analyze slice quality
for i, slice in enumerate(slices):
    print(f"Slice {i+1} quality: {slice.get_quality_score()}")

Troubleshooting

Common Issues

  1. Soggy Crust

    # Adjust oven temperature and baking time
    baked_pizza = oven.bake(
        pizza,
        temperature=480,  # Higher temperature
        duration="1m30s"  # Shorter duration
    )
  2. Uneven Topping Distribution

    # Redistribute toppings
    pizza.redistribute_toppings(
        method="even",
        target_distribution=0.9
    )
  3. Overcooked Cheese

    # Adjust cheese layer
    pizza.adjust_cheese_layer(
        thickness="medium",
        distribution="even"
    )

Best Practices

  1. Proper Dough Fermentation

    # Check fermentation
    if dough.fermentation_time < "24h":
        print("Warning: Dough may not be fully fermented")
  2. Temperature Control

    # Monitor oven temperature
    with oven.temperature_monitor() as monitor:
        if monitor.get_max() > 500:
            print("Warning: Oven temperature too high")
  3. Topping Balance

    # Check topping balance
    if pizza.get_topping_balance() < 0.8:
        print("Warning: Toppings may not be balanced")

Advanced Techniques

Creating Multiple Pizzas

# Create batch of pizzas
pizzas = [
    Pizza.create_neapolitan(size="12inch"),
    Pizza.create_ny_style(size="18inch"),
    Pizza.create_chicago_style(size="10inch")
]

# Bake batch
baked_pizzas = oven.bake_batch(
    pizzas,
    rotation_frequency="30s",
    steam_injection=True
)

Custom Crust Development

# Configure advanced crust development
baked_pizza = oven.bake(
    pizza,
    crust_development={
        "bottom": "crispy",
        "edges": "chewy",
        "top": "golden"
    }
)

Next Steps

Last updated

Was this helpful?