Zum Inhalt springen

Was ist Streamlit?

  • Python

In der Welt der Datenwissenschaft und der Entwicklung von Webanwendungen kann die Erstellung interaktiver und datengesteuerter Anwendungen oft eine komplexe und zeitaufwändige Aufgabe sein. Mit dem Aufkommen von Streamlit steht Entwicklern nun jedoch ein leistungsstarkes und intuitives Tool zur Verfügung, das die Erstellung und den Austausch von Apps unglaublich einfach macht.

In diesem Artikel werden wir die Welt von Streamlit erkunden und entdecken, wie es die Entwicklung von Python-Apps revolutioniert. Wir gehen auf die wichtigsten Funktionen und Vorteile der Bibliothek ein, erörtern ihre intuitive und unkomplizierte API und untersuchen reale Anwendungsfälle, in denen Streamlit glänzt.

Was ist Streamlit?

Streamlit ist eine Python-Bibliothek, mit der Du mit nur wenigen Zeilen Code schöne und interaktive Webanwendungen erstellen kannst. Es wurde entwickelt, um den Prozess der Erstellung von datenorientierten Anwendungen zu rationalisieren und es Entwicklern zu ermöglichen, ihre Arbeit schnell zu iterieren und zu präsentieren, ohne sich in der Komplexität der Webentwicklung zu verheddern.

Egal, ob Du Datenwissenschaftler, Machine Learning Engineer oder Webentwickler bist, Streamlit bietet einen nahtlosen Arbeitsablauf, mit dem Du Deinen Python-Code mühelos in interaktive Anwendungen verwandeln kannst. Lasse uns also auf diese Reise gehen, um die Leistungsfähigkeit und Vielseitigkeit von Streamlit zu entdecken und neue Möglichkeiten in der Python-App-Entwicklung zu erschließen.

Wie installiert man es und richtet es ein?

Um mit der Erstellung interaktiver Webanwendungen mit Streamlit zu beginnen, musst Du es installieren und in Deiner Python-Umgebung einrichten. Folge den folgenden Schritten, um es zum Laufen zu bringen:

  1. Installiere Streamlit: Öffne Dein Terminal oder Deine Eingabeaufforderung und führe den folgenden Befehl aus, um Streamlit mit pip, dem Python-Paketmanager, zu installieren:
  1. Überprüfe die Installation: Nachdem die Installation abgeschlossen ist, kannst Du sie überprüfen, indem Du den folgenden Befehl in Deinem Terminal ausführst. Wir haben in diesen Beispielen immer ein Ausrufezeichen vorangestellt, da wir die Terminal-Befehle im Jupyter Notebook direkt ausführen. Das Ausrufezeichen weist auf einen Terminalbefehl hin.

Hier wird die Versionsnummer von Streamlit angezeigt, wenn die Installation erfolgreich war.

  1. Erstelle ein neues Python-Skript: Beginne mit der Erstellung eines neuen Python-Skripts in Deinem gewünschten Verzeichnis. Du kannst einen beliebigen Texteditor oder eine integrierte Entwicklungsumgebung (IDE) Deiner Wahl verwenden.
  2. Importiere die Bibliothek und schreibe Code: Importiere in Deinem Python-Skript die Streamlit-Bibliothek, indem Du die folgende Zeile am Anfang einfügst:
  1. Erstellen Deine App: Beginne mit der Erstellung Deiner App, indem Du Code hinzufügst, um interaktive Elemente zu erstellen, Daten zu laden und das Verhalten der App zu definieren. Du kannst verschiedene Streamlit-Komponenten wie Schaltflächen, Schieberegler, Texteingaben und Datenvisualisierungstools verwenden, um die Interaktivität und visuelle Attraktivität Deiner App zu verbessern.
  2. Führe Deine App aus: Speichere das Python-Skript und führe es mit dem folgenden Befehl von der Kommandozeile aus:

