Commit Graph

244 Commits

Author SHA1 Message Date
Colin Henderson e736fa3b2f Custom esri token service (#1813)
* Added ability for self-hosted token service to be specified.

* Update documentation to show the available parameters

* Update pygeoapi/provider/esri.py

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* Update pygeoapi/provider/esri.py

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* Update pygeoapi/provider/esri.py

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* Update pygeoapi/provider/esri.py

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* Update pygeoapi/provider/esri.py

* Update ogcapi-features.rst

---------

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2024-10-01 10:53:39 -04:00
Angelos Tzotsos b3a70719a2 back to dev 2024-09-27 20:39:45 +03:00
Angelos Tzotsos 83ef1ac174 update release version 2024-09-27 20:15:05 +03:00
Tom Kralidis 52bec0fa89 docs: update compliance for OGC API - Processes (#1817)
* Update compliance for OGC API - Processes

* Update introduction.rst
2024-09-21 20:19:43 +02:00
Sarah Jordan 6682b44928 CRS handling in xarray provider properties (#1641)
* update crs handling

* fix epsg code

* config parsing, lean on pyproj

* consolidate code and leverage prior crs work

* update crs handling

* fix epsg code

* config parsing, lean on pyproj

* consolidate code and leverage prior crs work

* fix function call

* bug and flake8 fixes

* documentation updates

* flake8

* Update ogcapi-coverages.rst

* update crs handling

* fix epsg code

* config parsing, lean on pyproj

* consolidate code and leverage prior crs work

* update crs handling

* fix epsg code

* config parsing, lean on pyproj

* consolidate code and leverage prior crs work

* fix function call

* bug and flake8 fixes

* documentation updates

* flake8

* Update ogcapi-coverages.rst

* flake8 fix

* rebase issues

* update import formatting

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* update conditional logic

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* update error handling

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>

* parse storage crs in init

---------

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>
2024-09-12 12:22:25 -04:00
Simon Seyock 28618034b8 feat: add version parameter to WMSFacade provider (#1806) 2024-09-11 12:24:26 -04:00
PascalLike 08876b5843 Fix indentation in yaml example (#1794) 2024-08-20 06:41:12 -04:00
Leo Ghignone 54b9be4463 Pyarrow parquet provider (#1722)
* Pyarrow parquet provider

* Defer crs management to pygeoapi

* Add parquet provider docs

* Fix flake8 errors

* Remove extra .parquet

* Address reviews
2024-08-18 22:39:53 -04:00
Tom Kralidis c1b90dc3ac update basemap URL across all configurations (#1777) (#1778)
* update basemap URL across all configurations (#1777)

* update basemap URL across all configurations (#1777)
2024-08-09 09:56:02 -04:00
Moritz Langer d1dfa179b3 Add Wallet for Session pool connections in oracle.py (#1768)
* Added Wallet to Connection Pool

* Flake8 changes

* Flake8 changes

* Feedback from Pull Request

* Flake8
2024-07-31 11:04:02 -04:00
Tom Kralidis a806f89a31 add installation note about Python version support (#1644) (#1760) 2024-07-27 07:50:17 -04:00
Benjamin Webb b712cb2695 Fix typo in docs (#1762)
* Fix typo in docs

* Fix doc x/y fields
2024-07-25 14:06:51 -04:00
francescoingv b8dcf6a885 Fixed typo (#1763) 2024-07-25 12:20:08 -04:00
Tom Kralidis af8483a25b OAProc: handle binary data when response: document (#1285) (#1756) 2024-07-24 14:58:27 -04:00
Benjamin Webb 31480af845 Use consistent get_field ref in providers (#1727)
* Use consistent get_field ref in providers

* Fix flake8

* Update remaining providers

* Fix recursive call

* Fix recursive call

* Fix tinydb_.py

* Refresh TinyDB catalog fields

* s/self.fields_/self._fields/g

* Update BaseProvider.fields based on feedback

* Fix flake8
2024-07-22 17:58:06 -04:00
Vincent Privat e2676bdc56 Document PostgreSQL process manager (#1746)
* Document PostgreSQL process manager

* Update ogcapi-processes.rst

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2024-07-22 16:59:11 -04:00
Benjamin Webb 274646b6ae Add TRS to pygeoapi config schema (#1743)
* Add TRS to pygeoapi config schema

* Update configuration.rst

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2024-07-21 11:05:56 -04:00
Benjamin Webb 533151831c Add CRS transform to remaining providers (#1729)
* Add CRS transform to remaining providers

* Update tinydb_.py

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2024-07-16 12:42:33 -04:00
Tom Kralidis d9adbbd817 add support for TinyDB feature provider (#1724)
* add support for TinyDB as a feature provider (#1723)

* add tests

* update CITE setup

* add/update docs

* update sample CITE config

* update copyright year

* reorder imports

* fix formatting

* delineate features/records via overloading

* remove now unused test data

* move CITE data to tests/data

* fix ref

* remove HYDAT from GitHub Actions

* remove print statement
2024-07-16 11:40:50 -04:00
Colton Loftus 5e48308ba2 Fix typo in ogcapi-processes.rst (#1715) 2024-07-08 02:47:20 -04:00
Tom Kralidis afd29f28d8 docs: add section on security (#1712) 2024-07-05 11:38:38 +02:00
Angelos Tzotsos 11b9480204 switch back to dev 2024-07-04 11:50:48 +03:00
Angelos Tzotsos 2575c03aa5 update release version 2024-07-04 11:29:45 +03:00
Colton Loftus bcc5b79c9f Fix bullet points in docs (#1709) 2024-07-04 02:21:16 -04:00
Vincent Privat cbab803c0d Fix typos (#1701) 2024-07-02 02:28:13 -04:00
Vincent Privat accb8199db Add missing backslash in documentation (#1700) 2024-06-28 06:12:06 -04:00
Tom Kralidis 0ee956bc0c docs: update as Reference Implementation for OGC API - Tiles 2024-06-24 06:29:17 -04:00
Moritz Langer c607be7ed2 Oracle Connection Pooling implementation of issues/1655 (#1688)
* Implemented Connection Pooling

First part of collection pooling, improve by making pool size and other params configurable in YAML file of pygeoapi

* updated session pooling with more robust creation of dsn

* Further changes for releasing connections

* further little tweaks

* Added Thread Lock and building of DSN

* Session Pooling now only happens when ENV VAR ORACLE_POOL_MIN and ORACLE_POOL_MAX are set. Else usual behaviour is restored and single connections are opened and closed. Added a Lock for avoiding race conditions and threat safety.

* Flake8 changes

* More Flake8

* Added integer type to env variables

* Added Tests for Session Pooling

* Flake 8 changes for tests

* More Flake8 fun

* Fixed typo for env vars

* Fixed typo for env var and added noqa for variables

* More Typos

* More Flake8

* Added documentation to the oracle section for session pooling

* Review and Feedback with @totycro

* Update oracle.py

Added Author

* Added feedback from review

---------

Co-authored-by: root <root@els01entw.ama.at>
Co-authored-by: xlanger <moritz.langer@ama.gv.at>
2024-06-21 07:15:34 -04:00
Tom Kralidis 01e1b6bcd8 CI: split docs into separate GitHub Action (#1660) 2024-05-17 09:24:41 +02:00
Tom Kralidis 6c31a8e371 docs: point to combined plugins and themes wiki page (#1659) 2024-05-14 21:49:49 -04:00
Jo 737b1bdb1c Retrieve properties from elasticsearch on get tile request (#1646) 2024-05-10 18:07:01 -04:00
Tom Kralidis 21b8672bb8 fix missing Django processes endpoints (#1592) (#1627) 2024-04-14 17:14:09 -04:00
Tom Kralidis 8a6f85465a minor Shapely functions doc updates 2024-04-11 07:16:29 -04:00
Emmanuel Jolaiya 41c3f6a284 Shapely functions as sample process (#1565)
* fixed bug with breadcrumb routes

* removed example files in commit

* feat:implemented shapely functions process

* Delete example-openapi.yml

* Delete example-config.yml

* fixed linting bug

* fixed flake8 errors

* added initial docs

* adding codeblocks to docs

* Added vscode to gitignore

* syncing with master

* reversed docs. Added success subscriber

* fixed bug in docs

* addressed pr reviews

* addressed pr review issues

* unstaged tilematrixset.html

* unstaged pre-commit and fixed typo in shapely

* unstaged .gitignore

* unstaged pygeoapi-config.yml
2024-04-11 07:09:55 -04:00
Bernhard Mallinger 35bdcb6f02 Proposal to split api.py into different files (#1405)
* Move api to subdirectory

* Move processes api to own file

* Adapt processes view methods

* Move openapi definition to processes api

* Use processes api in flask

* Linter

* Fix import issues

* Allow calling refactored views from starlette

* Allow calling refactored views from django

* Linter

* Move edr api to own file

* Adapt edr api to new style

* Fix typo in django views

* Move maps api to own file

* Adapt maps api to new style

* Move edr openapi to edr api file

* Move maps openapi to maps api file

* Move stac views to own file

* Refactor stac views to new file

* Move stac openapi to stac api file

* Move tiles api to own file

* Adapt tiles api to new style

* Also move tilematrixset to tiles api

* Adapt tilesetmatrix views to new style

NOTE: I had to remove one tilematrixsets test because
it tested that an invalid format would produce an error.
This now happens by default for all views, but the actual
code is outside of the endpoint function.

* update features, records, coverages

* update release version

* switch back to dev

* backport of #1313

* backport of #1313 fix

* backport of #1585

* Flask: sanitize OGC schema pathing (#1593)

* update release version

* switch back to dev

* backport of #1596

* Port test_gzip_csv test

Note that apply_gzip is now called by the web framework adapters,
so to test it in general, we have to call it in the test manually

* Add empty conformance class list to stac api

* Fix queryables call in starlette

* fix ref

* Unify request validity checking

The default case is handled by the web framework adapters. If custom
format handling is required, the check in the adapter must be skipped.

* Fix imports in django views

* backport #1598

* Remove test about format handling in endpoint

This is now handled outside of the endpoint function

* add docstring to base process manager (#1603)

* backport of #1601

* Port api ogr tests to new style

* Move processes tests to own file

* Run api tests from new dir in CI

* Move edr tests to own file

* Move maps tests to own file

* Move tiles tests to own file

* Actually hide hidden layers in openapi

* 1600 allow providing default value in config (#1604)

* move coverages tests to own file

* move itemtypes to own file, move core into init test

* fix OpenAPI output

* update tests

* add missing descriptions to OpenAPI admin responses

* update tests

* fix tests autodiscovery

* remove unused logging in tests

* address PR comments

* test with xarray 2024.2.0

* remove unneeded file

* safeguard xarray error

* unpin xarray

* fix OpenAPI generation

* fix schema endpoint in Flask and Starlette

* Safely serialize configuration JSON (#1605)

* Safely serialize configuration JSON

Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>

* Revert "Safely serialize configuration JSON"

This reverts commit 36feb067ee6f87e61955852dc48994f075806370.

* Add test for datetime with Admin API

* Safely serialize configuration JSON

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>

* backport #1611

* Also fix schema endpoint for django

Fix is analogous to e72d4ba3a5ba3b8621ca839e7814429beeeb8f01

* address additional PR comments

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
Co-authored-by: Angelos Tzotsos <gcpp.kalxas@gmail.com>
Co-authored-by: Ricardo Garcia Silva <ricardo.garcia.silva@gmail.com>
Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>
2024-04-05 06:06:25 -04:00
Ricardo Garcia Silva 2abb943d32 1600 allow providing default value in config (#1604) 2024-03-22 17:47:39 -04:00
Angelos Tzotsos 6171597fb9 switch back to dev 2024-03-13 11:16:17 +02:00
Angelos Tzotsos 0ce2219fec update release version 2024-03-13 11:01:14 +02:00
Tom Kralidis d8a1b741ed OpenAPI: skip failing collections (#1577) (#1585) 2024-03-11 18:33:52 -04:00
Angelos Tzotsos d128d5273b switch back to dev 2024-03-11 13:46:23 +02:00
Bernhard Mallinger 94ae782b6c ogc api processes subscriber (#1313)
* Exclude None from `get_processor` return type annotation

An exception is raised in case of error, so it can't ever return None

* Add support for OGC API Processes Subscriber

The subscription URLs are passed to the manager, which
then has to call them appropriately.

By default, managers have the attribute `supports_subscribing`
set to `False` in order to not break the API for these. The
subscriptions are only passed to if this is set to `True`

* Add ogc api callback class to conformance

https://docs.ogc.org/is/18-062r2/18-062r2.html#toc67

* Make successUri mandatory in subscriber

It's mandatory in the standard.

Thx @ricardogsilva !

* Use snake case in python for fields which are camel case in the api

Thx @ricardogsilva !

* Add subscriber to method docstring

* Provide default value for subscriber for managers not supporting it

Thanks @ricardogsilva !

* Factor out notification call into methods

This increases reusability by other managers

Thanks @ricardogsilva !

* Add an example call for a process subscriber

* Change test urls to valid urls

* Third party imports in own block
2024-03-11 07:16:28 -04:00
Angelos Tzotsos ab4fe09192 update release version 2024-03-11 13:01:33 +02:00
Tom Kralidis 54688969b0 update GitHub Actions/CI to Python 3.10 (#1543) (#1586) 2024-03-10 13:23:52 +02:00
Tom Kralidis 5accd7f190 OGC API - Processes CITE compliance (#1311)
* update OGC API - Processes CITE compliance
2024-03-06 17:37:12 +02:00
Bernhard Mallinger 8d377072b9 Allow retrieving extra properties in oracle provider (#1544)
* Implement extra_properties in oracle Provider

These can be used to configure additional database-computed fields
in the config file which are returned on `get` and `query` calls

* Allow mandating properties which are not part of the output

Previously, properties which were not requested for the output
were not part of `fields`, which means that they were not passed
in to the provider as filter properties for e.g. `query()`.

This commit adds them there and introduces a new variable
`filtered_fields`, which is used for limiting the output of queries.

There is also some minor refactoring, but the existing and also the
newly written tests should avoid regressions.

* Restore previous behavior for default arguments
2024-03-06 10:24:51 -05:00
Jo b6bf0a72b2 - updated emoji to something more readable (#1571) 2024-03-02 13:31:21 -05:00
Tom Kralidis 80b7a0c48c clean up API docs, move plugins to wiki (#1572) 2024-03-02 17:44:10 +00:00
Jo 74f4772a63 Make tiling scheme parameter optional (#1566)
* - Remove the need to define a tiling scheme in the configuration, for providers that support only one scheme
- Support only WebMercatorQuad for  mvt-elastic tiles

* - updated documentation for MVT-elastic provider

* - remove the need of a tiling scheme option in MVT-tippecanoe provider

* - updated tiles documentation with support to tiling-schemes

* - fixed regression bug with coordinate order on vector tile preview

* - add working url for wmts-facade code snippet

* - fixed flake8 example
2024-03-01 11:03:50 -05:00
Simon Seyock 5764d3b926 WMTS Provider (#1473)
* feat: add WMTSFacadeProvider

* feat: add tileset metadata to tile page

* feat: add jpeg format

* fix: minor adjustments

* fix: remove tms_facade

* chore: fix flake8 errors

* docs: add docs for publishing with the WMTS provider

* docs: spelling

* fix: adjust metadata_format for WMTSFacade

* fix: address review

* fix: use mimetype as link type
2024-03-01 08:42:38 -05:00
PascalLike a640f7c487 PostGIS MVT provider and docs (#1552)
* Adding mvt Postgis provider

* Fix test

* Update docs

* Rename mvt_postgis to mvt_proxy

* Update ogcapi-tiles.rst

* Update mvt_proxy.py

* Remove not implemented method

* Fix typo

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2024-02-27 14:56:02 -05:00