A collection of classic tomato-based recipes implemented in TomatoPy. Each recipe includes detailed instructions, ingredient specifications, and quality control measures.
from tomatopy import Tomato, Garlic, Basil, OliveOil
# Create ingredients
tomatoes = Tomato(
ripeness=0.9,
variety="San Marzano",
weight=800 # grams
)
garlic = Garlic(
cloves=4,
freshness=0.95,
size="medium"
)
basil = Basil(
leaves=20,
freshness=0.95,
variety="Genovese"
)
olive_oil = OliveOil(
amount=60, # ml
quality="extra_virgin",
acidity=0.3 # %
)
from tomatopy import Kitchen, Recipe
# Initialize kitchen
kitchen = Kitchen()
# Create recipe
marinara = Recipe("Classic Marinara")
marinara.add_ingredient(tomatoes)
marinara.add_ingredient(garlic)
marinara.add_ingredient(basil)
marinara.add_ingredient(olive_oil)
# Set cooking parameters
marinara.set_cooking_method("simmer")
marinara.set_duration("45m")
marinara.set_temperature(100) # Celsius
# Execute recipe
sauce = kitchen.cook_recipe(marinara)
from tomatopy import TasteTester
# Analyze sauce
tester = TasteTester()
profile = tester.analyze(sauce)
# Check quality metrics
print(f"Sweetness: {profile.sweetness}")
print(f"Acidity: {profile.acidity}")
print(f"Umami: {profile.umami}")
print(f"Overall balance: {profile.balance}")
# Create 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"
)
oregano = Oregano(
amount=5, # grams
freshness=0.9,
variety="Mediterranean"
)
# Create recipe
pizza_sauce = Recipe("Classic Pizza Sauce")
pizza_sauce.add_ingredient(tomatoes)
pizza_sauce.add_ingredient(garlic)
pizza_sauce.add_ingredient(basil)
pizza_sauce.add_ingredient(oregano)
# Set cooking parameters
pizza_sauce.set_cooking_method("simmer")
pizza_sauce.set_duration("30m")
pizza_sauce.set_temperature(90) # Celsius
# Execute recipe
sauce = kitchen.cook_recipe(pizza_sauce)
# Analyze sauce
profile = tester.analyze(sauce)
# Check quality metrics
print(f"Consistency: {profile.consistency}")
print(f"Herb balance: {profile.herb_balance}")
print(f"Overall quality: {profile.overall_score}")
# Create ingredients
tomatoes = Tomato(
ripeness=0.85,
variety="Roma",
weight=1000 # grams
)
onion = Onion(
amount=200, # grams
variety="yellow",
sweetness=0.7
)
carrot = Carrot(
amount=100, # grams
freshness=0.95,
sweetness=0.8
)
celery = Celery(
amount=100, # grams
freshness=0.95,
crunchiness=0.9
)
cream = Cream(
amount=200, # ml
fat_content=0.35,
freshness=0.95
)
# Create recipe
soup = Recipe("Classic Tomato Soup")
soup.add_ingredient(tomatoes)
soup.add_ingredient(onion)
soup.add_ingredient(carrot)
soup.add_ingredient(celery)
soup.add_ingredient(cream)
# Set cooking parameters
soup.set_cooking_method("simmer")
soup.set_duration("1h")
soup.set_temperature(95) # Celsius
# Execute recipe
final_soup = kitchen.cook_recipe(soup)
# Analyze soup
profile = tester.analyze(final_soup)
# Check quality metrics
print(f"Consistency: {profile.consistency}")
print(f"Vegetable balance: {profile.vegetable_balance}")
print(f"Cream integration: {profile.cream_integration}")
# Create ingredients
tomatoes = Tomato(
ripeness=0.95,
variety="Cherry",
weight=500 # grams
)
garlic = Garlic(
cloves=3,
freshness=0.95,
size="medium"
)
basil = Basil(
leaves=15,
freshness=0.95,
variety="Genovese"
)
olive_oil = OliveOil(
amount=30, # ml
quality="extra_virgin",
acidity=0.3 # %
)
bread = Bread(
slices=8,
type="ciabatta",
freshness=0.9
)
# Create recipe
bruschetta = Recipe("Classic Bruschetta")
bruschetta.add_ingredient(tomatoes)
bruschetta.add_ingredient(garlic)
bruschetta.add_ingredient(basil)
bruschetta.add_ingredient(olive_oil)
bruschetta.add_ingredient(bread)
# Set cooking parameters
bruschetta.set_cooking_method("assemble")
bruschetta.set_preparation_time("15m")
# Execute recipe
final_bruschetta = kitchen.prepare_recipe(bruschetta)
# Analyze bruschetta
profile = tester.analyze(final_bruschetta)
# Check quality metrics
print(f"Freshness: {profile.freshness}")
print(f"Texture balance: {profile.texture_balance}")
print(f"Overall quality: {profile.overall_score}")
# Check ingredient quality
def validate_ingredients(ingredients):
for ingredient in ingredients:
if not ingredient.is_fresh():
print(f"Warning: {ingredient.name} may not be fresh")
if not ingredient.meets_quality_standards():
print(f"Warning: {ingredient.name} may not meet quality standards")
# Monitor cooking temperature
def monitor_cooking(recipe, kitchen):
with kitchen.temperature_monitor() as monitor:
result = kitchen.cook_recipe(recipe)
if monitor.get_max() > recipe.max_temperature:
print("Warning: Temperature exceeded maximum")
return result
# Assess final product
def assess_quality(result, tester):
profile = tester.analyze(result)
if profile.overall_score < 0.8:
print("Warning: Product may need improvement")
return profile
# Enhance flavor profile
def enhance_flavor(recipe, target_profile):
current_profile = tester.analyze(recipe)
recommendations = tester.get_optimization_recommendations(
current_profile,
target_profile
)
return recommendations
# Improve texture
def improve_texture(recipe, target_texture):
current_texture = tester.analyze_texture(recipe)
adjustments = tester.get_texture_recommendations(
current_texture,
target_texture
)
return adjustments
Experimental Creations - Try innovative recipes
API Reference - Explore the full API
Tutorials - Learn basic techniques
A collection of innovative and experimental tomato-based recipes that push the boundaries of what's possible with TomatoPy.
from tomatopy import Tomato, Alginate, Calcium, SpherificationKit
# Create ingredients
tomatoes = Tomato(
ripeness=0.95,
variety="Heirloom",
weight=500 # grams
)
alginate = Alginate(
amount=2, # grams
purity=0.99,
viscosity=0.8
)
calcium = Calcium(
amount=5, # grams
form="chloride",
purity=0.95
)
spherification_kit = SpherificationKit(
size="medium",
temperature_control=True
)
from tomatopy import Kitchen, Recipe
# Initialize kitchen
kitchen = Kitchen()
# Create recipe
spheres = Recipe("Tomato Spheres")
spheres.add_ingredient(tomatoes)
spheres.add_ingredient(alginate)
spheres.add_ingredient(calcium)
# Set preparation parameters
spheres.set_preparation_method("spherification")
spheres.set_temperature(4) # Celsius
spheres.set_duration("2h")
# Execute recipe
final_spheres = kitchen.prepare_recipe(spheres)
from tomatopy import TasteTester
# Analyze spheres
tester = TasteTester()
profile = tester.analyze(final_spheres)
# Check quality metrics
print(f"Sphericity: {profile.sphericity}")
print(f"Burst strength: {profile.burst_strength}")
print(f"Flavor concentration: {profile.flavor_concentration}")
# Create ingredients
tomatoes = Tomato(
ripeness=0.85,
variety="Roma",
weight=1000 # grams
)
chili = Chili(
amount=100, # grams
variety="Gochugaru",
spiciness=0.8
)
garlic = Garlic(
cloves=10,
freshness=0.95,
size="large"
)
ginger = Ginger(
amount=50, # grams
freshness=0.95,
spiciness=0.7
)
fermentation_kit = FermentationKit(
type="anaerobic",
temperature_control=True
)
# Create recipe
kimchi = Recipe("Tomato Kimchi")
kimchi.add_ingredient(tomatoes)
kimchi.add_ingredient(chili)
kimchi.add_ingredient(garlic)
kimchi.add_ingredient(ginger)
# Set fermentation parameters
kimchi.set_fermentation_method("lactic")
kimchi.set_temperature(20) # Celsius
kimchi.set_duration("7d")
kimchi.set_salt_concentration(0.02) # 2% salt
# Execute recipe
final_kimchi = kitchen.ferment_recipe(kimchi)
# Analyze kimchi
profile = tester.analyze(final_kimchi)
# Check quality metrics
print(f"Fermentation level: {profile.fermentation_level}")
print(f"Spiciness: {profile.spiciness}")
print(f"Umami development: {profile.umami_development}")
# Create ingredients
tomatoes = Tomato(
ripeness=0.9,
variety="San Marzano",
weight=400 # grams
)
cream = Cream(
amount=500, # ml
fat_content=0.35,
freshness=0.95
)
sugar = Sugar(
amount=150, # grams
type="granulated",
sweetness=1.0
)
vanilla = Vanilla(
amount=2, # pods
quality="madagascar",
intensity=0.9
)
ice_cream_maker = IceCreamMaker(
type="professional",
temperature_control=True
)
# Create recipe
ice_cream = Recipe("Tomato Ice Cream")
ice_cream.add_ingredient(tomatoes)
ice_cream.add_ingredient(cream)
ice_cream.add_ingredient(sugar)
ice_cream.add_ingredient(vanilla)
# Set preparation parameters
ice_cream.set_preparation_method("churning")
ice_cream.set_temperature(-5) # Celsius
ice_cream.set_duration("30m")
# Execute recipe
final_ice_cream = kitchen.prepare_recipe(ice_cream)
# Analyze ice cream
profile = tester.analyze(final_ice_cream)
# Check quality metrics
print(f"Creaminess: {profile.creaminess}")
print(f"Sweetness balance: {profile.sweetness_balance}")
print(f"Tomato flavor integration: {profile.flavor_integration}")
# Create ingredients
tomatoes = Tomato(
ripeness=0.95,
variety="Cherry",
weight=300 # grams
)
rice = Rice(
amount=500, # grams
variety="sushi",
stickiness=0.9
)
nori = Nori(
sheets=4,
quality="premium",
crispness=0.95
)
wasabi = Wasabi(
amount=20, # grams
spiciness=0.8,
freshness=0.95
)
sushi_kit = SushiKit(
type="professional",
rice_cooker=True
)
# Create recipe
sushi = Recipe("Tomato Sushi")
sushi.add_ingredient(tomatoes)
sushi.add_ingredient(rice)
sushi.add_ingredient(nori)
sushi.add_ingredient(wasabi)
# Set preparation parameters
sushi.set_preparation_method("rolling")
sushi.set_temperature(22) # Celsius
sushi.set_duration("45m")
# Execute recipe
final_sushi = kitchen.prepare_recipe(sushi)
# Analyze sushi
profile = tester.analyze(final_sushi)
# Check quality metrics
print(f"Rice texture: {profile.rice_texture}")
print(f"Roll tightness: {profile.roll_tightness}")
print(f"Flavor balance: {profile.flavor_balance}")
# Design experiment
def design_experiment(recipe, parameters):
experiment = Experiment(recipe)
for param, value in parameters.items():
experiment.add_parameter(param, value)
return experiment
# Optimize parameters
def optimize_parameters(recipe, target_profile):
optimizer = ParameterOptimizer(recipe)
optimal_params = optimizer.find_optimal(target_profile)
return optimal_params
# Monitor quality
def monitor_quality(recipe, duration):
monitor = QualityMonitor(recipe)
with monitor.track(duration):
result = kitchen.prepare_recipe(recipe)
quality_data = monitor.get_data()
return result, quality_data
# Extract flavors
def extract_flavors(ingredient, method):
extractor = FlavorExtractor(ingredient)
flavors = extractor.extract(method)
return flavors
# Modify texture
def modify_texture(ingredient, target_texture):
modifier = TextureModifier(ingredient)
modified = modifier.modify(target_texture)
return modified
# Manipulate molecules
def manipulate_molecules(ingredient, manipulation):
manipulator = MoleculeManipulator(ingredient)
result = manipulator.manipulate(manipulation)
return result
API Reference - Explore the full API
Tutorials - Learn advanced techniques
Best Practices - Learn optimization techniques