Home
Login

Streamlit ist eine Python-Bibliothek, mit der Sie mit reinem Python-Code ansprechende, benutzerdefinierte Webanwendungen für Bereiche wie maschinelles Lernen und Data Science erstellen können.

Apache-2.0Python 39.9kstreamlit Last Updated: 2025-06-14

Streamlit: Der schnellste Weg, um Daten-Apps in Python zu erstellen

Einführung

Streamlit ist eine Open-Source-Python-Bibliothek, die darauf abzielt, Datenwissenschaftlern und Machine-Learning-Ingenieuren die schnelle und einfache Erstellung von ansprechenden und interaktiven Webanwendungen zu ermöglichen. Sie vereinfacht den Prozess der Umwandlung von Data-Science-Skripten in gemeinsam nutzbare Web-Apps, ohne dass Frontend-Entwicklungserfahrung erforderlich ist.

Kernideen:

  • Python-Skripte nutzen: Streamlit ermöglicht es Ihnen, Anwendungen mit reinen Python-Skripten zu erstellen, ohne HTML, CSS oder JavaScript schreiben zu müssen.
  • Echtzeit-Aktualisierungen: Streamlit-Anwendungen werden automatisch aktualisiert, wenn Sie Code ändern und speichern, was eine schnelle Iteration und Experimentierung ermöglicht.
  • Einfache Bedienung: Streamlit bietet eine intuitive API, mit der Sie problemlos verschiedene UI-Elemente wie Text, Diagramme, Schieberegler, Schaltflächen usw. hinzufügen können.
  • Datengesteuert: Streamlit wurde speziell für Data-Science-Workflows entwickelt und ermöglicht die einfache Anzeige und Bearbeitung von Daten.
  • Keine Frontend-Erfahrung erforderlich: Streamlit abstrahiert die Komplexität der Frontend-Entwicklung, sodass Sie sich auf Daten und Modelle konzentrieren können.

Projekt-Repository-Informationen

  • GitHub-Repository: https://github.com/streamlit/streamlit
  • Hauptprogrammiersprache: Python
  • Lizenz: Apache License 2.0
  • Stars: 23k+ (Stand: 26. Januar 2024)
  • Forks: 2k+ (Stand: 26. Januar 2024)
  • Mitwirkende: 300+

Hauptmerkmale

  • Einfach zu bedienende API: Streamlit bietet eine übersichtliche API zum Erstellen verschiedener UI-Elemente, wie z. B.:
    • st.write(): Zeigt Text, Daten, Diagramme usw. an.
    • st.slider(): Erstellt ein Schieberegler-Steuerelement.
    • st.button(): Erstellt ein Schaltflächen-Steuerelement.
    • st.selectbox(): Erstellt ein Dropdown-Auswahlfeld.
    • st.dataframe(): Zeigt ein Pandas DataFrame an.
    • st.line_chart(): Zeigt ein Liniendiagramm an.
    • st.map(): Zeigt eine Karte an.
    • st.file_uploader(): Lädt Dateien hoch.
  • Automatisches erneutes Ausführen: Streamlit-Anwendungen werden automatisch neu ausgeführt, wenn Sie Code ändern und speichern, was eine schnelle Iteration ermöglicht.
  • Caching: Streamlit verfügt über einen integrierten Caching-Mechanismus, der Berechnungsergebnisse zwischenspeichern kann, um die Leistung der Anwendung zu verbessern. Verwenden Sie den @st.cache_data-Dekorator, um Funktionsergebnisse zu cachen.
  • Sitzungszustand: Streamlit ermöglicht es Ihnen, den Zustand der Anwendung mit st.session_state zu verwalten, um komplexere interaktive Anwendungen zu erstellen.
  • Komponenten: Streamlit unterstützt benutzerdefinierte Komponenten, mit denen Sie die Funktionalität von Streamlit erweitern und Bibliotheken von Drittanbietern integrieren können.
  • Themen: Streamlit ermöglicht es Ihnen, das Erscheinungsbild Ihrer Anwendung anzupassen, einschließlich Farben, Schriftarten usw.
  • Bereitstellung: Streamlit-Anwendungen können einfach auf verschiedenen Plattformen bereitgestellt werden, z. B. Streamlit Community Cloud, Heroku, AWS, Google Cloud usw.
  • Community-Unterstützung: Streamlit verfügt über eine aktive Community, die umfangreiche Dokumentation, Tutorials und Beispiele bietet.

