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
examples
directory. - 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 (
-p
option) - Mount your
sqlite
subdirectory on the host machine in to the container (-v
option) - Set the
ADES_PLATFORM
environment variable to a supported environment (e.g.,K8s
,PBS
,Generic
) (-e
option). 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.