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
Soggy Crust
# Adjust oven temperature and baking time baked_pizza = oven.bake( pizza, temperature=480, # Higher temperature duration="1m30s" # Shorter duration )
Uneven Topping Distribution
# Redistribute toppings pizza.redistribute_toppings( method="even", target_distribution=0.9 )
Overcooked Cheese
# Adjust cheese layer pizza.adjust_cheese_layer( thickness="medium", distribution="even" )
Best Practices
Proper Dough Fermentation
# Check fermentation if dough.fermentation_time < "24h": print("Warning: Dough may not be fully fermented")
Temperature Control
# Monitor oven temperature with oven.temperature_monitor() as monitor: if monitor.get_max() > 500: print("Warning: Oven temperature too high")
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
Advanced Flavor Profiling - Master taste analysis
API Reference - Explore the full API
Best Practices - Learn optimization techniques
Last updated
Was this helpful?