Przejdź do treści
Streamlit w Pythonie: jak szybko zbudować prototyp aplikacji AI i dashboardModuł 1 · lekcja 1 z 3
Za darmo4 min czytania

Moduł 1 · Pierwsze kroki ze Streamlit

Czym jest Streamlit i kiedy wybrać go zamiast Flaska, FastAPI lub Django

Po tej lekcji ocenisz, kiedy Streamlit jest dobrym narzędziem do prototypu aplikacji AI lub dashboardu, a kiedy lepiej sięgnąć po Flask, FastAPI albo Django. Poznasz też przykład, który przeprowadzi Cię przez cały kurs.

Aktualne na: październik 2026 (Streamlit 1.66.0 z 14 października 2026).

Czym jest Streamlit

Streamlit to otwartoźródłowa biblioteka Pythona do budowania aplikacji z danymi. Piszesz zwykły skrypt .py, a Streamlit zamienia wywołania funkcji takich jak st.title(), st.slider() czy st.dataframe() w stronę w przeglądarce. Nie piszesz HTML, CSS ani JavaScriptu, nie definiujesz tras URL i nie budujesz osobnego frontendu.

Python
import streamlit as st st.title("Rowerownia: wycena serwisu") rowery = st.slider("Ile rowerów oddajesz do przeglądu?", 1, 5, 1) st.write(f"Do zapłaty: {rowery * 149} zł")

Te cztery linie dają działającą stronę z suwakiem. Po każdej zmianie suwaka Streamlit uruchamia skrypt ponownie od góry i rysuje nowy wynik. Ten model wykonania (skrypt od góry do dołu przy każdej interakcji) jest najważniejszą rzeczą do zrozumienia w całym kursie i wrócimy do niego w lekcji 1.3.

Bibliotekę rozwija firma Snowflake, która ogłosiła przejęcie Streamlit w marcu 2022 roku (biblioteka figuruje dziś jako projekt Snowflake Inc. w PyPI). Kod jest dostępny na licencji Apache 2.0, a aplikacje możesz uruchamiać u siebie, na własnym serwerze albo w darmowej usłudze Streamlit Community Cloud (moduł 6).

Streamlit a Flask, FastAPI i Django

Wszystkie te narzędzia są pisane w Pythonie, ale rozwiązują inne problemy. Flask i FastAPI to frameworki do budowy serwerów HTTP i API: dostajesz żądanie, zwracasz odpowiedź (HTML albo JSON), a interfejs musisz zbudować osobno. Django to pełny framework webowy z bazą danych, kontami użytkowników i panelem administracyjnym. Streamlit nie jest frameworkiem webowym w tym sensie: to warstwa interfejsu nad Twoim kodem w Pythonie.

Kiedy które narzędzie

Stan na październik 2026, na podstawie dokumentacji narzędzi.

Nie da się uczciwie podać, ile godzin zajmie prototyp w każdym narzędziu, bo to zależy od zespołu i zakresu. Różnica jest jednak strukturalna: w Streamlit prototyp dashboardu to jeden plik w Pythonie, we Flasku to co najmniej serwer, szablon i kod przeglądarki.

Kiedy Streamlit, a kiedy coś innego

Streamlit sprawdza się, gdy:

  • chcesz pokazać model ML albo wynik analizy zespołowi lub klientowi,
  • budujesz wewnętrzne narzędzie dla kilku lub kilkudziesięciu osób,
  • potrzebujesz dashboardu z filtrami nad danymi, które masz w pandas,
  • prototypujesz chatbota lub asystenta AI, zanim firma zainwestuje w pełny produkt.

Gorzej pasuje, gdy:

  • potrzebujesz publicznego API dla aplikacji mobilnej (wtedy FastAPI lub Flask),
  • aplikacja wymaga rozbudowanych ról i uprawnień, płatności, wielu formularzy z walidacją po stronie serwera (Django),
  • liczy się pełna kontrola nad wyglądem każdego piksela,
  • spodziewasz się bardzo dużego ruchu publicznego: każda otwarta karta przeglądarki to osobna sesja, w której serwer wykonuje Twój skrypt i trzyma jej stan w pamięci.