Ersetze “your_script.py” durch den Namen Deiner Python-Skriptdatei.

  1. Betrachte Deine App: Nach der Ausführung des Befehls startet Streamlit einen lokalen Entwicklungsserver und gibt eine URL an. Öffne diese URL in Deinem Webbrowser, um die App anzuzeigen und mit ihr zu interagieren.

Congratulations! You have successfully installed and set up the library in your Python environment. Now you can unleash your creativity and start building interactive web applications with ease using Streamlit’s intuitive API and rich set of features.

Was sind die Grundfunktionen von Streamlit?

Streamlit bietet eine Vielzahl von Funktionen und Aufrufen, die das Erstellen interaktiver Webanwendungen erleichtern. Hier sind einige der wichtigsten Funktionen und ihre Verwendung:

  1. st.write(): Mit dieser vielseitigen Funktion kannst Du Text, Datenrahmen, Diagramme, Bilder und mehr anzeigen. Sie passt sich automatisch an den Datentyp an, den Du ihr übergibst. Zum Beispiel:
  1. st.title(), st.header(), st.subheader(): Mit diesen Funktionen kannst Du verschiedene Ebenen von Überschriften für Deine Anwendung erstellen. Zum Beispiel:
  1. st.sidebar: Diese Funktion erstellt eine Seitenleiste, die zusätzliche Steuerelemente oder Informationen enthalten kann. Du kannst damit Widgets wie Schieberegler, Kontrollkästchen und Auswahlfelder für die Benutzerinteraktion hinzufügen. Zum Beispiel:
  1. st.markdown(): Mit dieser Funktion kannst Du Markdown-formatierten Text in Deiner Anwendung darstellen. Du kannst sie verwenden, um Text zu formatieren, Überschriften, Listen, Links und mehr hinzuzufügen. Zum Beispiel:
  1. st.button(), st.checkbox(), st.radio(), st.selectbox(), st.multiselect(): Diese Funktionen ermöglichen die Benutzerinteraktion, indem sie Schaltflächen, Kontrollkästchen, Optionsfelder, Dropdowns und Dropdowns mit Mehrfachauswahl bereitstellen. Zum Beispiel:

Dies sind nur einige der vielen Funktionen und Aufrufe, die in Streamlit zur Verfügung stehen. Sie ermöglichen es Dir, mit minimalem Aufwand dynamische und interaktive Webanwendungen zu erstellen. In der Streamlit-Dokumentation findest Du weitere fortgeschrittene Funktionen, mit denen Du Deine Anwendungen an Deine speziellen Anforderungen anpassen kannst.

Wie erstellt man eine einfache Anwendung?

Streamlit ist eine leistungsstarke Python-Bibliothek, mit der Du schnell interaktive Webanwendungen zur Datenanalyse und -visualisierung erstellen kannst. Führe die folgenden Schritte aus, um mit Streamlit zu beginnen:

  • Notwendige Bibliotheken importieren: Importiere in Deinem Python-Skript die erforderlichen Bibliotheken, die Du für die Erstellung Deiner Anwendung benötigst. Hier ist ein Beispiel:
  • Erstellen Sie die Grundstruktur: Lege die Grundstruktur Deiner Streamlit-Anwendung fest. In der Regel beginnst Du mit einem Titel, gefolgt von Abschnitten für die Dateneingabe, die Verarbeitung und die Visualisierung. Hier ist ein einfaches Beispiel:
  • Führe die Anwendung lokal aus: Speichere das Python-Skript und führe es mit dem folgenden Befehl von der Kommandozeile aus:

Ersetze “your_script.py” durch den Namen Deiner Python-Skriptdatei.

  • Interaktion mit Ihrer Anwendung: Nach der Ausführung des Befehls startet Streamlit einen lokalen Entwicklungsserver und gibt eine URL an. Öffne diese URL in Deinem Webbrowser, um Deine App anzuzeigen und mit ihr zu interagieren. Alle am Skript vorgenommenen Änderungen werden automatisch und in Echtzeit in der App aktualisiert.