Kernmodule und -funktionen

  • streamlit: Die Kernbibliothek, die die API zum Erstellen von Anwendungen enthält.
  • streamlit.components.v1: Die API zum Erstellen benutzerdefinierter Komponenten.
  • streamlit.config: Zum Konfigurieren des Verhaltens von Streamlit-Anwendungen.
  • streamlit.delta_generator: Die API zum Generieren von UI-Elementen.
  • streamlit.runtime: Die Laufzeitumgebung für Streamlit-Anwendungen.
  • streamlit.web: Der Webserver für Streamlit-Anwendungen.

Anwendungsfälle

Streamlit kann zum Erstellen verschiedener Datenanwendungen verwendet werden, z. B.:

  • Datenvisualisierung: Erstellen Sie interaktive Diagramme und Dashboards, um Daten zu erkunden und zu analysieren.
  • Bereitstellung von Machine-Learning-Modellen: Stellen Sie Machine-Learning-Modelle als Webanwendungen bereit, damit Benutzer mit den Modellen interagieren können.
  • Datenerkundung: Erstellen Sie interaktive Tools, um Daten zu erkunden und zu verstehen.
  • Datenannotation: Erstellen Sie Datenannotationstools, um die Annotation von Daten zu unterstützen.
  • Bildung und Präsentation: Erstellen Sie interaktive Präsentationen, um Data-Science-Konzepte und -Techniken zu demonstrieren.
  • Interne Tools: Erstellen Sie interne Datentools, um die Effizienz des Teams zu verbessern.

Beispielcode

Hier ist ein einfaches Beispiel für eine Streamlit-Anwendung:

import streamlit as st
import pandas as pd
import numpy as np

st.title('Meine erste Streamlit-App')

st.write('Hallo Welt!')

# Erstellen eines DataFrame
data = pd.DataFrame({
    'col1': [1, 2, 3, 4],
    'col2': [5, 6, 7, 8]
})

# Anzeigen des DataFrame
st.write('Hier ist ein DataFrame:')
st.dataframe(data)

# Erstellen eines Schiebereglers
x = st.slider('Wählen Sie einen Wert für x', 0, 100, 50)

# Anzeigen des Werts des Schiebereglers
st.write('Der Wert von x ist:', x)

# Erstellen eines Zufallszahlendiagramms
chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=['a', 'b', 'c'])

st.line_chart(chart_data)

Installation

Streamlit kann mit pip installiert werden:

pip install streamlit

Ausführen

Um eine Streamlit-Anwendung auszuführen, führen Sie den folgenden Befehl in der Befehlszeile aus:

streamlit run your_app.py

Dabei ist your_app.py die Python-Datei Ihrer Streamlit-Anwendung.

Vorteile

  • Schnelle Entwicklung: Streamlit ermöglicht es Ihnen, schnell Datenanwendungen zu erstellen, ohne viel Code schreiben zu müssen.
  • Einfache Bedienung: Streamlit bietet eine intuitive API, mit der Sie problemlos verschiedene UI-Elemente hinzufügen können.
  • Interaktivität: Streamlit-Anwendungen sind interaktiv und ermöglichen es Benutzern, mit Daten zu interagieren.
  • Bereitstellbarkeit: Streamlit-Anwendungen können einfach auf verschiedenen Plattformen bereitgestellt werden.
  • Community-Unterstützung: Streamlit verfügt über eine aktive Community, die umfangreiche Dokumentation, Tutorials und Beispiele bietet.

Nachteile

  • Begrenzte Anpassbarkeit: Die Anpassbarkeit von Streamlit ist relativ begrenzt und kann möglicherweise nicht alle Anwendungsanforderungen erfüllen.
  • Leistung: Bei komplexen Anwendungen ist die Leistung von Streamlit möglicherweise nicht so gut wie bei herkömmlichen Web-Frameworks.
  • Schwache Frontend-Kontrolle: Keine so feine Kontrolle über die Benutzeroberfläche wie bei traditionellen Frontend-Frameworks.

Zusammenfassung

Streamlit ist ein leistungsstarkes Tool, das Datenwissenschaftlern und Machine-Learning-Ingenieuren helfen kann, schnell ansprechende und interaktive Webanwendungen zu erstellen. Es vereinfacht den Prozess der Umwandlung von Data-Science-Skripten in gemeinsam nutzbare Web-Apps, ohne dass Frontend-Entwicklungserfahrung erforderlich ist. Obwohl es in Bezug auf Anpassbarkeit und Leistung einige Einschränkungen gibt, machen seine Benutzerfreundlichkeit und schnelle Entwicklung es zu einer idealen Wahl für viele Data-Science-Projekte.

Alle Details sind der offiziellen Website zu entnehmen (https://github.com/streamlit/streamlit)