Dobra praktyka z firm: prototyp w Streamlit służy do sprawdzenia pomysłu z użytkownikami. Jeśli pomysł się obroni, część logiki (funkcje w Pythonie) przenosisz do docelowego systemu, a interfejs piszesz od nowa.

Przykład z kursu: Rowerownia z Poznania

W całym kursie pracujesz na danych fikcyjnego sklepu rowerowego Rowerownia z Poznania. Sklep sprzedaje rowery, części i akcesoria przez sklep internetowy, salon w Poznaniu i Allegro, a w salonie prowadzi serwis. Plik sprzedaz_2026.csv z materiałów do modułu 1 ma 600 zamówień z okresu od 1 stycznia do 30 września 2026 roku, o łącznej wartości 323 076 zł.

Co zbudujesz w kursie

Pliki do każdego modułu znajdziesz w materiałach kursu.

Dane są fikcyjne i nie zawierają danych osobowych. To celowy wybór: w prawdziwej firmie dane klientów podlegają RODO i nie powinny trafiać do prototypu ani do zewnętrznego modelu AI bez podstawy prawnej i decyzji osoby odpowiedzialnej za ochronę danych.

Najważniejsze w 3 punktach

  1. Streamlit zamienia skrypt w Pythonie w aplikację w przeglądarce, bez osobnego frontendu.
  2. Najlepiej sprawdza się w prototypach, dashboardach i narzędziach wewnętrznych, gorzej w publicznych API i dużych produktach z kontami.
  3. Przy każdej interakcji skrypt wykonuje się od nowa, od góry do dołu.

Źródła

Materiały do pobrania

Pliki do ćwiczeń są dostępne w abonamencie.

  • Pierwsza aplikacja: środowisko, config.toml i raport sprzedażyModuł 1: requirements.txt, sprawdz_srodowisko.py (lekcja 2), app.py i dane sprzedaz_2026.csv (lekcja 3), rozwiązania lekcji 1 i 38 KBDostępne w abonamencie
  • Wycena serwisu, panel z zakładkami i lista zleceńModuł 2: widgety.py (lekcja 1), layout.py (lekcja 2), formularz_session.py (lekcja 3) + rozwiązania10 KBDostępne w abonamencie
  • Wykresy, tabele i dashboard sprzedaży z filtramiModuł 3: wykresy.py, tabele.py, dashboard.py, dashboard_na_zywo.py, wyniki_kontrolne.md + rozwiązania lekcji 1 do 412 KBDostępne w abonamencie
  • Klasyfikator zgłoszeń: scikit-learn, API OpenAI, Hugging Face, cacheModuł 4: zgloszenia.csv, trenuj_model.py, app_model.py, app_llm.py, app_hf.py, cache_demo.py, wzór secrets.toml + rozwiązania (w tym kurs EUR z API NBP)9 KBDostępne w abonamencie
  • Chatbot: historia, strumieniowanie i baza wiedzyModuł 5: model_atrapa.py, chat_podstawy.py, chat_historia.py, chat_stream.py, chat_rag.py, baza_wiedzy/ + rozwiązania9 KBDostępne w abonamencie
  • Projekt końcowy: panel sprzedaży z asystentem AI i testamiModuł 6: PROJEKT.md (brief), projekt/ (st.navigation, lib/dane.py, testy pytest i AppTest, README), rozwiązania lekcji 1 i 216 KBDostępne w abonamencie

Następna: Instalacja, konfiguracja środowiska i pierwsze uruchomienie aplikacji

20 lekcji, pliki i certyfikat w abonamencie.

Program kursu

Karta wymagana · anulujesz jednym kliknięciem · Mam już konto