Skip to main content

This is a demo package showing how to run a web app through Jupyter Server Proxy.

This mechanism allows a user to run a separate web app through JupyterHub. To try it, install this package into the same Python environment which is used to launch your single-user server:

pip install hello_jupyter_proxy

If your server is already running use the JupyterHub control panel (/hub/home) to stop and start it. You should have a new ‘hello’ option in the ‘New’ menu (classic notebook) or the launcher (Jupyterlab). You can also go directly to https://(your-jhub-server)/user-redirect/hello/ .

Building applications to proxy

This is meant as a starting point for building useful applications to run in Jupyter Server Proxy. See the JSP docs and especially the examples page for more information.

For real web applications in Python, you will want a web framework rather than the low-level http.server module. There are many choices, but Tornado (used by Jupyter) and Flask are two well known ones.

Security: Once user A launches your application through Jupyter, it is listening on a TCP port, and user B can also connect to it and send requests. You might want to consider:

  • Limiting what the application can do and what information it can retrieve, so accessing another user’s server is not too dangerous.

  • Listening only on localhost (as in this example), to limit access to only users who can log into the same machine.

  • Finding some way to verify that the user sending the request matches the user which the application is running as.

Which measures make sense will depend on your application and the environment in which you expect to use it.

Metadata

Release files for hello_jupyter_proxy 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hello_jupyter_proxy 0.2
File Size Uploaded
hello_jupyter_proxy-0.2.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hello_jupyter_proxy 0.2
File Interpreter ABI Platform
hello_jupyter_proxy-0.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 8.5 kB

Release files / hello_jupyter_proxy-0.2.tar.gz

Download URL hello_jupyter_proxy-0.2.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
98f488c1c9fca1344200dae77bed5d7cdcda141da422dbaccadd1708c1d0fef7
BLAKE2b-256 checksum
How to use checksums
08bf8fe7f271bf508a251e8505b591d97862d238b797a725d9b8ebb23072f153
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.2

Release files / hello_jupyter_proxy-0.2-py2.py3-none-any.whl

Download URL hello_jupyter_proxy-0.2-py2.py3-none-any.whl
Size 4.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
159c1dedfd2f85f055201bcfcb58202eafe1854f54d5b392d7c6d529483a10b9
BLAKE2b-256 checksum
How to use checksums
4458e8c00342a5818a5ad5c9378557f744ec26b4f843c3681bdedc0cd8857926
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.28.2

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page