Collaborative Features#
One of the standout features of JupyterGIS is its shared editing functionality, which seamlessly connects users across different interfaces within the JupyterGIS ecosystem. Whether collaborators are using the JupyterLab GIS extension, or working with the Python API in a Notebook, any changes made to a shared document are instantly reflected for all users.
Create Collaborative JupyterGIS Sessions#
If you are using a local installation, your JupyterLab instance is not available to the Internet by default, thus collaborators cannot join your session directly. Here are two techniques to facilitating collaboration in such instances.
Hosting a local server using VSCode (Microsoft) or PyCharm (Jetbrains) enables real-time collaboration without exposing your server to the Internet.
To use VSCode’s Live Share, you can follow the steps here.
To use PyCharm’s Code With Me, first you can enable Code With Me, then set up port forwarding.
In both cases, you should forward the port of the JupyterLab instance. The default port is
8888
.For a more scalable alternative, consider hosting JupyterGIS on a cloud-based or network-accessible instance. This setup allows multi-user cooperation with authentication and access restriction, without requiring a local installation. Once the instance is created using any of the options below, JupyterGIS needs to be installed on the created instance by opening a terminal window and following the installation guide.
JupyterHub: You can follow the JupyterHub documentation for setup instructions. By default, JupyterHub creates isolated environments for each user. To enable real-time collaboration on the same environment, you can follow this guide.
Binder: Check out this tutorial to start using Binder. Note that when you share the link with a collaborator, they will be asked to enter the password or token to access the session. You can find out the token by opening a terminal window and running the command
jupyter notebook list --json | python3 -c 'import json; import sys; print(json.load(sys.stdin)["token"])'
Note that if you have added JupyterGIS to the
requirements.txt
file, it will be installed automatically when you create the Binder instance. In this case you do not need to follow the installation guide.Amazon SageMaker AI: If you prefer to use Amazon SageMaker AI, you can follow this tutorial to set up your environment. After opening SageMaker Studio, create a JupyterLab space, and make sure choosing
Share with my domain
option to enable access for your collaborators.
Important
Note that currently, real-time collaboration is not supported in JupyterLite.