Netflix відкрив код інтерактивного середовища обчислень Polynote

Компанія Netflix представила нове інтерактивне середовище обчислень Polynote, призначену для супроводу процесу наукових досліджень, обробки та візуалізації даних (дозволяє поєднувати код із науковими викладками та матеріалами для публікації). Код Polynote написаний мовою Scala та поширюється під ліцензією Apache 2.0

Документи в Polynote є впорядкованим набором осередків, які можуть містити код або текст. Кожен осередок редагується і виконується окремо. Допускається перегрупування, видалення та додавання осередків, але при цьому стан даних для кожного осередку залежить від обчислень у минулих осередках (виконання зверху-вниз). Подібний підхід гарантує повторюваність визначених у документі обчислень (повторне виконання документа на будь-яких системах призведе до результату).
Інформація про залежність та конфігурація зберігаються безпосередньо в документі, а не в окремих файлах.

Netflix відкрив код інтерактивного середовища обчислень Polynote

На відміну від подібних проектів Юпітер и цепелін, нове середовище дозволяє змішувати в одному документі код кількома мовами програмування, забезпечуючи спільний доступ до даних із коду кількома мовами (визначається загальна схема даних). Наприклад, в одному документі можна поєднувати код мовою Scala із застосуванням популярних бібліотеки машинного навчання та візуалізації для мови Python. На поточному етапі розвитку реалізована підтримка мов Scala, Python, SQL та Вега.

Netflix відкрив код інтерактивного середовища обчислень Polynote

З інших особливостей Polynote виділяються розширені засоби для редагування коду та тексту, близькі до можливостей інтегрованих середовищ розробки та текстових процесорів. Під час редагування коду підтримується автодоповнення, підсвічування місць виникнення помилок, виведення підказок для параметрів функцій та методів. У планах можливість переходу на визначення змінних/функцій із місць їхнього виклику (jump-to-definition).

Netflix відкрив код інтерактивного середовища обчислень PolynoteNetflix відкрив код інтерактивного середовища обчислень Polynote

Що стосується підготовки документації та звітів, процес редагування тесту здійснюється в режимі WYSIWYG, що дозволяє відразу спостерігати кінцевий відформатований результат. При цьому визначення формул передбачена можливість вставки виразів у форматі LaTeX.

Netflix відкрив код інтерактивного середовища обчислень PolynoteNetflix відкрив код інтерактивного середовища обчислень Polynote

Середовище дозволяє повністю контролювати процес виконання - в області завдань показується який код зараз виконується і на якій стадії знаходяться обчислення. Через таблицю символів можна переглянути всі певні функції та змінні, а також проінспектувати їх значення або здійснити візуалізацію змін. Всі збої при виконанні та виняткові ситуації відразу підсвічуються у редакторі коду. У редакторі в режимі реального часу виділяється рядок коду, що виконується в даний момент.

Netflix відкрив код інтерактивного середовища обчислень PolynoteNetflix відкрив код інтерактивного середовища обчислень Polynote

Оброблювані дані відображаються в наочному вигляді з розбивкою за типами або в таблиці. Підтримується інтеграція з Apache Spark для перегляду, аналізу та візуалізації великих обсягів даних. Для спрощення візуалізації пропонується вбудований редактор графіків та діаграм. Як опція передбачена можливість застосування для візуалізації Вега и Матплотліб.

Netflix відкрив код інтерактивного середовища обчислень PolynoteNetflix відкрив код інтерактивного середовища обчислень Polynote

Джерело: opennet.ru

Додати коментар або відгук