GitHub pomaga Fast.ai we wsparciu nowego środowiska dla języka Python.
Fast.ai
GitHub ogłosił, że wspiera Fast.ai w tworzeniu nowego środowiska programistycznego dla Pythona o nazwie nbdev.
Fast.ai pracuje nad nbdev od jakiegoś czasu, a GitHub wspiera go w tym w ramach dążenia GitHub do tego aby tworzenie oprogramowania było bardziej przystępne. Chodzi o ułatwienie stosowania najlepszych praktyk, takich jak CI/CD (ciągła integracja i dystrybucja) oraz prostsze tworzenie dokumentacji oprogramowania.
Oprogramowanie literalne
Nbdev to biblioteka, która umożliwia tworzenie innych bibliotek Python w Jupyter Notebooks, dzięki czemu cały kod, testy i dokumentacja są przechowywane w jednym miejscu. Twórcy twierdzą, że jest to równoznaczne z prawdziwym, „literalnym” środowiskiem programistycznym, jak to opisał Donald Knuth jeszcze w 1983 roku.
Knuth (rocznik 1938, obecnie emerytowany profesor Uniwersytetu Stanforda) opisał programowanie literalne (dosłowne) jako metodologię, która łączy język programowania z językiem dokumentacji, dzięki czemu programy są solidniejsze, bardziej przenośne, łatwiejsze w utrzymaniu i - prawdopodobnie -przyjemniejsze w pisaniu niż programy napisane tylko w języku wysokiego poziomu. Główną ideą jest potraktowanie programu jako fragmentu literatury, adresowanej raczej do ludzi niż do komputera. Program można również przeglądać jako dokument hipertekstowy.
Nbdev
Środowisko nbdev składa się z serwera WWW do podglądu witryny z dokumentami, serwera Jupyter do pisania kodu oraz szeregu narzędzi CLI (wiersza polecenia), które są skonfigurowane do pracy z GitHub Codespaces. W nbdev pracujesz w notatnikach Jupyter hostowanych na stronach GitHub. Na tej podstawie są generowane dokumenty, które można przeszukiwać i które automatycznie są wzbogacone o hiperłącza do odpowiednich stron dokumentacji. Środowisko obsługuje ciągłą integrację (CI) za pośrednictwem GitHub Actions, które automatycznie uruchamia testy jednostkowe.
Środowisko ma również narzędzia do automatyzacji publikowania pakietów pypi i conda, w tym zarządzanie numerami wersji. Twórcy twierdzą, że oferuje solidną, dwukierunkową synchronizację między notatnikami a kodem źródłowym, co oznacza, że możesz używać swojego IDE do nawigacji po kodzie lub szybkiej edycji, jeśli chcesz. Zapewnia również precyzyjną kontrolę ukrywania / pokazywania komórek: możesz ukryć całe komórki, tylko dane wyjściowe lub tylko dane wejściowe. Obsługa równań matematycznych jest również zapewniana za pomocą LaTeX.
Sprawdź oferty pracy na TeamQuest
Instalacja
Aby zainstalować nbdev wystarczy wykonać pip install nbdev
lub conda install -c fastai nbdev
. Albo przez gita:
git clone https://github.com/fastai/nbdev
pip install -e nbdev