* - refactored mvt classes to support all implemented metadata formats, regardless of the provider
* - fixed formatting issues
* Implementing basic tile metadata methods
* Fixing yml models
* Adding additional format
* Fixing schema set on load
* Removing unused field from documentation
* Change method name to generic vendor
* Keeping extra metadata info for tippecanoe provider
* Fix flake validations error
---------
Co-authored-by: doublebyte <doublebyte@hushmail.com>
Swap LOGGER.error for LOGGER.exception so that details of an exception that occurs during process execution are logged including the traceback to make debugging easier.
This allows triggering errors from a processor with specific
http status code, ogc exception code and a custom message.
This is very useful the processor realizes that the input parameters
don't make sense or are not allowed, in which case it can supply a
descriptive error message and an http status code different from 500.
This api method did not have any tests until now.
This also contains a small fix: If no content type was requested,
then by default, the header specified the content type
`application/json`, whereas the content was actually html. Note that
this is rarely a problem because browsers do request html explicitly.
* render data viewing page for collections #1409
render data viewing page for STAC collections if there is no STAC item below.
* flake8
* flake8
* add additional check for collections
* render data viewing page for collections #1409
render data viewing page for STAC collections if there is no STAC item below.
* flake8
* flake8
* add additional check for collections
* Add step for checking docker image CVEs
* Add buildx command and path to Dockerfile
* Fix working directory
Fix working directory
Fix working directory
Fix working directory
* Use trivy action
Use trivy action
* Use github placeholder over custom variable
* Add a step in CI for CVEs scanning
* Move the check for vulnerabilities on its own workflow
* Clean the clone job and comment accepted risk
* Add a badge for vulnerabilities clearance in the readme
* #1389 added 1st draft
* fixed flake8 issues
* #1388 added formatable date and time
* 1st draf of docu
* #1389 added documentation for logfile rotation
* #1389 adjusted documentation for rotation
* Fix import order
* Add advanced logging config to schema
* Remove .vscode folder from .gitignore
* Move references to bottom of file in docs
* Use single quotes
* Restore original .gitignore
* Update configuration.rst
* Update log.py
* Update pygeoapi-config-0.x.yml
---------
Co-authored-by: L K <lucka.kadlecova@gmail.com>
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
* Add Admin API
- Create `admin.py` to serve as Admin API Core
- Create `flask_admin.py` to create flask blueprint for admin API
- Consolidate configuration getter
- Add Pathlib serializing
- Add docker example
* Add integration tests
- Amend admin example to allow writing to configuration. If FS is read only admin API does not work. Returns a 500 and logs `OSError: [Errno 30] Read-only file system: '/pygeoapi/local.config.yml' `
* Preserve env variables in configuration
* Use common accessor functions
- Use common configuration accessor methods for Django and Starlette
* GET returns raw config file
Return configuration with environment variables preserved on GET requests
* Safeguard env variables for root cfg view
"bind": {
"host": "localhost",
"port": "6000"
}
->
"bind": {
"host": "${HOST}",
"port": "${PORT}"
}
* Simplify admin HTML imports
- Use jinja recursion to expand the configuration
- Remove vue from templates
* Create admin API documentation
* Use render_item_value in admin template
* Add Admin API
- Create `admin.py` to serve as Admin API Core
- Create `flask_admin.py` to create flask blueprint for admin API
- Consolidate configuration getter
- Add Pathlib serializing
- Add docker example
* Update GitHub Actions deployment
* Update admin entrypoint
Update admin entrypoint to align with upstream pygeoapi implementation
* Make requested changes
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Amend test url
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Fix Admin CI tests
* Add PUT and PATCH for root configuration
- Add put and patch for root configuration
- Add CI tests for PUT and PATCH of root
* Update OpenAPI document wording
* Update entrypoint.sh
Replace tabs with spaces
* Remove unused step
Error from rebasing. Admin API tests are moved to their own job.
* Use jsonpatch
- Use debian supported packaging
- Use custom merge function
* Move test data location
* Create Starlette and Django app
- Fold flask_admin.py into flask_app.py
Co-Authored-By: Tom Kralidis <tomkralidis@gmail.com>
* Make requirements-admin.txt
Move admin dependencies to requirements-admin.txt
* Delete guiblock.html
* Update test count for STAC
Update expected test count for addt'l admin test data
* Relegate config warning to config.py
* Move admin tests out of example
* Delete admin docker example
* Update admin-api.rst
* Update pygeoapi-config-0.x.yml
* Update configuration.rst
* Update config.py
* Update admin.py
* Update admin.py
---------
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
* Use generic error handling in get_collection_item
* Use generic error handling in get_collection_items
* Allow specifying a user-facing message in ProviderGenericError
* ose generic error handling in more instances
* Use generic error handling in more instances
* Linting fixes
* - Refactor MVTProvider, to support subclassing
- Added provider for MVT Tippecanoe
* - fixed test configuration for the MVT tippecanoe provider
* - added MVT elastic provider
* - added documentation for mvt providers
- fixed formatting
* - removed tiles publishing from elastic provider example
- updated gitignore to ignore data folder from elastic example
* - added docker example for MVT-elastic backend provider
* - Added docker example for tippecanoe MVT provider
* - updated README of the docker examples section, to catch up with the provided examples.
* - renamed mvt-elastic and mvt-tippecanoe docker example folders.
* - renamed elastic and tippecanoe folders to lower case
* - fixed formatting issue
* - s/Mabox/Mapbox/
* - put plugin provider names in single line
* - renamed MVT provider base class to BaseMVTProvider.
* - added MVT base class
* - reviwed uppercase on .gitignore
- add folder to .gitignore
* - removed new line and brackets
* - removed redundant line with base class
---------
Co-authored-by: doublebyte1 <info@doublebyte.net>
* Added support for table synonyms
* Added new parameters to query and manipulator call
* Changed error types
* Mount volumes to oracle container
* workflow part 2
* workflow part 3
* workflow part 4
* Changed file permissions to 777
* Deleted folder
* Recreated folder
* Changed to official Oracle Docker-Image
* Added Chown user
* back to gvenzl/oracle-xe:latest
* Tried docker-entrypoint-startdb.d
* Added addnab/docker-run-action@v3
* Added port and deamon mode
* next try
* added job.container.network
* next try
* + docker ps
* next try
* using docker run
* next try
* next try
* Changed len of array to 11
* Use sdo_util.from_geojsonfor create and update
* Flake8 changes
* Fixed error with views
* Added crs_transform_spec support
* Without default_crs
* Updated documentation for Oracle Provider
* changes for flake8
* Added crs_transform_spec support to get function
* review changes
* Added configurable SDO operator
This now fixes the issue that the `Accept` header wasn't considered for
format selection.
This adds netcdf as a known mime type in order to be able to test this,
but also for actual clients to use.
Note that if we want to allow other mime types such as `application/x-grib2`,
we also have to add them to `FORMAT_TYPES`.
Fixes#1390
* Refactored get_collection_coverage tests
Using pytest's parametrize mark. This makes it easier to isolate test cases in order to fix the errors that are showing up when running under Python3.8
* Add Python 3.8 to the CI matrix
* Reverted tests back to non-parametrized form
* Dropped Python 3.7 from main github CI workflow
* replaced ubuntu 20.04 with ubuntu 22.04 in CI workflow files
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
* Refactored get_collection_coverage tests
Using pytest's parametrize mark. This makes it easier to isolate test cases in order to fix the errors that are showing up when running under Python3.8
* Refactor tests from test_api.py that were failing under Python 3.8
* Fix flake8 issues
* Add Python 3.8 to the CI matrix
* Replaced pandas usage with numpy for datetime
* Reverted tests back to non-parametrized form
* Dropped Python 3.7 from main github CI workflow
---------
Co-authored-by: Ricardo Garcia Silva <ricardo@kartoza.com>
* - added condition to avoid doing operations on the geometry, when the geometry is null (case of records)
* - moving id out of the geometry condition
* - removed commented line
---------
Co-authored-by: doublebyte1 <info@doublebyte.net>
* - on MVTilejson model, set default value on optional fields, so that they are not required.
* - fixed formatting (flake8)
* Update base.py
---------
Co-authored-by: doublebyte1 <info@doublebyte.net>
Co-authored-by: Francesco Bartoli <xbartolone@gmail.com>
* resolving case when lat dimensions are decreasing
CF conventions state only that a "coordinate variable must have values that are strictly monotonic (increasing or decreasing)." In the case of PRISM, the lat coordinates are decreasing. pygeoapi failed due to the lat dimension being empty with existing implementation; this update addresses the issue.
* remove blank space
* resolving case when lat dimensions are decreasing
CF conventions state only that a "coordinate variable must have values that are strictly monotonic (increasing or decreasing)." In the case of PRISM, the lat coordinates are decreasing. pygeoapi failed due to the lat dimension being empty with existing implementation; this update addresses the issue.
* remove blank space
* test decreasing latitude
The new test will now uncover if you can successfully serve data stored on S3 AND test if you can perform a cube query on data with monotonically decreasing latitude coordinates at the same time.
* flake8 py3 fixes