Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 29 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,15 @@ See Workshop entry doc https://geopython.github.io/geopython-workshop.

### Requirements

The workshop requires [Docker](https://docker.com)
and [Docker Compose](https://docs.docker.com/compose/) on your system
The workshop uses Jupyter Notebooks. [Jupyter](https://jupyter.org/) 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](#running-locally)

### Docker Images

Expand Down Expand Up @@ -55,8 +62,6 @@ bash ./geopython-workshop-ctl.sh url
bash ./geopython-workshop-ctl.sh stop
```



NB [Jupyter notebook](https://en.wikipedia.org/wiki/Project_Jupyter) needs a **token**. The token is displayed in the jupyter container logs on startup:

`http://127.0.0.1:8888/?token=<longtokenhexstring>`.
Expand All @@ -81,6 +86,26 @@ cd geopython-workshop.git/workshop/jupyter
- by default the web services pygeoapi and pycsw are not required for the regular workshop like FOSS4G
- if you use pygeoapi: there is an issue with MacOS Monterey where the port 5000 is already used and therefore conflicting with that one used by pygeoapi. If you are facing this error `OSError: [Errno 48] Address already in use` then your machine is affected. To overcome the issue you can disable the *Airplay Receiver* from `System Preferences->Sharing` of your MacOS (detailed description in this blog [post](https://progressstory.com/tech/port-5000-already-in-use-macos-monterey-issue/)).

### Running locally

If you're confident with Python development, consider to run the Jupyter notebook locally. The operations below require a [anaconda](https://www.anaconda.com/) or [(micro)mamba](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html) environment.

```bash
# 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
# Run the notebook, copy url (with token) to browser if browser does not open automatically
jupyter notebook
```

### Bugs and Issues

All bugs, enhancements and issues are managed
Expand Down
32 changes: 29 additions & 3 deletions web/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ able to install and run the workshop without any other dependencies.

More information on installing Docker can also be found [here](./docker.md).

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](#running-locally).
Or run the notebook in the cloud, using `Jupyter Binder`. [Read more about
running in binder](#run-notebook-in-the-cloud).

### Optional requirements

Users may optionally install [QGIS](https://qgis.org) as a GIS data viewer.
Expand Down Expand Up @@ -183,12 +188,33 @@ In that case you could also try `http://0.0.0.0:8888?token=<token>`.

There is an issue with MacOS Monterey where the port 5000 is already used and therefore conflicting with that one used by pygeoapi. If you are facing this error `OSError: [Errno 48] Address already in use` then your machine is affected. To overcome the issue you can disable the *Airplay Receiver* from `System Preferences->Sharing` of your MacOS (detailed description in this blog [post](https://progressstory.com/tech/port-5000-already-in-use-macos-monterey-issue/)).

## No Docker Installed?
## Running locally

If you're confident with python development, consider to run the Jupyter notebook locally. The operations below require a [anaconda](https://www.anaconda.com/) or [(micro)mamba](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html) environment.

```bash
# 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
# Run the notebook, copy URL (with token) to browser if browser does not open automatically
jupyter notebook
```

## Run notebook in the cloud

If you somehow were not able to install Docker:
there is a Cloud version of the Jupyter-Notebook-part of the workshop via "Jupyter Binder".
there is a Cloud version of the Jupyter-Notebook-part of the workshop,
available via [Jupyter Binder](https://jupyter.org/binder).

With some limits (e.g. no local geo-services, no data publication), you can follow most of the workshop using a remote Docker instance within your browser via "Jupyter Binder". Click on the button below
With some limits (e.g. no local geo-services, no data publication), you can follow most of the workshop using a remote Docker instance within your browser via `Jupyter Binder`. Click on the button below
to launch the Workshop Binder Instance. Startup takes a while, be patient...

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/geopython/geopython-workshop/master?filepath=workshop%2Fjupyter%2Fcontent%2Fnotebooks%2F01-introduction.ipynb)
Expand Down
2 changes: 2 additions & 0 deletions workshop/jupyter/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ ipyleaflet
pydeck
pygeometa # >0.7 removed by Just
matplotlib
fiona
rasterio
Loading