Blog IT, Blog Marketing

PyScript. Uruchom język Python w przeglądarce

PyScript. Uruchom język Python w przeglądarce

Tomasz Staśkiewicz , 03.06.2022 r.

Chociaż samo uruchomienie Pythona w przeglądarce nie jest nowością, to jednak PyScript wydaje się rewolucją na miarę naszych możliwości. Podczas PyCon 2022 w USA programiści związani z grupą project Anaconda ogłosili ukończenie prac nad nowym frameworkiem – PyScript. Jak mówią jego twórcy – to kolejny krok stronę zwiększenia dostępności Pythona dla wszystkich, którzy jej potrzebują. To ważny krok dla Pythona, ponieważ dostępność w przeglądarce lub za pomocą urządzenia mobilnego była jego słabym punktem.

PyScript to krok w stronę udowodnienia, że wbrew temu, co się zarzuca Pythonowi, czyli mocny skręt w stronę Data Science, niekoniecznie jest priorytetem jego twórców. I oprócz tej ścieżki, Python może być wykorzystywany jako ogólnodostępny język programowania, który dzięki PyScript stanie się przyjazny dla przeglądarek, a co za tym idzie, dostępny dla milionów użytkowników.

  • Czym jest PyScript?
  • Jakie możliwości kryje w sobie PyScript?
  • Motywacja twórców PyScript
  • Dobrze wyciągnięte wnioski z przeszłości
  • Jak skorzystać z wersji testowej PyScript?
  • Podstawowe operacje, które wykonasz przy pomocy PyScript
  • Dołączanie etykiet do opisanych elementów
  • Uruchomienie REPL w przeglądarce
  • Importowanie plików, modułów i bibliotek
  • Przyszłość PyScript

Czym jest PyScript?

To nowy framework Pythona, którego założeniem jest umożliwienie użytkownikom przeglądarek internetowych tworzenie rozbudowanych aplikacji w tym języku programowania. Powstał dzięki wykorzystaniu Emscripten, Pyodide, WASM i nowoczesnych technologii internetowych, by zapewnić łatwiejszy dostęp do nauki języka oraz:

  • zapewnienie prostego i czytelnego interfejsu API;
  • zapewnienie systemu rozszerzalnych i wtykowych komponentów;
  • wsparcie i rozszerzenie języka HTML w ramach założeń projektu „Programowanie dla 99%”, który kładzie nacisk na powszechną dostępność Pythona dla każdego.

Jakie możliwości kryje w sobie PyScript?

Poznaj kilka możliwości, dzięki którym nauka i dostęp do wybranych funkcji Pythona z PyScript będzie prostsze niż kiedykolwiek:

Python w przeglądarce pozwoli na łatwe włączenie wstawiania dowolnej zawartości, umożliwi hosting zewnętrznych plików oraz hosting aplikacji bez konieczności polegania na konfiguracji po stronie serwera;

  • Dostęp do ekosystemu Pythona, czyli uruchom biblioteki z poziomu przeglądarki – NumPy, Pandas, SciKit Learn;
  • Dwukierunkowa komunikacja Pythona i JavaScript – twórcy PyScript nie oczekują, że Python zastąpi JS w przeglądarce, traktują go raczej jako większe możliwości i szersze spektrum funkcjonalności dla analityków danych (Data Science);
  • PyScript zezwala użytkownikom na zdefiniowanie wyboru plików i pakietów, koniecznych dla uruchomienia konkretnej strony;
  • PyScript umożliwia łatwe tworzenie czytelnych aplikacji wizualnych dzięki ogólnodostępnemu interfejsowi użytkownika, który zawiera przyciski, kontenery, pola tekstowe itd.;
  • PyScript jest elastyczny, dzięki czemu można w nim tworzyć nowe wtykowe i rozszerzalne komponenty w Pythonie.

PyScript nie ma także na celu zastąpienia HTML. Jest raczej jego rozszerzeniem i boosterem. Dzięki wbudowanej integracji z bibliotekami Pythona. Dzięki takiemu rozwiązaniu dostęp do Pythona i jego bibliotek będzie łatwiejszy niż kiedykolwiek! Czy kiedykolwiek myślałeś, że będziesz mógł napisać stronę internetową w Pythonie? Z PyScript to nowa rzeczywistość, która dzieje się na Twoich oczach.

Motywacja twórców PyScript

Jaka była główna motywacja twórców frameworka PyScript? Dostępność. Mimo zaawansowanych możliwości edukacyjnych, jakie daje dostęp do sieci, wciąż nie każdy mógł łatwo korzystać z dowolnego języka programowania na swoim sprzęcie, bez instalowania dodatkowych komponentów. Główną misją programistów pracujących nad środowiskiem Pythona, jest zwiększenie jego dostępności wśród użytkowników Internetu na całym świecie.

Głównym założeniem było stworzenie stabilnej i niezawodnej platformy, która pozwoliłaby na łatwe i szybkie projektowanie aplikacji oraz ich wysyłanie na dowolną platformę sprzętową i programową, bez konieczności tworzenia nowego stosu technologicznego. Jak podkreślają twórcy, poszukiwanie tak funkcjonalnej platformy było dla nich sporym wyzwaniem.

Okazało się, że przeglądarka będzie świetną platformą, do której można było się ę dostosować, aby zapewnić niezawodne, dostępne i przyjemne doświadczenie dla użytkowników PyScript. Przeglądarka działa wszędzie (od laptopów, tabletów po telefony) i jest bezpieczna, wydajna i stabilna, co pozwala na dotarcie do szerokiego grona odbiorców, bez konieczności tworzenia odrębnej platformy. W rzeczywistości przeglądarka jest potężną machiną wirtualną, której możliwości dostrzegli właśnie twórcy nowego frameworka PyScript.

