John Schmitt John Schmitt - 1 month ago 21
Python Question

Can a Jupyter / IPython notebook take arguments in the URL?

Is it possible to write an Jupyter notebook such that parameters can be passed in via the URL of the notebook?

Example, for a URL such as this:

http://jupyter.example.com/user/me/notebooks/notebook1.ipynb?Variable1=Value1&Variable2=Value2


how could access
Variable1
and
Variable2
inside the Jupyter cell?

Answer

You need to find out the URL using JavaScript and pass it to the IPython kernel:

from IPython.display import HTML
HTML('''
    <script type="text/javascript>
        IPython.notebook.kernel.execute("URL = ' + window.location + "'")
    </script>''')

or:

%%javascript
IPython.notebook.kernel.execute("URL = ' + window.location + "'");

Then in the next cell:

print(URL)

After this you can use the tools in the standard library (or plain string operations) to pull out the query parameters.