Commit Graph

500 Commits

Author SHA1 Message Date
Tom Kralidis 2c567d25f7 fix conformance links (#558) 2020-10-22 09:54:29 -04:00
Tom Kralidis 1fa275b832 fix OGR WFS tests using MapServer demo (#552) 2020-10-14 06:57:54 -04:00
Tom Kralidis 671f4defe2 add datetime support in OACov (#556) 2020-10-11 19:22:57 -04:00
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