Dobrze wyciągnięte wnioski z przeszłości

Twórcy PyScript podkreślają również, że w ciągu kilku dekad języki programowania takie jak Python i Java Script oraz zaawansowane języki UI, takie jak nowoczesny HTML i CSS nie miały możliwości, by się wzajemnie uzupełniać. Python nie miał funkcji, które pozwoliłyby mu na tworzenie czytelnych interfejsów użytkownika do łatwego wdrażania aplikacji, a HTML, CSS i JS mają dobrą krzywą uczenia się. Umożliwienie Pythonowi wykorzystania konwencji HTML, CSS i JavaScript nie tylko rozwiązuje te dwa wyzwania, ale także rozwiązuje ogólne wyzwania związane z tworzeniem, pakowaniem, dystrybucją i wdrażaniem aplikacji internetowych.

Podsumowując, choć projekt PyScript wciąż jest w testowej fazie, już teraz można pobawić się wyborem bibliotek obsługiwanych przez Pyodide, a w przyszłości kod Pythona będzie można uruchomić z dowolnego urządzenia w przeglądarce (o ile projekt PyScript pozytywnie zakończy fazę testów).

Jak skorzystać z wersji testowej PyScript?

W testowej wersji PyScript nie ma nic do zainstalowania. Musisz tylko dodać 2 zasoby do nagłówka HTML: plik JavaScript i CSS. Wersję alfa PyScript można znaleźć na pyscript.net.

Wersja alfa składa się z:

  • py-env definiuje pakiety Pythona potrzebne do uruchomienia kodu Pythona;
  • py-script to miejsce, w którym można napisać swój kod Pythona;
  • py-repl tworzy składnik REPL (pętla odczytu, oceny i drukowania), który ocenia kod wprowadzony przez użytkowników i wyświetla wyniki.

Z pomocą PyScript jako narzędzia do analizy danych, można udostępniać dashboardy i modele w pliku html, który uruchomi kod za każdym razem, gdy inni otworzą ten plik w przeglądarce internetowej. Oczywiście, wersja alfa nie jest pozbawiona błędów. Niektórzy zwracają uwagę na problem bezpieczeństwa przesyłania danych, z jakim może się mierzyć PyScript. W wersji alfa można zaobserwować przeciążenie względem czasu wykonania podczas pracy na prostych skryptach. Nie wiadomo, czy praca na dużej ilości danych (kodu) będzie mogła być wydajna.

Podstawowe operacje, które wykonasz przy pomocy PyScript

Poniżej opisujemy kilka podstawowych operacji wraz z kodem, które możesz wykonać przy pomocy PyScript:

Dołączanie etykiet do opisanych elementów

Korzystając z PyScript, możesz przekazać zmienne z kodu Pythona do HTML. Zrobisz to za pomocą metody write z modułu PyScript w tagu

<pyscript>
.

Używając atrybutu id, możesz przekazać ciągi wyświetlane jako zwykły tekst. Metoda write akceptuje dwie zmienne: wartość id oraz zmienną, która zostanie podana.

Przykład kodu:


<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>

<body>
<b>Today is <u><label id='today'></label></u></b>
<py-script>
import datetime as dt
pyscript.write('today', dt.date.today().strftime('%A %B %d, %Y'))
</py-script>
</body>
</html>

Uruchomienie REPL w przeglądarce

PyScript zapewnia interfejs do uruchamiania kodu Pythona w przeglądarkach. Aby to zrobić, używa znacznika . Znacznik dodaje do strony składnik REPL, który działa jak edytor kodu i umożliwia pisanie kodu wykonywalnego w linii.

Przykład kodu:


<html>
<head>
<link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
<script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<py-repl id="my-repl" auto-generate=true> </py-repl>
</html>

Importowanie plików, modułów i bibliotek

Jedną z funkcji zapewnianych przez PyScript jest elastyczność. W PyScript możesz importować lokalne pliki, wbudowane moduły lub biblioteki firm trzecich. Ten proces używa tagu , który służy do deklarowania potrzebnych zależności.

Dla lokalnych plików Pythona w twoim systemie możesz umieścić kod w pliku .py, a ścieżki do lokalnych modułów są podane w paths: klucz w tagu .

Przykład kodu:


from random import randint

def add_two_numbers(x, y):
return x + y

def generate_random_number():
x = randint(0, 10)
return x

Następnie plik Python zostanie zaimportowany do HTML z tagiem . Powinieneś go umieścić w tagu , nad tagiem .

Przyszłość PyScript

PyScript jest ciekawym rozwiązaniem, które może ułatwić pracę z danymi w przyszłości i znacznie przyspieszyć procesy technologiczne związane z ich automatyczną analizą. PyScript obecnie dostępny w wersji testowej, ale istnieje duże prawdopodobieństwo, że będzie to przełom w dostępnie do języka programowania Python, na dużą skalę. Ze względu na ograniczenia związane z bezpieczeństwem, jak i czasem ładowania, PyScript jest obecnie źródłem dobrej zabawy, w trakcie której mogą pojawić się istotne problemy, które twórcy będą musieli rozwiązać w przyszłości.

Jest też wiele pozytywnych komentarzy po konferencji na PyCon 2022, które mówią o tym, że projekt okaże się ważnym technologicznym przełomem. Jak będzie w przyszłości? Przekonamy się już za kilka miesięcy. Tymczasem, życzymy Wam udanej zabawy w testowaniu wersji alfa.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej