Commit Graph

53 Commits

Author SHA1 Message Date
Tom Kralidis 951a1fb486 implement OGC EDR API (#658)
* implement OGC EDR API
* add docs/tests
* fix tests
2021-03-15 17:37:40 +02:00
Tom Kralidis 2063c69872 add support for OpenAPI document as JSON (#657) 2021-03-12 16:47:01 -05:00
Tom Kralidis 4f5ae70a07 skip q parameter declaration if records 2021-02-21 19:45:41 -05:00
Tom Kralidis 9da53b0b76 update sortby parameter handling 2021-02-21 19:43:26 -05:00
Tom Kralidis 0c1d98e868 implement OGC API - Records (#404) (#631) 2021-02-18 17:56:23 -05:00
Richard Law 60202129ec implement processing manager (#365)
* 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>
2020-12-22 06:53:31 -05:00
Tom Kralidis c043405508 add support for propertyname and skipGeometry parameters (#51) (#565)
* add support for propertyname and skipGeometry parameters (#51)

* fix tests

* fix tests

* fix tests

* fix vars

* add tests
2020-11-02 10:07:37 +01: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 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
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 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
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
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
Tom Kralidis 89f8cafbb5 fix flake8 (#446) 2020-06-04 21:26:55 -04:00
Tom Kralidis 1d576fd752 fix OpenAPI generation (#428)
* fix OpenAPI generation

* fix
2020-04-27 11:15:04 -04:00
Tom Kralidis 3debd0c750 update configuration to be resource specific (#393) 2020-04-26 09:57:07 -04:00
Tom Kralidis 54732d26c9 implement queryables endpoint (#417)
* implement queryables endpoint

* fix tests now that CSV provider provides properties

* filter queryables if provider properties are set
2020-04-23 08:59:02 -04:00
Tom Kralidis c151579991 add STAC catalog functionality (#389)
* add STAC catalog functionality

* add example to config, add sample raster data

* fix tests
2020-04-12 12:08:17 -04:00
Richard Law 7f092e4cf9 openapi field type checking (#367) 2020-02-24 19:31:49 -05:00
Tom Kralidis 28593bd3fb fix OpenAPI parameter exposure (#355) 2020-01-31 09:45:20 -05:00
Tom Kralidis d0d7ed48da Implement configurable OGC schema locations (#347) 2020-01-20 14:56:04 -05:00
Richard Law 17ed14107d Add JSON-LD representations (#246)
* Changes to sample pygeopai-config.yml
- improved terms_of_service and contact.url for SEO
- fixes typo for contact.instructions

* whitespace

* dynamically embed JSON-LD representation in head

* json-led representation for root, collections, and collection

* updates sample configuration with metadata that won't cause JSON-LD validation issues

* adds support for feature-level JSON-LD representations of collections and items

* improves consistency between microdata and JSON-LD root metadata

* valid Dataset spatial; and better use of @id

* role →  instructions

* adds jsonld f param to open api definition

* working with new temporal extent interface

* removes comment

* identify and retain NIR/HTTP IDs rather than construct them with reference to pygeoapi

* don't pop a feature.properties id, to retain JSON-LD reference integrity

* add/update tests for inclusion of json-ld responses

* bug fixes

* fix bug where id was assumed to be string

* better url checking

* renames format variable to avoid reserved word

* removes top-level CRS in obs sample config

* add json-ld textMimeType for serverless

* adds flask-cors dependency to allow cors

* moves json-ld-requesting script to bottom of body

* corrects schema.org url

* fixes urls

* adds pyld dependency

* adds tests for json-ld representations (incomplete)

* more tests

* make pyld a dev requirement only

* linting

* changes from revision

* removes merge artifact
2019-12-19 08:33:42 -05:00
Tom Kralidis 61b1617d56 expose properties in OpenAPI based on configuration (#289) 2019-10-31 14:13:04 -04:00
Tom Kralidis 933950b099 move OpenAPI endpoint from /api to /openapi (#285) (#286) 2019-10-23 16:24:00 -04:00
Tom Kralidis 05ac393aaa update to canonical OAPIF schema locations (#276) 2019-10-16 12:28:58 -04:00
Tom Kralidis d449b9cece fix OpenAPI ref 2019-09-24 16:38:50 +00:00
Tom Kralidis 611dffcb6b OpenAPI and datetime updates (#244)
* support CRS in collections, refactor OpenAPI responses, update collections model

* add test for invalid format for /api
2019-09-24 10:14:36 -04:00
Tom Kralidis fe25a0c72f update endpoint query parameters (#235) (#242) 2019-09-21 16:10:56 +02:00
Tom Kralidis 4fc95e8f79 allow no processes to be defined (#136) (#139)
* allow no processes to be defined (#136)

* fix flake8

* update testing process existence

* fix another round of comments

* add test assertions
2019-09-21 10:01:21 +02:00
Tom Kralidis a757b4d964 fix server limit CITE conformance (A 4.4.10) 2019-06-25 21:44:56 -04:00
Just van den Broecke 2ec4b9b99b fix Issue #156 openapi (#157)
* upgrade and pin versions for swagger-ui

* fix time and featureId missing refs
2019-05-31 17:20:28 +02:00
Tom Kralidis 40818b1e98 add helper function for YAML parsing 2019-05-28 01:27:31 +00:00
Tom Kralidis 809b2cb94a misc fixes (#131)
* cite fixes

* fix HTML
2019-05-22 09:50:09 -04:00
Tom Kralidis f486f90a73 add example 2019-05-14 16:42:42 -04:00
Tom Kralidis 967dc180be fix ref 2019-05-14 16:00:45 -04:00
Tom Kralidis 6fc84758a0 fix ref 2019-05-06 12:42:57 +00:00
paul van genuchten 4121b7f697 as suggested in #94, rename feature.ID to feature.id (#96) 2019-05-06 07:07:18 -04:00
Tom Kralidis 2518d4b0a8 add processing framework (#84) 2019-03-05 06:36:43 -05:00
Tom Kralidis b774572c18 update OpenAPI definition 2019-02-20 00:32:43 +00:00
Tom Kralidis 01bcf8084b plugin refactor (#83) 2019-02-19 18:51:49 -05:00
Tom Kralidis fd761a967d fix OpenAPI data type errors 2019-02-19 01:03:17 +00:00
Tom Kralidis 00f8fb6ceb update subcommand names for click 7.0 changes 2018-10-02 16:07:29 +00:00
Tom Kralidis 325cd05e1b fix travis and ES (#37) 2018-04-29 08:20:59 -04:00
Tom Kralidis af5aa82e26 add properties support 2018-04-23 01:54:28 +00:00
Tom Kralidis 557a9e3480 implement bind configuration 2018-04-01 22:06:30 -04:00
Tom Kralidis e5ac635930 update API 2018-03-28 22:33:18 -04:00