pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.
The parameter outputs is passed to the Manager, which in turn pass it to the Processor,
subject to the Processor being declared to support the parameter.
The conditional parameter passing to the Processor grant backward compatibility for already developed Processors.
This PR has a breaking signature in BaseManager.execute_process()
If needed, an additional PR could be made to have backward compatibility:
adding a supports_output property to the Manager and handling it as required (currently not in place as I think it may set a maintenance issue).
The backward compatibility of the Processor is given by a supports_outputs property of the BaseProcessor,
by default set to True.
To check the compatibility, the example processor HelloWorld has supports_outputs=True,
while EchoProcessor follow the old signature.
I think an error 501 should be raised on receiving the parameter outputs, and not having the Processor handling it.
Dependency policy (RFC2)
[X] I have ensured that this PR meets RFC2 requirements
[X] 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
[X] I have already previously agreed to the pygeoapi Contributions and Licensing Guidelines
Overview
The parameter
outputs
is passed to the Manager, which in turn pass it to the Processor, subject to the Processor being declared to support the parameter.The conditional parameter passing to the Processor grant backward compatibility for already developed Processors.
Related Issue / discussion
Solve https://github.com/geopython/pygeoapi/issues/1420, Subset https://github.com/geopython/pygeoapi/issues/1285
Additional information
This PR has a breaking signature in
BaseManager.execute_process()
If needed, an additional PR could be made to have backward compatibility: adding asupports_output
property to the Manager and handling it as required (currently not in place as I think it may set a maintenance issue).The backward compatibility of the Processor is given by a
supports_outputs
property of the BaseProcessor, by default set toTrue
. To check the compatibility, the example processorHelloWorld
hassupports_outputs=True
, whileEchoProcessor
follow the old signature.I think an error 501 should be raised on receiving the parameter outputs, and not having the Processor handling it.
Dependency policy (RFC2)
Updates to public demo
Contributions and licensing
(as per https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md#contributions-and-licensing)