Das war’s! Du bist jetzt bereit, interaktive Webanwendungen mit Streamlit zu erstellen. Experimentiere mit verschiedenen Komponenten, importiere bei Bedarf zusätzliche Bibliotheken und entfessele das volle Potenzial Deiner Datenanalyse- und Visualisierungsprojekte.

Wie behandelt man Benutzereingaben und Benutzerinteraktion?

Streamlit bietet einfache Möglichkeiten, Benutzereingaben zu verarbeiten und interaktive Anwendungen zu erstellen. Du kannst verschiedene Funktionen und Methoden verwenden, um Benutzereingaben zu erfassen und entsprechend zu reagieren. Im Folgenden findest Du einige wichtige Techniken für den Umgang mit Benutzereingaben in Streamlit-Anwendungen:

  1. Texteingabe: Verwende die Funktion st.text_input(), um Benutzereingaben als Text zu erfassen. Gebe einfach ein Label an und weise die Eingabe einer Variablen zu. So kannst Du zum Beispiel nach dem Namen des Benutzers fragen und eine personalisierte Nachricht anzeigen.
  2. Numerische Eingaben: Verwende die Funktion st.number_input(), um numerische Eingaben zu erfassen. Du kannst den Mindest- und Höchstwert, die Schrittweite und den Standardwert angeben. Dies ist nützlich, um numerische Daten von Benutzern zu erfassen.
  3. Dropdown-Auswahl: Mit der Funktion st.selectbox() können Benutzer eine Option aus einem Dropdown-Menü auswählen. Sie können eine Liste von Optionen bereitstellen und den ausgewählten Wert einer Variablen zuweisen. Dies ist hilfreich, wenn Du vordefinierte Auswahlmöglichkeiten hast, aus denen die Benutzer wählen können.
  4. Checkbox-Auswahl: Die Funktion st.checkbox() erstellt ein Kontrollkästchen, das der Benutzer anklicken kann. Du kannst den Zustand des Kontrollkästchens einer Variablen zuweisen, so dass Du boolesche Eingaben erfassen kannst. Dies ist nützlich, um binäre Auswahlmöglichkeiten zu erfassen oder bestimmte Funktionen zu aktivieren/deaktivieren.
  5. Schaltfläche klicken: Die Funktion st.button() erzeugt eine anklickbare Schaltfläche, die der Benutzer drücken kann. Du kannst eine Aktion oder Funktion mit dem Schaltflächenklick-Ereignis verknüpfen. Dies ist hilfreich, um bestimmte Aktionen auf der Grundlage von Benutzerinteraktionen auszulösen.

Indem Du diese Funktionen zur Eingabeverarbeitung in Streamlit nutzt, kannst Du dynamische und benutzerfreundliche Anwendungen erstellen, die in Echtzeit auf Benutzereingaben reagieren. Experimentiere mit verschiedenen Eingabemethoden, um interaktive und ansprechende Streamlit-Anwendungen zu erstellen.

Wie stellt man eine App bereit?

Sobald Du Deine Streamlit-Anwendung entwickelt hast, kannst Du sie bereitstellen, um sie mit anderen zu teilen. Die Bibliothek bietet verschiedene Bereitstellungsoptionen, um Deine App einem breiteren Publikum zugänglich zu machen. Hier findest Du eine Schritt-für-Schritt-Anleitung, wie Du eine App in Streamlit mit Python bereitstellen kannst:

(1) Bereite die App vor:

  • Stelle sicher, dass Deine Anwendung fehlerfrei läuft und die erforderlichen Anforderungen erfüllt.
  • Stelle sicher, dass alle Abhängigkeiten und Datendateien vorhanden sind.

(2) Setze die Deployment Plattform auf:

  • Wähle eine Bereitstellungsplattform wie Heroku, AWS oder Azure.
  • Installiere die erforderlichen Befehlszeilentools und erstelle bei Bedarf ein Konto.

