60202129ec
* add process manager * process manager updating * control connectivity from inside manager * missing method on execute_process function signature * adds tinydb depenedency for requirements-provider * adds some processes tests * process manager under server config, not a process * additional html rendering for jobs and processes * fixes typo in docstring * complete html templating for jobs and processes * considers timezone when formatting processing start/end datetimes * expanded locales; locale and tz environment variables * makes environment TZ a global from pygeoapi/__init__.py * don't redefine built-in format * adds placeholder values in process form if given as examples * placeholder in form handles null example * changes to process progress update * updates and changes to processing web UI * adds python3-distutils dep, and env changes for TZs and locales * adds tinydb dependency for processes * Adds libpq-dev and related deps for processing - should eventually be reconciled * minor margin change * fix bug in postJob.js that prevented results from displaying * move process elements around to economise on space * adds second, complex process * post data may be bytes * make external process example * adds redis process manager (may be moved to third-party plugin eventually) * reintroduce default async processing; refactoring managers; improving sync/async processing ui * throw pygeoapi ManagerExecuteError, not redis exception * adds test for async-execute * restores original test host * separates async execute handler function * adds support for file uploads as processing inputs * adds endpoint for file download as process output * naming consistency * Fix job submission form in case server url is relative (#549) `new URL()` fails if the first argument isn't a complete url * Implement job deletion in UI, api and tinydb * Also allow deletion from job list The UI could be fancier by reloading the page or just removing the deleted job right away, but I don't want to start building that now. * Delete output file when deleting a job * typo in test case * move delete button in job view * remove Dockerfile changes (cf #470) * removes some docs/source*.rst absent in master * fixes whitespace * fixes pip installs * removes more locale-specific content, cf 70 * fixes duplicate app following merge * removes redis as default plugin * removes ENV_TZ, cf #407 * fix typo * fixes syntax error * process execution test cleanup * Fix format detection in execute_process (#589) Before, html was always selected. * remove db files in code directories, fix flake8, specific functionality * remove interactive capabilities in lieu of Swagger * Add basic openapi documentation for job detail endpoint (#590) It's somewhat superficial still, e.g. jobId is missing as proper parameter in the UI. * Show elapsed time for currently running jobs (#591) * flake8, jobs workflow * update docs, DB path in test config * more code cleanup * manager workflow cleanup * add default dummy manager * update docs * fix routes * fixed per comments * fix per comments * fix per comments * fix travis * simply describe process logic * simplify describe process logic Co-authored-by: Tom Kralidis <tomkralidis@gmail.com> Co-authored-by: Jorge de Jesus <jorge.jesus@gmail.com> Co-authored-by: totycro <bernhard.mallinger@eox.at> Co-authored-by: Richard Law <richard.law@cartoncloud.com.au>
215 lines
6.9 KiB
YAML
215 lines
6.9 KiB
YAML
# =================================================================
|
|
#
|
|
# Authors: Tom Kralidis <tomkralidis@gmail.com>
|
|
#
|
|
# Copyright (c) 2020 Tom Kralidis
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person
|
|
# obtaining a copy of this software and associated documentation
|
|
# files (the "Software"), to deal in the Software without
|
|
# restriction, including without limitation the rights to use,
|
|
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the
|
|
# Software is furnished to do so, subject to the following
|
|
# conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be
|
|
# included in all copies or substantial portions of the Software.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
# OTHER DEALINGS IN THE SOFTWARE.
|
|
#
|
|
# =================================================================
|
|
|
|
server:
|
|
bind:
|
|
host: 0.0.0.0
|
|
port: 5000
|
|
url: http://localhost:5000
|
|
mimetype: application/json; charset=UTF-8
|
|
encoding: utf-8
|
|
language: en-US
|
|
# cors: true
|
|
pretty_print: true
|
|
limit: 10
|
|
# templates:
|
|
# path: /path/to/Jinja2/templates
|
|
# static: /path/to/static/folder # css/js/img
|
|
map:
|
|
url: https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png
|
|
attribution: '<a href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia maps</a> | Map data © <a href="https://openstreetmap.org/copyright">OpenStreetMap contributors</a>'
|
|
# manager:
|
|
# name: TinyDB
|
|
# connection: /tmp/pygeoapi-process-manager.db
|
|
# output_dir: /tmp/
|
|
# ogc_schemas_location: /opt/schemas.opengis.net
|
|
|
|
logging:
|
|
level: ERROR
|
|
#logfile: /tmp/pygeoapi.log
|
|
|
|
metadata:
|
|
identification:
|
|
title: pygeoapi default instance
|
|
description: pygeoapi provides an API to geospatial data
|
|
keywords:
|
|
- geospatial
|
|
- data
|
|
- api
|
|
keywords_type: theme
|
|
terms_of_service: https://creativecommons.org/licenses/by/4.0/
|
|
url: http://example.org
|
|
license:
|
|
name: CC-BY 4.0 license
|
|
url: https://creativecommons.org/licenses/by/4.0/
|
|
provider:
|
|
name: Organization Name
|
|
url: https://pygeoapi.io
|
|
contact:
|
|
name: Lastname, Firstname
|
|
position: Position Title
|
|
address: Mailing Address
|
|
city: City
|
|
stateorprovince: Administrative Area
|
|
postalcode: Zip or Postal Code
|
|
country: Country
|
|
phone: +xx-xxx-xxx-xxxx
|
|
fax: +xx-xxx-xxx-xxxx
|
|
email: you@example.org
|
|
url: Contact URL
|
|
hours: Mo-Fr 08:00-17:00
|
|
instructions: During hours of service. Off on weekends.
|
|
role: pointOfContact
|
|
|
|
resources:
|
|
obs:
|
|
type: collection
|
|
title: Observations
|
|
description: My cool observations
|
|
keywords:
|
|
- observations
|
|
- monitoring
|
|
context:
|
|
- datetime: https://schema.org/DateTime
|
|
- vocab: https://example.com/vocab#
|
|
stn_id: "vocab:stn_id"
|
|
value: "vocab:value"
|
|
links:
|
|
- type: text/csv
|
|
rel: canonical
|
|
title: data
|
|
href: https://github.com/mapserver/mapserver/blob/branch-7-0/msautotest/wxs/data/obs.csv
|
|
hreflang: en-US
|
|
- type: text/csv
|
|
rel: alternate
|
|
title: data
|
|
href: https://raw.githubusercontent.com/mapserver/mapserver/branch-7-0/msautotest/wxs/data/obs.csv
|
|
hreflang: en-US
|
|
extents:
|
|
spatial:
|
|
bbox: [-180,-90,180,90]
|
|
crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
|
|
temporal:
|
|
begin: 2000-10-30T18:24:39Z
|
|
end: 2007-10-30T08:57:29Z
|
|
providers:
|
|
- type: feature
|
|
name: CSV
|
|
data: tests/data/obs.csv
|
|
id_field: id
|
|
geometry:
|
|
x_field: long
|
|
y_field: lat
|
|
|
|
lakes:
|
|
type: collection
|
|
title: Large Lakes
|
|
description: lakes of the world, public domain
|
|
keywords:
|
|
- lakes
|
|
links:
|
|
- type: text/html
|
|
rel: canonical
|
|
title: information
|
|
href: http://www.naturalearthdata.com/
|
|
hreflang: en-US
|
|
extents:
|
|
spatial:
|
|
bbox: [-180,-90,180,90]
|
|
crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
|
|
temporal:
|
|
begin: 2011-11-11
|
|
end: null # or empty (either means open ended)
|
|
providers:
|
|
- type: feature
|
|
name: GeoJSON
|
|
data: tests/data/ne_110m_lakes.geojson
|
|
id_field: id
|
|
|
|
gdps-temperature:
|
|
type: collection
|
|
title: Global Deterministic Prediction System sample
|
|
description: Global Deterministic Prediction System sample
|
|
keywords:
|
|
- gdps
|
|
- global
|
|
extents:
|
|
spatial:
|
|
bbox: [-180,-90,180,90]
|
|
crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
|
|
links:
|
|
- type: text/html
|
|
rel: canonical
|
|
title: information
|
|
href: https://eccc-msc.github.io/open-data/msc-data/nwp_gdps/readme_gdps_en
|
|
hreflang: en-CA
|
|
providers:
|
|
- type: coverage
|
|
name: rasterio
|
|
data: tests/data/CMC_glb_TMP_TGL_2_latlon.15x.15_2020081000_P000.grib2
|
|
options:
|
|
DATA_ENCODING: COMPLEX_PACKING
|
|
format:
|
|
name: GRIB2
|
|
mimetype: application/x-grib2
|
|
|
|
test-data:
|
|
type: stac-collection
|
|
title: pygeoapi test data
|
|
description: pygeoapi test data
|
|
keywords:
|
|
- poi
|
|
- portugal
|
|
links:
|
|
- type: text/html
|
|
rel: canonical
|
|
title: information
|
|
href: https://github.com/geopython/pygeoapi/tree/master/tests/data
|
|
hreflang: en-US
|
|
extents:
|
|
spatial:
|
|
bbox: [-180,-90,180,90]
|
|
crs: http://www.opengis.net/def/crs/OGC/1.3/CRS84
|
|
providers:
|
|
- type: stac
|
|
name: FileSystem
|
|
data: tests/data
|
|
file_types:
|
|
- .gpkg
|
|
- .sqlite
|
|
- .csv
|
|
- .grib2
|
|
- .tif
|
|
- .shp
|
|
|
|
hello-world:
|
|
type: process
|
|
processor:
|
|
name: HelloWorld
|