Devdays Осень 2017/jupyter kernel

Материал из SEWiki
Перейти к: навигация, поиск

Описание

Работающий Jupyter kernel for java lang

Технологии: Python, Java

Ссылка на репозиторий

Состав команды

  • Антон Егоров — автоматическая сборка и установка, история команд /history.
  • Зубаков Алексей — руководитель проекта, Java составляющая ядра(обертка JShell на Java).
  • Калинин Владислав — Java и Python составляющие ядра(Kernel на Python, java2py bridge, вывод переменных/методов: /vars, /methods).

Features

  • Исполнение java кода
  • История команд
  • autocomplete(по возможности)

Как запустить

В вашей системе уже должен быть установлен Jupyter.

Запустите установочный скрипт "sudo ./setup.py install". Лучше дать ему привилегии. Скрипт попытается вызвать команду jupyter kernelspec list , и если хоть одно ядро уже подключено к Jupyter-у, то скрипт узнает путь, куда нужно скопировать необходимые для запуска Java-ядра файлы. Если это сделать не получится, то будет предложено вручную ввести путь к папке, по которой Jupyter узнаёт о ядрах. Например, это может быть путь /usr/local/share/jupyter/kernels . Также скрипт должен проверить наличие и при необходимости установить библиотеку py4j для Python. Если установка прошла успешно, то запустить Jupyter с Java-ядром можно командой jupyter console --kernel java .

В числе файлов в репозитории есть файл java_src/target/jserver.jar , включающий в себя Java-составляющую ядра. Пересобрать его, при необходимости, можно выполнив команду mvn clean install в папке java_src.

Buglist

  • Не ругается на ошибку вида System.out.println(10
  • Графики выводятся не в самом ноутбуке, а в отдельном окне
  • Автокомплит не работает внутри вложенных конструкций
  • Не всегда корректно подсвечивается синтаксис java в браузере
  • Не убивается процесс с java при экстренном завершении