Commit Graph

497 Commits

Author SHA1 Message Date
Tom Kralidis 8a65087eef [WIP] refactor bbox and datetime for reuse by other APIs (#551)
* refactor bbox and datetime for reuse by other APIs

* update plugin query arguments

* test min/max and temporal
2020-10-10 16:02:23 -04:00
Tom Kralidis bf9de14bc7 Merge pull request #550 from tomkralidis/minor-fixes-2020-10-10 2020-10-10 10:56:03 -04:00
Tom Kralidis 3cffb7bfda remove unused pathinfo arg for coverages 2020-10-10 08:40:45 -04:00
Tom Kralidis 7812fda63e fix typos in docstrings 2020-10-10 08:40:21 -04:00
Tom Kralidis 9b43b3efa2 fix static folder pathing for blueprints 2020-10-08 17:25:28 -04:00
Tom Kralidis ae369ca77e Update zappa_settings.json
fix zappa config for AWS lambda
2020-10-06 13:22:07 -04:00
Tom Kralidis 6d1dcece0e app mount updates (#548)
* refactor WSGI mounting and add docs

* fix ref

* fix Starlette routing for OACov
2020-09-30 07:07:41 -04:00
Kevin Ngai 90ab772c7c Add templates config yml split into path and static (#523)
- updated configuration.rst doc for templates config
- added docs on HTML templating; dedicated page
- typo fix in configuration.rst
- added debug logging for templates path
- added static config in starlette_app.py
- flake8 fixes
2020-09-29 15:44:00 -04:00
Fabian Schindler 8fe060173a Using Blueprint/route list for flask/starlette (#539)
* Using Blueprint/route list for flask/starlette

* Fixing starlette route setup decorator

* Fixing flake8 linting issue
2020-09-29 12:57:08 -04:00
Just van den Broecke 50cdf4efad Fixes #545 and #547 - pin greenlet to 0.4.16
See also https://github.com/geopython/pygeoapi/issues/545#issuecomment-698999509 .
2020-09-29 11:24:03 +02:00
totycro 007cb64808 Improve docker image cache usage (#542)
Before, any file change in the repo would cause a reinstall of all
dependencies.

This commit splits the dockerfile in 2 phases:
First the files relevant for installation are added and all dependencies
are installed. Then the actual source code is added.

This way, rebuilding after sources have been changes takes a few seconds
rather than minutes.
2020-09-28 15:09:10 +02:00
totycro ad8c66d09a Improve signal handling in entry point (#544)
Currently gunicorn is started in the entrypoint as subprocess. This
means that the entrypoint stays as process with PID 1 and eats the
signals that e.g. kubernetes sends to it. Thus when trying to update
the container, kubernetes must terminate the process ungracefully.

See e.g. this resources for a more detailed explanation:
https://hynek.me/articles/docker-signals/

This change replaces the entrypoint-shellscript with gunicorn, such that
signals are directly forwarded to gunicorn, where they are then handled.

One drawback of this approach is that lines after `exec gunicorn` are
not executed anymore. This currently affects `echo "END /entrypoint.sh"`.

A different approach would be to use `tini` to handle the system (see
link above). To do this, we would need to install tini.
2020-09-28 10:43:38 +02:00
Gregory Petrochenkov 44992caab3 Add zarr to xarray provider (#546)
* Progress

* Add temp directory to zarr zip

* Update readme with zarr data info

* Remove numpy from util.py

* Review revisions

* Fix file system test
2020-09-24 18:02:15 -04:00
Tom Kralidis c579b6ddb2 fix failing test (#541) 2020-09-24 15:03:45 -04:00
Tom Kralidis 2ea8a5f6cb Misc fixes 2020 09 23 (#540)
* fix OACov output headers, safeguard coverage plugin loading

* fix ref, add query debug logging

* normalize mimetypes
2020-09-23 21:01:32 -04:00
Tom Kralidis f36e16d7e9 various fixes (#538)
* fix version output

* sort directory names

* unify tile tests

* fix typo in docs

* set OpenAPI info.version to pygeoapi version, add tiles output format

* align request/response headers, update not found tiles to return 404
2020-09-21 12:37:04 +02:00
Francesco Bartoli 4f52536051 Add tiles ogc api (#419)
* Add ogc api tiles implementation

* Add json response to tiles endpoint

* Return correct json payload

* Fix url generation

* Add vector tile layer with clickable items

* Fix typo

* Fix oafeat collection tiles link

* Add format to metadata link

* Fix almost all flake8 errors

* Fix metadata link

* Add routes to serving tiles

* Refactor tile implementation with an own module

* Add http client for mvt

* Fix visibility of tiles template

* Fix tiles in collection item page

* Change source to data coherently with stac provider

* Fix flake8 errors

* Fix test for conformance classes

* Fix flake8 errors


Fix flake8 errors

* Refactor to align with new configuration structure

* Fix MVT plugin name

* Add openapi tiles path and schemas

* Add ogc api tiles implementation

* Add json response to tiles endpoint

* Return correct json payload

* Fix url generation

* Add vector tile layer with clickable items

* Fix typo

* Fix oafeat collection tiles link

* Add format to metadata link

* Fix almost all flake8 errors

* Fix metadata link

* Add routes to serving tiles

* Refactor tile implementation with an own module

* Add http client for mvt

* Fix visibility of tiles template

* Fix tiles in collection item page

* Change source to data coherently with stac provider

* Fix flake8 errors

* Fix test for conformance classes

* Fix flake8 errors


Fix flake8 errors

* Refactor to align with new configuration structure

* Fix MVT plugin name

* Add openapi tiles path and schemas

* Fix flake errors

* Fix merge and tests

* Add test configuration and data for tiles

* Change mapbox vector tile provider name

* Fix provider inspection and filter

* Fix tiles rendering in collection page

* Add mimetype to the mvt provider

* Fix mimetype

* Rename functions accordingly to singular and plural forms

* Fix tiling schemes in tiles template

* Serve mvt through the pygeoapi route

* Refactor and add test for collection tiles

* Fix test for not being tiles

* Remove httpx dependency

* Fix missing comma

* Fix tests

* Fix flake8

* Add initial metadata implementation

* Fix route with preprocess

* Fix tiles template


Fix tiles template

* Complete tileset api and template

* Fix flake8

* Complete metadata with tilejson response

* Add support for local vector tiles

* Fix flake8

* Fix plugin tile object and provider name

* Add a todo comment

* testing alternate plugin setup, fix some HTML, add OpenAPI endpoint

* remove URI template

* add docs

* Fix failing test

* Fix flake8 error

Co-authored-by: Francesco Bartoli <francesco.bartoli@wfp.org>
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2020-09-20 09:50:40 -04:00
Tom Kralidis 029d8c85f7 support xarray single time dimensions (#531) 2020-09-15 17:21:47 -04:00
Tom Kralidis 2fb20c59f6 fix coverage query with no parameters (#528)
* fix file dump, update docs

* fix file dump, update docs

* fix file dump, update docs

* support data read by file or network
2020-09-11 15:19:11 -04:00
Tom Kralidis 4d2f229c88 fix rasterio driver output (#527)
* fix rasterio driver output

* fix rasterio driver output

* rename driver
2020-09-10 16:24:29 -04:00
Tom Kralidis daf9b19195 [WIP] various xarray updates (#526)
* various xarray updates

* fix ref

* add support non-numeric axis subsetting, HTTP 204 on no content

* add info on COADS test data
2020-09-10 10:36:51 -04:00
Gregory Petrochenkov 8cb34a587a implement xarray Coverage Provider (#525)
* add support for OGC API - Coverages

* fix coverage CRS ref

* fix ref to OACov schemas for testing

* Halfway progress

* Adjust rangeSubset

* Fixes regarding pr comments

* Version zarr

* Changing dependency order

* Remove zarr

* Add gpkg for tests

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2020-09-09 09:51:34 -04:00
alex-mathew 5e14929da3 Issue 499 : Fixing geojson provider (#522)
* moved id field to root in sample geojson provider files (geopython#499)

* modified geojson data provider to get id from root (geopython#499)

* updated geojson provider tests (geopython#499)

* updated position of id field (geopython#499)

* refactored code (geopython#499)

* refactored geojson provider (geopython#499)

* fixed geojson provider (geopython#499)
2020-08-27 10:00:38 -04:00
Angelos Tzotsos 8bf010cd7f Dropping Python 2 support from debian packages (#521) 2020-08-26 08:11:06 -04:00
alex-mathew 7ddcc9963c Issue 499 - Move id field back to properties and adjust logic to check id field in both root and properties (#515)
* moved id field to root in sample geojson provider files (geopython#499)

* modified geojson data provider to get id from root (geopython#499)

* updated geojson provider tests (geopython#499)

* updated position of id field (geopython#499)

* refactored code (geopython#499)

* refactored geojson provider (geopython#499)
2020-08-25 18:02:29 -04:00
Tom Kralidis 85939109b1 minor docs updates and test cleanups 2020-08-22 10:49:18 -04:00
Tom Kralidis 9cb4e8e961 fix docs 2020-08-21 10:04:03 -04:00
Tom Kralidis 6279ffbee1 fix docs 2020-08-21 10:00:52 -04:00
Tom Kralidis da824fba8f add support for OGC API - Coverages (#110) (#516)
* add support for OGC API - Coverages

* fix coverage CRS ref

* fix ref to OACov schemas for testing

* move spectral testing to after_success

* update docs

* add mask param to rasterio provider
2020-08-21 09:52:17 -04:00
Ian Edwards b98f8c2528 Corrections to docstrings for delete method in providers: mongo, geojson (and base) (#504) 2020-07-31 14:07:48 -04:00
alex-mathew 1a1dae6d8e Issue 499 - Moving id field of geojson providers to root (#501)
* moved id field to root in sample geojson provider files (geopython#499)

* modified geojson data provider to get id from root (geopython#499)

* updated geojson provider tests (geopython#499)
2020-07-31 06:58:55 -04:00
Jorge Samuel Mendes de Jesus 30a3c92924 Merge pull request #502 from tomkralidis/issue-403
update docs to clarify the status of each data provider (#403)
2020-07-29 15:43:20 +02:00
Tom Kralidis efc8492236 update docs to clarify the status of each data provider (#403) 2020-07-29 07:22:52 -04:00
Tom Kralidis fc4c6c9bef minor alignments (#498)
* minor alignments

* fix test

* fix test
2020-07-25 14:44:30 -04:00
Tom Kralidis 2af77a2dce only show STAC and OAProc endpoints if configured (#497) 2020-07-24 21:01:01 -04:00
Just van den Broecke d04cbd0e0d Change ProcessCollection to ProcessList in oapip schema ref (#494)
Should fix #493
2020-07-23 13:06:57 +02:00
Tom Kralidis 284bf96b90 reuse CSV file for tests (#492) 2020-07-22 12:27:20 -04:00
Tom Kralidis 7c72b21e66 remove not required condition 2020-07-14 19:43:27 -04:00
Tom Kralidis 3460567f1f small doc fix 2020-07-13 09:00:30 -04:00
Tom Kralidis 86afe73a9b minor cleanup of Flask/Starlette (#490) 2020-07-13 07:44:53 -04:00
Tom Kralidis 28157426f5 update providers to allow 1..n representations (#489) 2020-07-13 06:28:11 -04:00
Tom Kralidis 3938420dc2 fix raw output for OAProc (#487) 2020-07-12 22:39:18 +02:00
Tom Kralidis 64ab15891f Merge pull request #488 from francbartoli/issue-485
Fix response and schema for queryables in the openapi document
2020-07-11 12:58:50 -04:00
Francesco Bartoli 47dd578f2e Fix response and schema for queryables
Fix response and schema for queryables


Fix response and schema for queryables
2020-07-11 18:26:26 +02:00
Tom Kralidis aa18d94db4 Merge pull request #486 from tomkralidis/update-swagger
bump Swagger UI version
2020-07-09 19:37:35 -04:00
Tom Kralidis fc7fa918bb bump Swagger UI version 2020-07-09 18:29:39 -04:00
Tom Kralidis d2cbf48cd3 Merge pull request #480 from francbartoli/linting-openapi
Linting openapi
2020-07-02 17:25:08 -04:00
Francesco Bartoli 90a5751707 Align operationId names to ogc api examples 2020-07-02 17:37:12 +02:00
Francesco Bartoli 3ec0570274 Add spectral command to travis for linting the openapi document
Fix trailing slash in server url


Fix tag not declared in the root mapping key


Fix missing operationId


Add spectral command to travis for linting the openapi document
2020-07-02 17:26:18 +02:00
Francesco Bartoli 1d4536f3f1 Fix travis (#476)
* Fix csv ogr test

* Fix ogr wfs test from complex geojson
2020-06-30 14:41:47 -04:00