How to embed HTML into IPython output? How to embed HTML into IPython output? python python

How to embed HTML into IPython output?

This seems to work for me:

from IPython.core.display import display, HTMLdisplay(HTML('<h1>Hello, world!</h1>'))

The trick is to wrap it in "display" as well.


Some time ago Jupyter Notebooks started stripping JavaScript from HTML content [#3118]. Here are two solutions:

Serving Local HTML

If you want to embed an HTML page with JavaScript on your page now, the easiest thing to do is to save your HTML file to the directory with your notebook and then load the HTML as follows:

from IPython.display import IFrameIFrame(src='./nice.html', width=700, height=600)

Serving Remote HTML

If you prefer a hosted solution, you can upload your HTML page to an Amazon Web Services "bucket" in S3, change the settings on that bucket so as to make the bucket host a static website, then use an Iframe component in your notebook:

from IPython.display import IFrameIFrame(src='', width=700, height=600)

This will render your HTML content and JavaScript in an iframe, just like you can on any other web page:

<iframe src='', width=700, height=600></iframe>