W tym artykule przestawione zostaną nowe i innowacyjne biblioteki, które przeżywają skok popularności w porównaniu z standardowymi bibliotekami Pythona.
Cerberus
Oferuje łatwe i szybkie sprawdzenie poprawności danych, jest zaprojektowany tak, aby można go rozszerzyć umożliwiając niestandardową weryfikacje. Jest dokładnie przetestowany od wersji Pythona 2.6 do 3.5
Dokładna dokumentacja jest dostępna na stronie www: https://github.com/pyeve/cerberus
Altair
Altair jest deklaratywną biblioteką wizualizacji statystycznej dla Pythona. Dzięki Altair można poświęcić więcej czasu na zrozumienie własnych danych i ich znaczenia. Api Altair jest łatwe i spójne, zbudowane na specyfikacji Vega-Lite JSON
Dokładna dokumentacja jest dostępna na stronie: https://github.com/altair-viz/altair
PyPattyrn
PyPattyrn to pakiet pythona, którego celem jest ułatwienie i przyspieszenie wdrażania wzorców projektowych do własnych projektów.
Wzorce projektowe z natury nie mogą być bezpośrednio przekładane na kod, ponieważ są jedynie opisem rozwiązania konkretnego problemu. Jednak wiele typowych wzorców projektowych ma kod standardowy, który jest wspólny dla wszystkich implementacji wzorca. Ten pakiet przechwytuje wspólny kod i sprawia, że jest łatwy w użyciu.
Zappa
Zappa jest frameworkiem pythonowym, do tworzenia aplikacji Serverless, ale działających jedynie na AWS Lambda używajac AWS Gateway API. Każde zapytanie do twojej aplikacji przejdzie przez pamięć cache usługi AWS Lambda, która zwróci odpowiedź zgodną z pythonowym interfejsem WSGI. Gdy żądanie zostanie przetworzone – „serwer” znika.
Szczegóły związane z samym projektem można zobaczyć na stronie: zappa.io
Arrow
Arrow to biblioteka Pythona oferująca rozsądne, podejście do tworzenia, manipulowania, formatowania i konwertowania dat, godzin i znaczników czasu. Implementuje i formatuje typ datetime
łącząc luki w funkcjonalności.
Arrow zastępuje datetime
obsługujący Python 2 lub Python 3 i zapewnia znacznie lepszy interfejs.
Black
Kolejną biblioteką, która jest warto uwagi jest Black, biblioteka ta autoformatuje pliki, dbając o spójny układ wciec, odstępów między liniami i utrzymywanie jednego stylu co do łamania linii.
Szczegóły dokładniejsze można znaleźć na stronie: https://github.com/ambv/black
Scikit-learn
Jest to darmową biblioteką algorytmów z dziedziny uczenia maszynowego napisaną w języku Python i zbudowaną na bazie modułu SciPy. Moduł scikit-learn udostępnia wiele algorytmów z dziedziny nadzorowanego i nienadzorowanego uczenia maszynowego w postaci interfejsu programistycznego. Moduł jest dostępny na licencji BSD, co pozwala na jego komercyjne i niekomercyjne (akademickie) zastosowanie.
Więcej informacji na stronie: scikit-learn.org
Theano
Theano to 10-letni framework do implementacji głębokiego uczenia i uczenia maszynowego, który jest napisany w Pythonie.
Biblioteka jest dobrze zoptymalizowana, ponieważ wykorzystuje zarówno CPU, jak i GPU. Podczas tworzenia głównym założeniem było szybkie przetwarzanie algorytmów sieci neuronowych używanych w deep learningu i do takich celów nadal najczęściej jest używana.
Szczegóły na stronie: deeplearning.net/software/theano/
TensorFlow
Jest przenośną biblioteką sztucznej inteligencji i sieci neuronowych, udostępniona przez Google, cechuje się dobrą wydajnością i skalowalnością. TensorFlow dysponuje szeregiem różnych modeli i algorytmów, które stanowią poważne obciążenie dla głębokiego uczenia się. Framework cechuje się wydajnością podczas pracy na urządzeniach z układami GPU (w przypadku treningu) lub układami TPU od Google (w przypadku prognozowania na skalę produkcyjną).
Framework zapewnia dobrą obsługę języka Python, ma bardzo dobrze zrobioną dokumentacje oraz zawiera narzędzie TensorBoard, który stosowany jest do wyświetlania i analizowania diagramów przepływu danych, opisujących wykonywane obliczenia.
Więcej informacji na stronie: tensorflow.org
OpenAI universe
Open AI universe jest platformą do mierzenia oraz uczenia inteligencji ogólnej AI na całym świecie pod względem gier, stron internetowych oraz pozostałych aplikacji.
Biblioteka ta jest oparta jest na otwartej licencji. Można powiedzieć, że jest to środowisko symulacyjne o wystandaryzowanym interfejsie Gym, który pozwala na gromadzenie dużej ilości danych zbieranych gdy agent AI wchodzi w interakcję ze światem wirtualnym, wysyłając symulowane ruchy myszy i klawiatury za pomocą tak zwanego Virtual Network Computing lub VNC.
Zachęcamy do zajrzenia na stronę: https://github.com/openai/universe
W tym artykule przybliżyłam 10 bibliotek, które są częściej stosowane w projektach. Mam nadzieje, że spis ten będzie przydatny dla deweloperów i hobbystów języka Python.
W temacie polecam też konferencje organizowane przez pozitive technologies – naprawdę świetnie to wszystko u nich wygląda!