Streamlit ist ein Framework, das es ermöglicht, Python-Skripte in interaktive Web-Apps zu verwandeln. Mit Streamlit kann man Daten visualisieren, analysieren und teilen, ohne sich um das Front-End kümmern zu müssen. In diesem Blogbeitrag werfen wir einen kurzen Blick auf dieses Framework und betrachten dabei den Mehrwert für das MyOOS Projekt.
Die Inhalte dieses Blogartikels
Wie funktioniert das Streamlit Framework
Streamlit ist ein Open-Source-Framework für Python, das es einfach macht, benutzerdefinierte Webanwendungen für maschinelles Lernen und Datenwissenschaft zu erstellen und zu teilen. Mit Streamlit können Datenwissenschaftler in wenigen Minuten leistungsstarke Datenanwendungen erstellen und bereitstellen, ohne sich um die Front-End-Entwicklung kümmern zu müssen. Streamlit ist einfach zu bedienen und bietet eine schnelle Möglichkeit, Datenvisualisierungen und Modelle zu erstellen und zu teilen. Es ist auch eine Community von Entwicklern, die ihre Apps und Ideen teilen und sich gegenseitig helfen. Streamlit bietet eine Vielzahl von Funktionen, einschließlich Caching, Theming und Streamlit-Komponenten. Es ist auch sicher und vertrauenswürdig und bietet eine umfassende Dokumentation, um Benutzern den Einstieg zu erleichtern.
Streamlit basiert auf drei einfachen Prinzipien: Skripting, Interaktion und Bereitstellung.
Skripting: Man schreibt ein Python-Skript, das die Logik und die Inhalte der App definiert. Streamlit kümmert sich um die Erstellung der Benutzeroberfläche und die Aktualisierung der App bei jeder Änderung des Skripts.
Interaktion: Man fügt Widgets wie Schieberegler, Radio-Buttons oder Kalender hinzu, um die App interaktiv zu machen. Die Widgets werden als Variablen im Skript verwendet, die den Zustand der App beeinflussen. Man braucht keine Callback-Funktionen oder Event-Handler zu schreiben.
Bereitstellung: Man kann die App mit einem einfachen Befehl in der Kommandozeile starten und über einen lokalen oder öffentlichen Server zugänglich machen. Streamlit bietet auch eine kostenlose Cloud-Plattform an, um die App mit anderen zu teilen.
Streamlit kann so die Entwicklungszeit von Wochen auf wenige Tage oder gar Stunden reduzieren.
Einleitung / Hinweis
Die folgenden Abschnitte erfordert mehr Erfahrung im Umgang mit Python und sind daher nur für fortgeschrittene Benutzerinnen und Benutzer gedacht.
Dieses Streamlit Einführung ist als praktischer Leitfaden gedacht und behandelt keine theoretischen Hintergründe. Für die Richtigkeit der Inhalte dieses Tutorials gebe ich keinerlei Garantie.
Beispiel Script
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Titel der App
st.title("Meine erste Streamlit-App")
# Daten generieren
df = pd.DataFrame(np.random.randn(50, 4), columns=["a", "b", "c", "d"])
# Tabelle anzeigen
st.table(df)
# Histogramm zeichnen
fig, ax = plt.subplots()
ax.hist(df["a"], bins=20)
st.pyplot(fig)
# Schieberegler für Parameter
param = st.slider("Wähle einen Parameter:", 0.0, 1.0, 0.5)
# Text ausgeben
st.write(f"Der gewählte Parameter ist {param}")
Kann man mit Streamlit auch Machine Learning machen?
Ja, man kann mit Streamlit auch Machine Learning machen. Streamlit ist ein Framework, das es ermöglicht, Python-Skripte in interaktive Web-Apps zu verwandeln, die Daten visualisieren, analysieren und teilen können. Mit Streamlit kann man also auch Machine Learning Modelle erstellen, trainieren, testen und präsentieren. Es gibt viele Beispiele und Tutorials, wie man Streamlit für Machine Learning verwenden kann. Hier sind einige davon:
- Modern Machine Learning Apps with Streamlit – No HTML, CSS, JS: In diesem Video lernst du, wie du mit Streamlit und Python einfach Web-Apps für Machine Learning erstellen können, ohne HTML, CSS oder JS zu verwenden.
- Building a Machine Learning Web Application using Streamlit | Streamlit Tutorial | Intellipaat: In diesem Video erhältst du einen kompletten Leitfaden für Streamlit und lernst, wie du eine Machine Learning Anwendung mit Streamlit erstellen kannst.
- Build A Beautiful Machine Learning Web App With Streamlit And Scikit-learn | Python Tutorial: In diesem Tutorial erstellest du eine interaktive Machine Learning App mit Streamlit und Scikit-learn, um verschiedene Datensätze und Klassifikatoren zu erkunden.
- Machine Learning WebApp in Python mit Streamlit – Tutorial/Crashkurs für die Streamlit Library: In diesem Video lernst du, wie du ein einfaches Machine Learning bzw. Data Science Dashboard mit der Python Library Streamlit umsetzen kannst.
- Streamlit Tutorial: A Beginner’s Guide to Building Machine Learning-Based Web Applications in Python: In diesem Artikel lernst du, wie du mit Streamlit und Python kostenlose Machine Learning Anwendungen erstellen kannst.
- How to Deploy Machine Learning Models with Python & Streamlit: In diesem Tutorial lernst du, wie du ein einfaches ML-Modell erstellen und dann mit Streamlit bereitstellen kannst.
Ich hoffe, diese Ressourcen helfen dir weiter. Viel Spaß beim Lernen und Experimentieren mit Streamlit!
Wie kann ich Streamlit installieren?
Um Streamlit zu installieren, musst du zunächst sicherstellen, dass du Python auf deinem Rechner hast. Streamlit ist eine Python-Bibliothek, die es dir ermöglicht, interaktive Web-Apps zu erstellen. Du kannst Streamlit mit dem Package Installer von Python (PIP) installieren. Öffne dazu eine Kommandozeile oder ein Terminal und gebe den folgenden Befehl ein:
pip install streamlit
Dieser Befehl lädt und installiert Streamlit und alle erforderlichen Abhängigkeiten. Wenn die Installation erfolgreich abgeschlossen ist, kannst du Streamlit verwenden, indem du ein Python-Skript schreibst, das Streamlit importiert und die gewünschten Funktionen und Inhalte definiert. Um das Skript auszuführen und die Web-App zu starten, gebe den folgenden Befehl in die Kommandozeile oder das Terminal ein:
streamlit run mein_skript.py
Dieser Befehl öffnet einen lokalen Server und zeigt die Web-App in deinem Standardbrowser an. Du kannst die Web-App dann mit anderen teilen, indem du ihnen die URL des Servers mitteilen.
Wie kann ich Streamlit mit Anaconda verwenden?
Um Streamlit mit Anaconda zu verwenden, musst du zunächst Anaconda installieren, wenn du es noch nicht hast. Anaconda ist eine Plattform, die es dir ermöglicht, Python und andere wissenschaftliche Pakete einfach zu verwalten. Du kannst Anaconda von der offiziellen Webseite herunterladen und installieren.
Nachdem du Anaconda installiert hast, musst du eine neue Umgebung mit Streamlit erstellen. Eine Umgebung ist eine isolierte Instanz von Python und anderen Paketen, die du für ein bestimmtes Projekt verwenden möchtest. Um eine neue Umgebung mit Streamlit zu erstellen, folge diesen Schritten:
- Öffne den Anaconda Navigator, der eine grafische Benutzeroberfläche für Anaconda ist.
- Klicke auf die Schaltfläche “Environments” auf der linken Seite.
- Klicke auf die Schaltfläche “Create” unten.
- Gebe einen Namen für Deine Umgebung ein, z.B. “streamlit-env”.
- Wähle die Python-Version aus, die du verwenden möchtest, z.B. “3.8”.
- Klicke auf die Schaltfläche “Create” unten.
- Warte bis die Umgebung erstellt ist.
- Klicke auf das Dreieck-Symbol neben dem Namen deiner Umgebung.
- Wähle “Open Terminal” aus dem Menü.
- Gebe in das Terminal ein:
pip install streamlit
- Warte bis Streamlit installiert ist.
Jetzt hast du eine Umgebung mit Streamlit bereit. Um Streamlit zu verwenden, musst du ein Python-Skript schreiben, das die Logik und den Inhalt deiner Web-App definiert. Du kannst deine Lieblings-IDE oder Texteditor verwenden, um dein Skript zu schreiben.
Der MyOOS Tipp für Webentwicklerinnen und Webentwickler
Das MyOOS Projekt empfiehlt seinen Webentwicklerinnen und Webentwicklern Visual Studio Code. Für Visual Studio Code gibt es auf Udemy zurzeit einen kostenlosen zweistündigen Kurs. https://www.udemy.com/course/einfuhrung-in-visual-studio-code/
Speiche dein Skript in einem Ordner deiner Wahl.
Um dein Skript auszuführen und die Web-App zu starten, musst du diese Schritte befolgen:
- Öffne den Anaconda Navigator und gehe zu deiner Umgebung mit Streamlit.
- Klicke auf das Dreieck-Symbol neben dem Namen deiner Umgebung.
- Wähle “Open Terminal” aus dem Menü.
- Navigiere in das Terminal zu dem Ordner, in dem dein Skript gespeichert ist, z.B.:
cd C:\Users\MeinName\MeinProjekt
- Gebe in das Terminal ein:
streamlit run mein_skript.py
, wobeimein_skript.py
der Name deines Skripts ist. - Warte bis Streamlit dein Skript verarbeitet hat.
- Öffne einen Webbrowser und gehe zu der URL, die Streamlit deinem Terminal anzeigt, z.B.:
http://localhost:8501
- Genieße deine Web-App!
Streamlit im MyOOS Projekt verwenden
Wenn wir in unserer bereits bestehenden E-Commerce-Anwendung aus LAMP (Linux, Apache, MySQL und PHP) nun Streamlit verwenden möchten, gibt es mehrere Möglichkeiten, dies zu tun.
Eine Möglichkeit besteht darin, Streamlit zu verwenden, um separate Anwendungen zu erstellen, die mit unser bestehenden Anwendung interagieren, indem wir APIs verwenden, um Daten zwischen den Anwendungen auszutauschen.
Es gibt keine direkten Beispiele für die Integration von Streamlit in eine PHP-Anwendung, da Streamlit hauptsächlich für die Erstellung von Datenanwendungen und nicht für E-Commerce-Anwendungen entwickelt wurde. Es gibt jedoch einige Möglichkeiten, Streamlit mit PHP zu integrieren, wie zum Beispiel die Verwendung von APIs, um Daten zwischen PHP und Python-Anwendungen auszutauschen. Einige Diskussionen in der Streamlit-Community behandeln auch das Thema der Integration von PHP mit Streamlit.
Eine Möglichkeit besteht darin, eine separate Streamlit-Anwendung zu erstellen, die mit unserer PHP-Anwendung interagiert, indem wir APIs verwenden, um Daten zwischen den Anwendungen auszutauschen.
Beachte jedoch, dass dies möglicherweise nicht die beste Lösung für deine spezifischen Anforderungen ist, da Streamlit hauptsächlich für die Erstellung von Datenanwendungen entwickelt wurde.
Wie kann man eine Streamlit-App in WordPress integrieren
Es gibt keine direkte Möglichkeit, eine Streamlit-App in WordPress zu integrieren, da WordPress hauptsächlich für die Erstellung von Websites und Blogs entwickelt wurde und nicht für die Erstellung von Datenanwendungen. Es gibt jedoch einige Möglichkeiten, Streamlit mit WordPress zu integrieren, wie zum Beispiel die Verwendung von Plugins oder APIs, um Daten zwischen WordPress und Streamlit auszutauschen. Einige Diskussionen in der Streamlit-Community behandeln auch das Thema der Integration von Streamlit mit WordPress.
Einige Projekte auf GitHub bieten auch Lösungen für die Integration von Streamlit mit WordPress. Eine Möglichkeit besteht darin, eine separate Streamlit-Anwendung zu erstellen, die mit deiner WordPress-Website interagiert, indem du APIs verwendest, um Daten zwischen den Anwendungen auszutauschen. Eine andere Möglichkeit besteht darin, Streamlit als Front-End zu verwenden und deine WordPress-Website als Back-End. Beachte jedoch, dass dies möglicherweise nicht die beste Lösung für deine spezifischen Anforderungen ist, da WordPress hauptsächlich für die Erstellung von Websites und Blogs entwickelt wurde und nicht für die Erstellung von Datenanwendungen.
https://github.com/topics/streamlit-dashboard?l=php
https://github.com/topics/streamlit-wordpress
https://github.com/Keyvanhardani/WordPress-Streamlit-Integration
Streamlit-App für MyOOS Projekte
Leider konnte ich keine spezifischen Beispiele für Datenanwendungen von Shopbetreibern im Admin-Bereich finden, die mit Streamlit erstellt wurden. Streamlit ist jedoch ein vielseitiges Framework, das für die Erstellung von Datenanwendungen in verschiedenen Branchen und Anwendungsfällen eingesetzt werden kann. Es ist möglich, dass Shopbetreiber Streamlit verwenden, um Datenanalysen und Dashboards zu erstellen, um ihre Geschäftsprozesse zu optimieren und zu verbessern. Einige Beispiele für Datenanwendungen, die mit Streamlit erstellt wurden, sind:
- Eine Anwendung zur Analyse von Verkaufsdaten, die es Shopbetreibern ermöglicht, ihre Verkaufsleistung zu überwachen und zu verbessern.
- Eine Anwendung zur Vorhersage von Bestellungen, die Shopbetreibern hilft, ihre Bestände zu verwalten und Engpässe zu vermeiden.
- Eine Anwendung zur Analyse von Kundenfeedback, die Shopbetreibern hilft, ihre Kunden besser zu verstehen und ihre Produkte und Dienstleistungen zu verbessern.
Diese Beispiele zeigen, wie vielseitig Streamlit ist und wie es für die Erstellung von Datenanwendungen in verschiedenen Branchen und Anwendungsfällen eingesetzt werden kann.
Streamlit Anleitungen:
Interaktive Karten in Streamlit anzeigen: Einfache Tutorials und Beispiele | st.map
Erstellen Sie einen Streamlit Chatbot mit LLM-Modellen: Schnellstart
Erstellen Sie interaktive Daten-Dashboards mit Streamlit: Ein umfassendes Tutorial
Top 7 Streamlit Beispiele und Tutorials, um loszulegen
Waldbilder für das MyOOS Projekt
Bildquelle: Baumstamm, Ralf Zschemisch, F22, 8 Sekunden, 56mm, ISO 100, 08.09.2023
In diesem Blogbeitrag habe ich euch ein spannendes Open Source Projekt für Webentwickler:innen vorgestellt, das ich kürzlich entdeckt habe. Es heißt Streamlit und es ist ein Framework, das es ermöglicht, Python-Skripte in interaktive Web-Apps zu verwandeln. Ich bin begeistert von diesem Projekt, weil es mir zeigt, wie kreativ und vielfältig die Open Source Gemeinschaft ist.
Um euch zu veranschaulichen, was ich meine, habe ich ein Bild ausgewählt, das einen Baumstamm in einem Wald zeigt. Dieses Bild spricht mich an, weil es für mich einige Parallelen zur Open Source Entwicklung aufzeigt.
Ein Baumstamm ist wie ein Code, der von vielen Menschen geschrieben und bearbeitet wurde. Er enthält die Geschichte und die Spuren der Arbeit, die in ihn geflossen sind. Wenn ich mir den Quellcode von Streamlit anschaue, sehe ich, wie viele Entwickler:innen daran beteiligt waren und wie sie das Projekt verbessert und erweitert haben. Ich sehe auch, wie sie Feedback und Anregungen von anderen Nutzer:innen erhalten und berücksichtigt haben. Das macht den Code lebendig und wertvoll.
Ein Baumstamm ist auch wie ein Modul oder eine Komponente, die in einem größeren System verwendet werden kann. Er kann mit anderen Baumstämmen verbunden oder in kleinere Teile geschnitten werden, um verschiedene Funktionen zu erfüllen. Das ist genau das, was Streamlit macht. Es bietet eine Reihe von Werkzeugen und Elementen an, die man kombinieren oder anpassen kann, um eigene Datenanwendungen zu gestalten. Die Möglichkeiten sind endlos.
Ein Baumstamm ist schließlich wie ein Beitrag zur Gemeinschaft. Er bietet einen Nutzen für andere, die ihn brauchen, und er ist Teil eines ökologischen Kreislaufs, der das Leben unterstützt. Das gilt auch für Streamlit. Es ist ein Projekt, das offen und kostenlos für alle zugänglich ist. Es ermöglicht es Webentwickler:innen, ihre Kreativität auszudrücken und ihre Ideen mit anderen zu teilen. Es fördert auch das Lernen und die Zusammenarbeit zwischen den Entwickler:innen. Und es trägt dazu bei, das Web zu einem schöneren und interessanteren Ort zu machen.
Ich hoffe, du findest das Bild und den Text inspirierend.
Schreibe einen Kommentar