(3) Konfiguriere die Deployment Einstellungen:

  • Erstelle eine Datei requirements.txt, in der alle Abhängigkeiten aufgelistet sind, die Deine Anwendung benötigt.
  • Gebe die Python-Version und andere Laufzeitkonfigurationen in einer Konfigurationsdatei an (z. B. Procfile für Heroku).

(4) Deploy die App:

  • Verbinde Deine lokale Entwicklungsumgebung mit der Bereitstellungsplattform.
  • Verwende die plattformspezifischen Befehle oder GUI-Tools, um Deine Anwendung bereitzustellen.
  • Die Bereitstellung auf Heroku kann zum Beispiel so einfach sein wie das Ausführen von git push heroku main im Verzeichnis Deiner Anwendung.

(5) Überwachen und Testen:

  • Überwache Deine Anwendung nach der Bereitstellung, um sicherzustellen, dass sie wie erwartet funktioniert.
  • Teste alle Merkmale und Funktionen, um sicherzustellen, dass sie korrekt funktionieren.
  • Nutze die von der Bereitstellungsplattform bereitgestellten Tools zur Protokollierung und Fehlerberichterstattung, um etwaige Probleme zu erkennen und zu beheben.

(6) Teile die App:

  • Sobald Deine Anwendung erfolgreich bereitgestellt wurde, kannst Du die Bereitstellungs-URL freigeben oder Deinen Nutzern Zugang gewähren.
  • Diese können dann über ihre Webbrowser auf Deine Streamlit-App zugreifen und mit ihr interagieren.

Hier ist ein kurzes Beispiel, wie eine solche Einrichtung mit Heroku aussehen könnte:

Wenn Du diese Schritte befolgst und die entsprechenden Befehle oder Tools der von Dir gewählten Bereitstellungsplattform verwendest, kannst Du Deine Streamlit-Anwendung problemlos bereitstellen und anderen zur Verfügung stellen. Gebe die Bereitstellungs-URL frei und ermögliche den Benutzern den einfachen Zugriff auf Deine interaktive Anwendung.

Was sind die Unterschiede zwischen Plotly Dash und Streamlit?

Plotly Dash und Streamlit sind zwei beliebte Python-Frameworks für die Entwicklung interaktiver Webanwendungen. Obwohl sie ähnliche Ziele verfolgen, gibt es deutliche Unterschiede, die sie voneinander unterscheiden:

  1. Zweck und Philosophie: Plotly Dash konzentriert sich auf die Erstellung von hochgradig anpassbaren und datengesteuerten Webanwendungen und bietet feinkörnige Kontrolle über Layout und Interaktivität. Streamlit hingegen legt den Schwerpunkt auf Einfachheit und schnelles Prototyping und bietet eine intuitive Schnittstelle für die Entwicklung von Datenanwendungen.
  2. Entwicklungserfahrung: Plotly Dash erfordert mehr Programmierkenntnisse und Vertrautheit mit Webentwicklungskonzepten, um komplexe Dashboards und Visualisierungen zu erstellen. Streamlit vereinfacht den Entwicklungsprozess durch einen deklarativen Ansatz, der es Benutzern ermöglicht, Anwendungen mit einfachen Python-Skripten zu erstellen.
  3. Komponenten und Bibliotheken: Plotly Dash bietet eine breite Palette interaktiver Komponenten und lässt sich gut in Plotly.js integrieren, was erweiterte Visualisierungen ermöglicht. Streamlit bietet eine optimierte Reihe von Komponenten, die sich auf die Datenvisualisierung konzentrieren und sich nahtlos in gängige Data-Science-Bibliotheken integrieren lassen.
  4. Leistung: Plotly Dash, das auf Flask und Plotly.js aufbaut, bietet eine hohe Leistung und Skalierbarkeit und eignet sich daher für den Umgang mit großen Datensätzen und komplexen Visualisierungen. Streamlit, optimiert für schnelles Prototyping und Datenexploration, bietet ausreichende Geschwindigkeit für die meisten Aufgaben bei der Entwicklung von Datenanwendungen.
  5. Gemeinschaft und Ökosystem: Plotly Dash profitiert von einer großen und aktiven Community, einer umfangreichen Dokumentation und einem breiten Ökosystem, das Plotly.py für interaktive Plots umfasst. Streamlit hat in der Data-Science-Community an Popularität gewonnen und sein Ökosystem an Erweiterungen wächst stetig.

