Я не эксперт по расширениям Jupyter, но я думаю, что следующее точно (пожалуйста, поправьте меня, если кто-то знает иначе).
Виджеты Jupyter фактически реализованы с использованием расширения.
Основное различие между виджетами и другими расширениями заключается в том, что
ядро Python в записной книжке может легко взаимодействовать с виджетом
- ядро может «вызвать» виджет, а виджет может «перезвонить» ядру. Например, ядро может изменить текстовую метку для кнопки в виджете, и нажатие кнопки на виджете может вызвать
Код Python для выполнения в ядре.
Например, в следующей записной книжке создается виджет с обратным вызовом click для python, который вызывает Javascript для изменения внешнего вида виджета:
https://github.com/AaronWatters/jp_proxy_widget/blob/master/notebooks/hello%20proxy%20world.ipynb
Расширения не позволяют автоматически создавать процессы ядра Python в записной книжке для взаимодействия с экземпляром расширения, хотя их можно реализовать.