Хорошо, очевидно, я просто недостаточно усердно очищал свои результаты, поэтому я получил странные результаты. Я опубликую свое решение ниже на случай, если оно поможет другим людям.
У меня есть javascript в отдельных. js файлах. Я загружаю это в свой блокнот, имея ячейку со следующим содержимым:
from IPython.display import display, HTML
with open("javascript.js") as f:
data = f.read()
text = """<div style="overflow:auto">Loading scripts</div>
<script type="text/javascript">
{}
</script>""".format(data)
display(HTML(text))
Выполнение этой ячейки вставляет необходимые javascript. Когда базовые файлы javascript изменились, просто перезапустите ячейку, чтобы обновить javascript. Затем, когда вы создадите новый виджет, он будет иметь обновленный код.