60202129ec
* 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>
53 lines
2.3 KiB
ReStructuredText
53 lines
2.3 KiB
ReStructuredText
.. _introduction:
|
|
|
|
Introduction
|
|
============
|
|
|
|
`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 <https://opensource.org>`_ and released under an MIT :ref:`license`.
|
|
|
|
Features
|
|
--------
|
|
|
|
- out of the box modern OGC API server
|
|
- certified OGC Compliant and Reference Implementation for OGC API - Features
|
|
- additionally implements OGC API - Coverages, OGC API - Tiles, OGC API - Processes and SpatioTemporal Asset Library
|
|
- out of the box data provider plugins for rasterio, GDAL/OGR, Elasticsearch, PostgreSQL/PostGIS
|
|
- easy to use OpenAPI / Swagger documentation for developers
|
|
- supports JSON, GeoJSON, HTML and CSV output
|
|
- supports data filtering by spatial, temporal or attribute queries
|
|
- easy to install: install a full implementation via ``pip`` or ``git``
|
|
- simple YAML configuration
|
|
- easy to deploy: via UbuntuGIS or the official Docker image
|
|
- flexible: built on a robust plugin framework to build custom data connections, formats and processes
|
|
- supports any Python web framework (included are Flask [default], Starlette)
|
|
- supports asynchronous processing and job management (OGC API - Processes)
|
|
|
|
Standards Support
|
|
-----------------
|
|
|
|
Standards are at the core of pygeoapi. Below is the project's standards support matrix.
|
|
|
|
- Implementing: implements standard (good)
|
|
- Compliant: conforms to OGC compliance requirements (great)
|
|
- Reference Implementation: provides a reference for the standard (awesome!)
|
|
|
|
.. csv-table::
|
|
:header: "Standard", "Support"
|
|
:align: left
|
|
:widths: 20, 20
|
|
|
|
`OGC API - Features`_,Reference Implementation
|
|
`OGC API - Coverages`_,Implementing
|
|
`OGC API - Tiles`_,Implementing
|
|
`OGC API - Processes`_,Implementing
|
|
`SpatioTemporal Asset Catalog`_,Implementing
|
|
|
|
|
|
.. _`pygeoapi`: https://pygeoapi.io
|
|
.. _`OGC API`: https://ogcapi.ogc.org
|
|
.. _`OGC API - Features`: https://www.ogc.org/standards/ogcapi-features
|
|
.. _`OGC API - Coverages`: https://github.com/opengeospatial/ogc_api_coverages
|
|
.. _`OGC API - Tiles`: https://github.com/opengeospatial/OGC-API-Tiles
|
|
.. _`OGC API - Processes`: https://github.com/opengeospatial/wps-rest-binding
|
|
.. _`SpatioTemporal Asset Catalog`: https://stacspec.org
|