Stub flask app that implements a subset of the OGC ADES/WPST specification.
This is an implementation of the OGC ADES/WPS-T specification: http://docs.opengeospatial.org/per/18-050r1.html#_wps_t_restjson
- Implements a subset of the OGC ADES/WPST specification.
- Can be run natively or inside a Docker container.
- Supports Flask as the underlying web framework.
- Provides example requests and sample responses for each WPS-T operation in the
examplesdirectory. - Allows exploration of available endpoints via Swagger UI.
- Can be tested using Postman as a client.
This guide provides a quick way to get started with our project. Please see our docs for a more comprehensive overview.
- Python
- Flask python module
- Docker (for containerized deployment)
- Clone the repo:
git clone https://github.com/unity-sds/ades_wpst.git - Navigate to the repo directory:
cd ades_wpst - Create a subdirectory for the SQLite database file:
mkdir sqlite
Install natively as a python module with:
python setup.py install
The Flask python module is required for installation.
If you want to build the Docker container locally, follow these steps:
- Be sure to follow the setup instructions first.
- Build your own local container:
docker build -t unity/ades-wpst-api:<tag> -f docker/Dockerfile .
- For active development (not releases) and frequent builds, use the following to version containers by datetime:
export DOCKER_TAG=$(date +"%d-%m-%yT%H.%M.%S")docker build -t unity/ades-wpst-api:$DOCKER_TAG -f docker/Dockerfile .
docker run -it -p 8000:5000 -v ${PWD}/sqlite:/flask_ades_wpst/sqlite -e "ADES_PLATFORM=HYSDS" unity/ades-wpst-api:$DOCKER_TAG
N/A
Be sure to follow the setup instructions first.
Run the Flask app server with:
python -m flask_ades_wpst.flask_wpst
Be sure to follow the steps in the "Get started" section above first.
To run as a Docker container, but sure to do the following in the docker run
command as shown in the example below:
- Map the Flask application server port to the host port (
-poption) - Mount your
sqlitesubdirectory on the host machine in to the container (-voption) - Set the
ADES_PLATFORMenvironment variable to a supported environment (e.g.,K8s,PBS,Generic) (-eoption). If no environment variable is set, the default isGeneric, which results in no additional actions being done on the host.
For prototype, don't specify the platform when running the docker container
docker run -it -p 8000:5000 -v ${PWD}/sqlite:/ades_wpst/sqlite unity/ades-wpst-api:<tag>
In the following, set the ADES_PLATFORM environment variable to the
appropriate setting for your platform (examples: K8s, PBS)
docker run -it -p 8000:5000 -v ${PWD}/sqlite:/ades_wpst/sqlite -e "ADES_PLATFORM=<platform>" unity/ades-wpst-api:<tag>
You can see the available endpoints by starting with the root endpoint and inspecting the links returned:
curl http://127.0.0.1:5000/
http://127.0.0.1:5000/api/docs#/

You can find the example requests and sample responses for each WPS-T operation in the examples directory.
To try out the WPS-T operations using Postman as a client,
You can import the collection under examples/postman_collection into the tool and run the requests.
Or you can download the collection: https://www.getpostman.com/collections/0686347f4f69157f07e3
To download Postman: postman.com/downloads/
See our CHANGELOG.md for a history of our changes.
See our releases page for our key versioned releases.
No questions yet. Propose a question to be added here by reaching out to our contributors! See support section below.
Interested in contributing to our project? Please see our: CONTRIBUTING.md
See our: LICENSE
Contact NamrataM for support.