Letztendlich hängt die Wahl zwischen Plotly Dash und Streamlit von den spezifischen Projektanforderungen, der Komplexität der Anwendung und der Vertrautheit des Entwicklers mit Webentwicklungskonzepten ab. Plotly Dash zeichnet sich durch anpassbare, leistungsintensive Anwendungen aus, während Streamlit beim Rapid Prototyping und der Erstellung interaktiver Visualisierungen mit minimalem Aufwand glänzt.

Das solltest Du mitnehmen

  • Streamlit ist ein leistungsstarkes Python-Framework für die Entwicklung interaktiver Webanwendungen.
  • Es vereinfacht den Entwicklungsprozess, indem es einen deklarativen Ansatz und eine intuitive Schnittstelle bietet.
  • Mit Streamlit können Entwickler schnell Prototypen erstellen und Datenanwendungen mit minimalem Aufwand bereitstellen.
  • Streamlit bietet eine breite Palette integrierter Komponenten für die Datenvisualisierung, lässt sich nahtlos in gängige Data-Science-Bibliotheken integrieren und ermöglicht eine einfache Handhabung von Benutzereingaben und Interaktionen innerhalb der Anwendung.
  • Die Einfachheit von Streamlit geht nicht auf Kosten der Leistung und eignet sich daher für die meisten Aufgaben bei der Entwicklung von Datenanwendungen.
  • Die wachsende Community und das Ökosystem rund um Streamlit bieten reichlich Ressourcen und Unterstützung für Entwickler.
  • Streamlit ist eine ausgezeichnete Wahl für Datenwissenschaftler, Ingenieure für maschinelles Lernen und Entwickler, die interaktive und datengesteuerte Anwendungen erstellen möchten.
Object-Oriented Programming / Objektorientierte Programmierung

Was ist objektorientierte Programmierung?

Beherrschen Sie die objektorientierte Programmierung in Python mit unserem Artikel. Lernen Sie, wiederverwendbaren Code zu erstellen!

Plotly

Was ist Plotly?

Lernen Sie, wie Sie interaktive Visualisierungen und Dashboards mit Plotly, einer Python-Bibliothek zur Datenvisualisierung, erstellen können.

Matplotlib

Was ist Matplotlib?

Visualisieren Sie Ihre Daten wie ein Profi mit Matplotlib: Ein umfassender Leitfaden für die Python-Bibliothek zum Plotten.

Debugging Techniques in Python

Welche Debugging Techniken gibt es in Python?

Beherrschen Sie Python-Debugging-Techniken: Reproduzieren, isolieren und beheben Sie Bugs effizient mit Schritt-für-Schritt-Beispielen.

Time Complexity / Zeitkomplexität

Was ist die Zeitkomplexität?

Verstehe Zeitkomplexität in der Programmierung mit diesem Artikel. Erfahre, wie Du die Leistung analysieren und optimieren kannst.

Space Complexity / Platzkomplexität / Raumkomplexität

Was ist die Raumkomplexität?

Verstehen Sie Raumkomplexität: Effiziente Speichernutzung für Leistung. Erfahren Sie mehr über Raumkomplexität in der Programmierung.

Andere Beiträge zum Thema Streamlit

Die offizielle Dokumentation findest Du hier.

Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Niklas Lang

Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.

Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.

Cookie Consent mit Real Cookie Banner