🍕🔥 Pizza is great! 🔥🍕

Concetti Base

🍅 Comprendere i concetti fondamentali di TomatoPy ti aiuterà a sfruttare al meglio la libreria. Questa guida introduce le idee e i componenti fondamentali. 🥫

🍕 🍕

Componenti Principali

1. Ingredienti

Gli ingredienti sono i mattoni di TomatoPy. Ogni ingrediente ha proprietĂ  che influenzano il suo comportamento durante le operazioni di cottura.

from tomatopy import Ingredient

# Crea un ingrediente base
tomato = Ingredient(
    name="tomato",
    amount=1,
    unit="whole",
    properties={
        "ripeness": 0.8,
        "water_content": 0.95,
        "sugar_content": 0.03
    }
)

2. Cucina

La classe Kitchen rappresenta il tuo ambiente di cottura virtuale. Gestisce le operazioni di cottura e mantiene le condizioni ambientali.

from tomatopy import Kitchen

kitchen = Kitchen()
kitchen.set_temperature(180)  # Celsius
kitchen.set_humidity(65)      # Percentuale

3. Ricette

Le ricette combinano piĂą ingredienti e definiscono come devono essere preparati.

from tomatopy import Recipe

# Crea una ricetta
marinara = Recipe("Classica Marinara")
marinara.add_ingredient(tomato)
marinara.set_cooking_method("simmer")
marinara.set_duration("30m")

Concetti Chiave

1. Sistema di ProprietĂ 

Gli ingredienti hanno proprietĂ  che influenzano il loro comportamento:

  • ProprietĂ  Fisiche: peso, volume, densitĂ 

  • ProprietĂ  Chimiche: pH, contenuto d'acqua, contenuto di zucchero

  • ProprietĂ  Culinarie: maturazione, freschezza, consistenza

# Accedi e modifica le proprietĂ 
print(tomato.properties["water_content"])  # 0.95
tomato.properties["ripeness"] = 0.9

2. Operazioni di Cottura

Le operazioni di cottura trasformano gli ingredienti attraverso vari metodi:

  • Applicazione di Calore: sobbollire, bollire, arrostire

  • Azione Meccanica: tritare, frullare, impastare

  • Cambiamenti Chimici: fermentazione, stagionatura

# Esegui operazioni di cottura
sauce = kitchen.cook(
    tomato,
    method="simmer",
    temperature=100,
    duration="30m"
)

3. Gestione dello Stato

Gli ingredienti mantengono lo stato durante le operazioni di cottura:

# Controlla lo stato dell'ingrediente
print(tomato.state)  # "raw"
sauce = kitchen.cook(tomato, method="simmer")
print(sauce.state)   # "cooked"

Concetti Avanzati

1. Profili di Gusto

Gli ingredienti e i prodotti cotti hanno profili di gusto:

from tomatopy import TasteTester

tester = TasteTester()
profile = tester.analyze(sauce)

# Accedi ai componenti del gusto
print(profile.acidity)     # 0.7
print(profile.sweetness)   # 0.3
print(profile.umami)       # 0.8

2. Conversione delle UnitĂ 

TomatoPy gestisce automaticamente le conversioni delle unitĂ :

# Convertire tra unitĂ 
tomato.convert_to_imperial()  # Converte da metrico a imperiale
sauce.convert_volume("ml", "cups")  # Converte tra unitĂ  di volume

3. Gestione degli errori

La libreria include una gestione robusta degli errori:

try:
    kitchen.cook(tomato, temperature=1000)  # Troppo caldo!
except TemperatureError as e:
    print(f"Errore: {e}")  # "La temperatura supera il range sicuro di cottura"

Buone pratiche

  1. Usa sempre ambienti virtuali

    python -m venv tomatopy-env
    source tomatopy-env/bin/activate  # oppure `tomatopy-env\Scripts\activate` su Windows
  2. Controlla le proprietĂ  degli ingredienti prima di cucinare

    if tomato.properties["ripeness"] < 0.5:
        print("Attenzione: Il pomodoro potrebbe essere troppo acerbo per risultati ottimali")
  3. Usa i type hint per un codice migliore

    from typing import Dict, Any
    
    def create_ingredient(name: str, properties: Dict[str, Any]) -> Ingredient:
        return Ingredient(name=name, properties=properties)

Passi successivi

Was this helpful?