Install
pygeoapi is easy to install on numerous environments. Whether you are a user, administrator or developer, below are multiple approaches to getting pygeoapi up and running depending on your requirements.
Requirements and dependencies
pygeoapi runs on Python 3.
Core dependencies are included as part of a given pygeoapi installation procedure. More specific requirements details are described below depending on the platform.
For developers and the truly impatient
python3 -m venv pygeoapi
cd pygeoapi
. bin/activate
git clone https://github.com/geopython/pygeoapi.git
cd pygeoapi
pip3 install --upgrade pip
pip3 install -r requirements.txt
python3 setup.py install
cp pygeoapi-config.yml example-config.yml
vi example-config.yml # edit as required
export PYGEOAPI_CONFIG=example-config.yml
export PYGEOAPI_OPENAPI=example-openapi.yml
pygeoapi openapi generate $PYGEOAPI_CONFIG > $PYGEOAPI_OPENAPI
pygeoapi serve
curl http://localhost:5000
pip
pip3 install pygeoapi
Docker
Using DockerHub
docker pull geopython/pygeoapi:latest
Using GitHub Container Registry
docker pull ghcr.io/geopython/pygeoapi:latest
Kubernetes
Note
If using the PostgreSQL feature provider it is recommended to set NGINX ingress affinity-mode to persistent; see the below ingress example.
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ${KUBE_NAMESPACE}
labels:
app: ${KUBE_NAMESPACE}
annotations:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/session-cookie-name: ${KUBE_NAMESPACE}
nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/affinity-mode: persistent
nginx.ingress.kubernetes.io/session-cookie-hash: sha1
spec:
ingressClassName: nginx
rules:
- host: ${APP_HOSTNAME}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: ${KUBE_NAMESPACE}
port:
number: ${CONTAINER_PORT}
Conda
conda install -c conda-forge pygeoapi
UbuntuGIS
apt-get install python3-pygeoapi
FreeBSD
pkg install py-pygeoapi
Summary
Congratulations! Whichever of the abovementioned methods you chose, you have successfully installed pygeoapi onto your system.