Skip to content

PygeoAPI upgrade 0.16.0 -> 0.20.0 - #29

Merged
jwallace94 merged 285 commits into
masterfrom
develop
Jun 19, 2025
Merged

PygeoAPI upgrade 0.16.0 -> 0.20.0#29
jwallace94 merged 285 commits into
masterfrom
develop

Conversation

@jwallace94

Copy link
Copy Markdown
Collaborator

Overview

Upgrades our PygeoAPI fork from the 0.16.0 base to 0.20.0. Some additional commits are made to keep GA customisations as desired or with respect to some new features that have been added.

Related issue / discussion

https://gajira.atlassian.net/browse/DAT-964

Additional information

Dependency policy (RFC2)

  • I have ensured that this PR meets RFC2 requirements

Updates to public demo

Contributions and licensing

(as per https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md#contributions-and-licensing)

  • I'd like to contribute [feature X|bugfix Y|docs|something else] to pygeoapi. I confirm that my contributions to pygeoapi will be compatible with the pygeoapi license guidelines at the time of contribution
  • I have already previously agreed to the pygeoapi Contributions and Licensing Guidelines

tomkralidis and others added 30 commits March 11, 2024 18:33
…#1596)

Fix bug when trying to process Elasticsearch CQL_JSON data on post_collection_items
Use method 'parse_raw' from v1 instead 'model_validate_json'
* Implement subscriber support for dummy manager

NOTE: In current main, the missing handling of this parameter always
leads to errors.
geopython#1597

* Update dummy.py

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
…les (geopython#1601)

- updated django collection_item_tiles method to call the get_collection_tiles_data api method
* Safely serialize configuration JSON

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

* Revert "Safely serialize configuration JSON"

This reverts commit 36feb06.

* Add test for datetime with Admin API

* Safely serialize configuration JSON

---------

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
* 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 geopython#1313

* backport of geopython#1313 fix

* backport of geopython#1585

* Flask: sanitize OGC schema pathing (geopython#1593)

* update release version

* switch back to dev

* backport of geopython#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 geopython#1598

* Remove test about format handling in endpoint

This is now handled outside of the endpoint function

* add docstring to base process manager (geopython#1603)

* backport of geopython#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 (geopython#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 (geopython#1605)

* Safely serialize configuration JSON

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

* Revert "Safely serialize configuration JSON"

This reverts commit 36feb06.

* Add test for datetime with Admin API

* Safely serialize configuration JSON

---------

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

* backport geopython#1611

* Also fix schema endpoint for django

Fix is analogous to e72d4ba

* 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>
* 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
* Bump pymongo from 3.10.1 to 4.6.3

Bumps [pymongo](https://github.com/mongodb/mongo-python-driver) from 3.10.1 to 4.6.3.
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](mongodb/mongo-python-driver@3.10.1...4.6.3)

---
updated-dependencies:
- dependency-name: pymongo
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* - replace map reduce by aggregation pipeline

* - fixed flake8 errors

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: doublebyte <doublebyte@hushmail.com>
Co-authored-by: Anne Ulrich <jengishchokusu@Annes-MacBook-Air.local>
* Addition of time filtering to postgresql.py provider.

* Consistency update: single quotes + filter renamed to datetime_filter.

* Update to datetime filter to use <= upper bound for consistency for CQL implementation.
doublebyte1 and others added 27 commits March 3, 2025 15:20
…be passed to Jinja (geopython#1950)

- showing the TMS endpoints on the landing page, only when fcm['tile'] exists
* Gracefully catch tile not found

* Fix flake8
* Support JSON-LD template for items

* Create `item_list.jsonld` template

Create `item_list.jsonld` template to backport current /items json-ld content offerings

* Reduce number of times templated geojsonld is serialized

* Add test for linked_data.py

* Use json serializer in test

* Run test in CI

* Add test for single item

* Use single quotes

* Fix flake8

* Use collection level template for GeoJSON-LD

* Un-nest JSON-LD context from resource config

* Respond to PR feedback

* Update test_linked_data.py

* Revert "Un-nest JSON-LD context from resource config"

This reverts commit 5b371b2.

* Update documentation
* Update openapi.py

* fix indentation

* fix flake
…chema link (geopython#1968)

According to Requirement 17 /req/returnables-and-receivables/op of OGC
API Features Part 5, the media type shall be application/schema+json.
XarrayEDRProvider was initializing XarrayProvider twice- once through the BaseEDRProvider due to MRO and once explicitly. this slowed down the initialization since the XarrayProvider was called twice (which causes all datasets to be lazy loaded twice).
@jwallace94
jwallace94 requested a review from tWangchen June 18, 2025 00:36
@jwallace94
jwallace94 merged commit 44407ec into master Jun 19, 2025
1 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.