Distribuisci la tua applicazione web Streamlit in 5 minuti.

Distribuisci la tua app web Streamlit in 5 minuti.

È diventato necessario per un data scientist mostrare il proprio lavoro, in un cruscotto o in un’applicazione web funzionante. È molto utile conoscere gli strumenti disponibili per creare un’applicazione web. Ci sono molti strumenti disponibili per fare lo stesso, come Dash, Voila, Panel, Streamlit, ecc. Ma il mio preferito personale è Streamlit.

Ho spiegato come creare un’app streamlit nel mio precedente blog . Anche se è un’app molto semplice/non-ML, ti dà un’idea di come costruire un’applicazione web per le tue esigenze di ML/AI. La sua semplicità spiega l’intera immagine.

Se non l’hai ancora letto, ti consiglio di leggerlo qui. Credimi, è molto facile creare la tua app usando streamlit. Qui ti mostrerò come distribuire l’applicazione nel cloud di streamlit.

Grazie per la foto di Kelly Sikkema su Unsplash

Non hai bisogno del tuo proprio server web per distribuire un’applicazione web streamlit. Puoi farlo su cloud streamlit se vuoi distribuirlo sul tuo server web. È un processo diverso.

Per distribuire un’applicazione streamlit, hai bisogno solo delle seguenti cose:

1. Codice dell’app Streamlit

2. File Requirement.txt (Tutte queste cose dovrebbero essere nel tuo repository GitHub)

3. Per questo, hai bisogno di un profilo GitHub.

4. E qualsiasi altra cosa extra (per il mio esempio, ho usato immagini di dadi)

Come creare un profilo GitHub?

Git è un software gratuito e open-source creato da Linus Torvalds nel 2005. Questo strumento è un sistema di controllo delle versioni che è stato inizialmente sviluppato per lavorare con diversi sviluppatori sul kernel Linux. GitHub è molto ampiamente utilizzato per archiviare e condividere il lavoro legato all’IA/ML.

Questa storia ha una spiegazione dettagliata su come creare un profilo GitHub e un repository. Grazie a Gaël Thomas.

Guida per principianti a Git – come iniziare e creare il tuo primo repository

Sei uno sviluppatore e vuoi iniziare con Git e GitHub? Questo articolo è fatto per te.

VoAGI.com

Dove ottenere il codice dell’app Streamlit?

Fornisco qui il codice per creare un’app semplice per il lancio dei dadi per risparmiarti tempo. Puoi copiare il codice e salvarlo come file .py nel tuo repository o puoi anche leggere i dettagli nel mio precedente blog per capire nel dettaglio.

import streamlit as stimport randomfrom matplotlib import pyplot as pltfrom PIL import Imagest.markdown("<h1 style='text-align: center;font-size: 62px; color: Blue;'>Dice Roller</h1>", unsafe_allow_html=True)def make_grid(cols,rows):    grid = [0]*cols    for i in range(cols):        with st.container():            grid[i] = st.columns(rows)    return grid    m = st.markdown("""<style>div.stButton > button:first-child {    background-color: #0099ff;    color:#ffffff;}div.stButton > button:hover {    background-color: #1BAF14;    color:#ffffff;    }</style>""", unsafe_allow_html=True)mygrid = make_grid(3,3)  no=1 mygrid_1 = make_grid(3,5) submitted = mygrid_1[2][2].button("Roll the Dice!") if submitted: # Genera un numero casuale    # tra 1 e 6 (inclusi sia 1 che 6)    no = random.randint(1,6)         if no == 1: img = Image.open("dice_1.png") mygrid[1][1].image(img)  if no == 2: img = Image.open("dice_2.png") mygrid[1][1].image(img) if no == 3: img = Image.open("dice_3.png") mygrid[1][1].image(img) if no == 4: img = Image.open("dice_4.png") mygrid[1][1].image(img) if no == 5: img = Image.open("dice_5.png") mygrid[1][1].image(img) if no == 6: img = Image.open("dice_6.png") mygrid[1][1].image(img) 

Come ottenere il file Requirement.txt?

Puoi digitare ‘Conda list’ nel tuo prompt anaconda e otterrai un elenco di tutti i pacchetti installati. Puoi selezionare una versione di quelli che hai utilizzato nella creazione dell’app. Qui ho utilizzato i pacchetti matplotlib, pillow e streamlit. Non è necessario fornire random. Quindi, il tuo Requirements.txt avrà questo aspetto.

Il tuo Requirement.txt avrà questo aspetto per questa app

Ho anche aggiunto alcune immagini. Puoi scaricarle da qui e puoi anche aggiungerle nel repository.

Il tuo repository GitHub finale avrà questo aspetto

Un modo più semplice

Puoi clonarlo qui per risparmiare tutto il tuo tempo.

Ora sei pronto per distribuire la tua app.

Distribuzione dell’App

Puoi aprire share.streamlit.io. Accedi utilizzando il tuo profilo GitHub. Quindi premi il pulsante ‘Nuova app’

Pulsante Nuova app da share.streamlit.io

Verranno aperti i seguenti campi. Nel campo repository, puoi selezionare il tuo repository GitHub. Il ramo verrà autopopolato; se non lo è, puoi selezionare il ramo principale/master nel repository. Il percorso del file principale sarà streamlit_dice_roller.py nell’esempio di cui sto parlando. L’URL dell’app verrà autopopolato.

Dopo aver compilato tutti i campi, puoi procedere premendo il pulsante ‘Deploy’. Riceverai una pagina che dice ‘La tua app è nel forno’, come mostrato di seguito. Se ottieni i cookie sottostanti in esecuzione sul tuo browser, molto probabilmente la tua app sarà distribuita.

Congratulazioni, la tua app web è stata distribuita.. è attiva e funzionante.. Puoi condividere l’URL con chiunque desideri.