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.
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.
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ł.
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
- Streamlit zamienia skrypt w Pythonie w aplikację w przeglądarce, bez osobnego frontendu.
- Najlepiej sprawdza się w prototypach, dashboardach i narzędziach wewnętrznych, gorzej w publicznych API i dużych produktach z kontami.
- Przy każdej interakcji skrypt wykonuje się od nowa, od góry do dołu.
Źródła
- Streamlit, Release notes, wersja 1.66.0 z 14.10.2026: https://docs.streamlit.io/develop/quick-reference/release-notes
- Streamlit, Get started, instalacja i model działania: https://docs.streamlit.io/get-started/installation
- Streamlit, Run your app: https://docs.streamlit.io/develop/concepts/architecture/run-your-app
- Streamlit, uwierzytelnianie użytkowników (st.login, OIDC): https://docs.streamlit.io/develop/concepts/connections/authentication
- Snowflake, komunikat z 2.03.2022 o zamiarze przejęcia Streamlit: https://investors.snowflake.com/news/news-details/2022/Snowflake-Announces-Intent-to-Acquire-Streamlit-to-Empower-Developers-and-Data-Scientists-to-Mobilize-the-Worlds-Data/default.aspx
- PyPI, pakiet streamlit (autor: Snowflake Inc.): https://pypi.org/project/streamlit/
- Repozytorium Streamlit (licencja Apache 2.0): https://github.com/streamlit/streamlit