Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
jupyter-server-proxy
Advanced tools
A Jupyter server extension to run additional processes and proxy to them that comes bundled JupyterLab extension to launch pre-defined processes.
Jupyter Server Proxy lets you run arbitrary external processes (such as
RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc)
alongside your notebook server and provide authenticated web access to
them using a path like /rstudio
next to others like /lab
. Alongside
the python package that provides the main functionality, the JupyterLab
extension (@jupyterhub/jupyter-server-proxy
) provides buttons in the
JupyterLab launcher window to get to RStudio for example.
Note: This project used to be called nbserverproxy. As nbserverproxy is an older version of jupyter-server-proxy, uninstall nbserverproxy before installing jupyter-server-proxy to avoid conflicts.
The primary use cases are:
The documentation contains information on installation & usage.
Jupyter Server Proxy is often used to start a user defined process listening to
some network port (e.g. http://localhost:4567
) for a user starting a Jupyter Server
that only that user has permission to access. The user can then access the
started process proxied through the Jupyter Server.
For safe use of Jupyter Server Proxy, you should ensure that the process started by Jupyter Server proxy can't be accessed directly by another user and bypass the Jupyter Server's authorization!
A common strategy to enforce access proxied via Jupyter Server is to start Jupyter Server within a container and only allow network access to the Jupyter Server via the container.
For more insights, see Ryan Lovett's comment about it.
pip
pip install jupyter-server-proxy
conda
conda install -c conda-forge jupyter-server-proxy
A JupyterLab and Notebook extension is bundled with the Python package to provide:
For historical compatibility ranges, see the table below:
jupyter-server-proxy | notebook | jupyterlab |
---|---|---|
4.1.x | >=6,<8 | >=3,<5 |
4.0.x | >=6,<7 | >=3,<4 |
3.x | >=6,<7 | >=2,<4 |
jupyter serverextension disable --sys-prefix jupyter_server_proxy
jupyter server extension disable --sys-prefix jupyter_server_proxy
jupyter nbextension disable --sys-prefix --py jupyter_server_proxy
jupyter labextension disable @jupyterhub/jupyter-server-proxy
To setup a local development environment, see the contributing guide.
FAQs
A Jupyter server extension to run additional processes and proxy to them that comes bundled JupyterLab extension to launch pre-defined processes.
We found that jupyter-server-proxy demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.