furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Iodide - IDE od Mozilla dla Data Science podobne do Jupyter Notebook.

Mozilla stworzyła Iodide (po polsku: jodek) dla Data Science, które częściowo przypomina mi Jupter Notebook a częściowo narzędzia typu JSFiddle lub IDE Rodeo

Podobnie jak Jupyter Notebook narzędzia można uruchomić jako lokalny serwer WWW i w przeglądarce otworzyć stronę do wpisywania kodu i tekstu.

Strona pododbnie do JSFiddler jest podzielona na część, z której jedna część służy do wprowadzania tekstu w markdown, HTML z CSS oraz kodu w pythonie i javascript, a druga część do wyświetlania wyników.

W tekscie używa się oznaczeń przypominających magiczne funkcje z IPython %%md, %%py, %%js, %%raw które służą do oddzielania komentarzy od tekstu w MarkDown oraz kodu w Pythonie lub JavaScript - co przypomina podział na komórki w Jupyter Notebook aczkolwiek cały czas działamy w jednej przestrzeni.

W Markdown można też wstawiać HTML, CSS i LaTeX co - podobnie do JSFiddler - co wraz z tekstem od razu wpływa na wygląd tekstu w drugiej części okna.

Kod Pythona i JavaScript wymaga jednak ręcznego uruchomienia - tak jak w Jupyter.

W Pythonie dostępny jest moduł js, który pozwala na zmiany na stronie jak również wywoływanie funkcji z JavaScript - np. do rysowania w przeglądarce. Podobnie JavaScript może wykorzystywać kod napisany w Pythonie.

---

Python w Iodide nie korzysta z CPythona i jego modułów na pisanych w C i skompilowanych do kodu maszynowego tylko został przetłumaczony na WebAssembly.

Spośród standardowych modułow nie wszystkie są dostępne ale za to są już dostępne te przydatne w Data Science jak NumPy, Pandas, Matplotlib, częściowo SciPy i NetworkX.

Uwagi:

  • uruchomienie pierwszego kawałka kodu Pythona na stronie wymaga trochę czasu
  • uruchomienie kodu Pythona na starszym tablecie nie daje rady. Z JavaScript nie ma problemu.
Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury