| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
See Workshop entry doc https://geopython.github.io/geopython-workshop.
The workshop uses Jupyter Notebooks. Jupyter is an interactive development environment suitable for documenting and reproducing workflows using live code.
As the installation of all dependencies on all platforms (Windows, Mac, Linux) can be quite involved and complex this workshop provides all components within a Docker Image.
In addition, geospatial web services like pygeoapi and pycsw in this workshop are provided by Docker images.
The core requirement is to have Docker and Docker Compose installed on the system. Once you have Docker and Docker Compose installed you will be able to install and run the workshop without any other dependencies.
Alternatively, if you're confident with Python development, you can run the notebook in a local Anaconda or Python environment. Read more about running locally
The Docker Images for this workshop are available on DockerHub. The name of the workshop Image is geopython/geopython-workshop[:latest]. Note that the Docker Images contain mainly all (Python) components/dependencies. The actual workshop content (data+notebooks) will be Docker-Volume-mounted. There is no need to build the Docker Image yourself (see below), except for testing and development.
All services are started using a Docker Compose file.
Linux, macOS, or WSL:
cd workshop
# start workshop
./geopython-workshop-ctl.sh start
# display URL and open in default web browser, if a browser does not open, then copy the url from the command output to your browser.
./geopython-workshop-ctl.sh url
# stop workshop
./geopython-workshop-ctl.sh stopWindows (PowerShell or Command Prompt):
cd workshop
.\win-geopython-workshop-ctl.bat start
.\win-geopython-workshop-ctl.bat url
.\win-geopython-workshop-ctl.bat stopWindows (PowerShell + bash):
cd workshop
# start workshop
bash ./geopython-workshop-ctl.sh start
# display URL and open in default web browser
bash ./geopython-workshop-ctl.sh url
# stop workshop
bash ./geopython-workshop-ctl.sh stopNB Jupyter notebook needs a token. The token is displayed in the jupyter container logs on startup:
http://127.0.0.1:8888/?token=<longtokenhexstring>.
As Docker Compose may run in background you can make logging output visible via docker logs --follow geopython-workshop-jupyter. Or in Docker Desktop UI, select the jupyter container to see its logs.
You may always build a Docker Image from this repo yourself, e.g. for bugfixing:
git clone https://github.com/geopython/geopython-workshop.git
cd geopython-workshop.git/workshop/jupyter
./build.shIf you're confident with Python development, consider to run the Jupyter notebook locally. The operations below require a anaconda or (micro)mamba environment.
# clone the workshop repository
git clone https://github.com/geopython/geopython-workshop.git
cd geopython-workshop/
# create virtual environment
micromamba create -n pyworkshop python=3.12 jupyterlab -y
micromamba activate pyworkshop
# install conda workshop requirements
micromamba install -n pyworkshop -c conda-forge gdal notebook
cd workshop/jupyter
# install python workshop requirements
pip3 install -r requirements.txt
cd content/notebooks
# Run the notebook, copy url (with token) to browser if browser does not open automatically
jupyter notebookTip: the simplest way to run the exercises is to open the Codespace in VS Code (the default when you launch a Codespace) and run the notebooks from the editor — select the Python kernel when prompted and run the cells. VS Code talks to the kernel directly, so you can skip the Jupyter token and port-8888 steps described below.
You can also use Github Codespaces after forking the repository:

You will need to run jupyter server list in the Terminal to get/copy your Jupyter token:

Then you can open port 8888 in the browser:

Paste in the token you copied above:

NOTE: Please consult GitHub Codespaces documentation for more information on personal GitHub accounts and free usage.
All bugs, enhancements and issues are managed on GitHub.
| Back | FazBrowse Home | New Git URL |