Co stało się z moimi notatnikami IPython?
Autor: Idego Group

Post bada interaktywne możliwości programowania Pythona i ewolucję notatników IPython. Podczas gdy Python jest językiem interpretowanym obsługującym interaktywne sesje REPL, standardowy interpreter brakuje funkcji takich jak autouzupełnianie i wyszukiwanie historii.
IPython pojawił się jako lepsza alternatywa, oferując ulepszoną funkcjonalność. Jednak znaczące przejście nastąpiło wraz z IPython 4.0, nazwanym Wielkim Podziałem, które oddzieliło funkcjonalność notatników od podstawowego pakietu i ustanowiło Jupyter jako niezależny projekt.
Metafora notatnika reprezentuje hybrydowe podejście łączące interfejsy wiersza poleceń i oparte na sieci web. Zamiast prostych poleceń terminalowych, notatniki organizują kod w komórki, które użytkownicy mogą wykonywać, modyfikować i ponownie uruchamiać. Komórki Markdown umożliwiają dokumentację obok kodu, podczas gdy dane wyjściowe obsługują bogate media, w tym obrazy, wykresy i równania.
Architektura Jupytera oddziela interfejs klienta od jądra ewaluacyjnego, umożliwiając wiele typów klientów i obsługując jądra dla różnych języków programowania poza Pythonem. Ta rozszerzalność zaowocowała implementacjami dla JavaScript, Ruby, Bash i wyspecjalizowanych narzędzi, takich jak Redis.
Platforma zawiera środki bezpieczeństwa rozwinięte od IPython 2.0, w tym podpisywanie notatników i obsługę niezaufanych treści. Zastosowania edukacyjne i interaktywna dokumentacja stanowią podstawowe przypadki użycia, z potencjalnym rozszerzeniem na interakcje ze środowiskiem produkcyjnym i zaawansowane alternatywy terminali.