Guida Didattica · Percorso Python

Deployment: dalla Teoria alla Demo

Trasforma il tuo modello o script in un'applicazione web interattiva con Streamlit, senza infrastrutture complesse.

0 di 5 passaggi completati

01Fondamenti

Cos'è il deployment?

Finora ogni script girava solo sul tuo computer, nel tuo terminale. Il "deployment" è il passo che rende il tuo lavoro utilizzabile da altre persone: una piccola applicazione web con cui chiunque può interagire, senza dover installare Python o eseguire codice.

Streamlit è la libreria Python più semplice per questo scopo: trasforma uno script Python in un'app web interattiva con pochissime righe di codice aggiuntive.

La tua prima app Streamlit

# app.py
import streamlit as st

st.title("La mia prima app")
nome = st.text_input("Come ti chiami?")
if nome:
    st.write(f"Ciao, {nome}!")

# Per avviarla: streamlit run app.py

02Concetti Chiave

🧱 Elementi di base dell'interfaccia▶

Streamlit offre funzioni pronte per testo, input e output: title, write, text_input, number_input, button, sono i mattoni fondamentali di ogni app.

st.header("Titolo sezione") numero = st.number_input("Inserisci un numero") if st.button("Calcola"): st.write(numero * 2)
📊 Integrare grafici e DataFrame▶

Streamlit si integra naturalmente con Pandas e Matplotlib, mostrando DataFrame come tabelle interattive e grafici direttamente nell'app.

import pandas as pd df = pd.DataFrame({"nome": ["Anna", "Luca"], "voto": [8, 6]}) st.dataframe(df) st.bar_chart(df.set_index("nome"))
🤖 Integrare un modello ML▶

Puoi caricare un modello già addestrato (visto nelle guide su ML) e usarlo per generare previsioni in tempo reale in base agli input dell'utente nell'app.

ore_studio = st.number_input("Ore di studio", min_value=0) if st.button("Prevedi"): previsione = modello.predict([[ore_studio]]) st.write(f"Previsione: {'Promosso' if previsione[0] == 1 else 'Bocciato'}")
💬 Integrare un chatbot AI▶

Combinando Streamlit con l'SDK Anthropic e la memoria conversazionale viste nelle guide precedenti, puoi costruire un'interfaccia chat completa in poche righe.

if "cronologia" not in st.session_state: st.session_state.cronologia = [] domanda = st.chat_input("Scrivi un messaggio...") if domanda: st.session_state.cronologia.append({"role": "user", "content": domanda})
🌐 Pubblicare l'app online▶

Streamlit Community Cloud permette di pubblicare gratuitamente un'app collegata a un repository, rendendola accessibile con un semplice link, senza gestire server.

03Checklist Pratica

Spunta ogni passaggio man mano che lo completi: sbloccherai l'attestato di questa guida al termine.

Esempio per il punto 1

import streamlit as st

st.title("Calcolatore di Media")
voti = st.text_input("Inserisci i voti separati da virgola")
1. Crea un'app con titolo e inputUsa st.title() e st.text_input() come nell'esempio sopra.

Esempio per il punto 2

if voti:
    numeri = [float(v) for v in voti.split(",")]
    media = sum(numeri) / len(numeri)
    st.write(f"La media è: {media:.2f}")
2. Elabora l'input e mostra un risultatoCalcola la media dei voti inseriti e mostrala con st.write(), come nell'esempio sopra.

Esempio per il punto 3

import pandas as pd

df = pd.DataFrame({"voto": numeri})
st.dataframe(df)
st.bar_chart(df)
3. Mostra i dati in una tabella e un graficoUsa st.dataframe() e st.bar_chart() come nell'esempio sopra.

Esempio per il punto 4

# Nel terminale, dalla cartella del progetto:
# streamlit run app.py
# Si apre automaticamente nel browser su localhost
4. Avvia l'app in localeEsegui streamlit run app.py dal terminale e verifica che si apra nel browser, come nell'esempio sopra.
5. Completa il quiz di verificaScendi in fondo alla guida e rispondi correttamente ad almeno l'80% delle domande.

04Glossario Interattivo

Tocca ogni termine per vederne la definizione.

05Quiz di Verifica

06Esercitazioni Pratiche

Esercizio 1

Demo del modello Capstone

Prendi il modello addestrato nella guida Capstone. Crea un'app Streamlit che permetta di inserire ore di studio e presenze, e mostri la previsione (promosso/bocciato).

⏱ 30 minuti📦 App Streamlit funzionante🖥️ Individuale
Esercizio 2

Dashboard di caricamento CSV

Crea un'app che permetta all'utente di caricare un file CSV (usa st.file_uploader), lo mostri come tabella e ne visualizzi un grafico a barre di una colonna numerica.

⏱ 30 minuti📦 App Streamlit con upload funzionante🖥️ Individuale
Esercizio 3

Trova l'errore: la variabile che sparisce

Questo codice Streamlit perde il valore di una variabile ogni volta che l'utente interagisce con l'app: contatore = 0 seguito da un bottone che dovrebbe incrementarlo, ma torna sempre a 0. Spiega perché Streamlit riesegue l'intero script a ogni interazione, e come si risolve con st.session_state.

⏱ 15 minuti📦 Spiegazione scritta + codice corretto🖥️ Individuale o in coppia

🎓 Attestato di completamento

Completa tutti i 5 passaggi della checklist per sbloccare il tuo attestato in PDF.

0 / 5 passaggi completati