ProjectProvenanceReview - geopython/pygeoapi GitHub Wiki

Overview

This is the pygeoapi code providence review, covering issues raised for each module in the project during the OSGeo Incubation process. The goal here is to check the file headers (fill them in if needed) and confirm that the information is correct. The associated ticket is https://github.com/geopython/pygeoapi/issues/790

Code review

Code review is done as an automated process:

# find all code files
find . -type f -name "*.py"
# find all code files that do not have copyright assigned
find . -name "*.py" | xargs egrep -L -i -H '(.+)Copyright \(c\) 20.. (.+)'
# find all code files with code snippets which are lifted from elsewhere
find . -type f -name "*.py" | xargs egrep "\#.*http"
Key Definition
:grey_question: not checked yet
:question: check in progress
:question: :heavy_exclamation_mark: check is stuck, header or license requires developer attention
:white_check_mark: :heavy_check_mark: checked, all clear
:white_check_mark: :heavy_exclamation_mark: checked, warning (missing information)
:white_check_mark: :bangbang: checked, fix me! requires developer attention

A typical pygeoapi code header can be found in https://github.com/geopython/pygeoapi/blob/master/setup.py#L1-L28

Status File Comments
:white_check_mark: :heavy_check_mark: pygeoapi/l10n.py
:white_check_mark: :heavy_check_mark: pygeoapi/config.py
:white_check_mark: :heavy_check_mark: pygeoapi/log.py
:white_check_mark: :heavy_exclamation_mark: pygeoapi/util.py Contains magazine code (https://stackoverflow.com/a/55301129)
:white_check_mark: :heavy_check_mark: pygeoapi/openapi.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/csv_.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/tile.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/postgresql.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/mongo.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/base_edr.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/sensorthings.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/filesystem.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/xarray_.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/xarray_edr.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/sqlite.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/tinydb_.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/mvt.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/hateoas.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/ogr.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/rasterio_.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/geojson.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/elasticsearch_.py
:white_check_mark: :heavy_check_mark: pygeoapi/provider/base.py
:white_check_mark: :heavy_check_mark: pygeoapi/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/models/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/models/cql.py
:white_check_mark: :heavy_check_mark: pygeoapi/api.py
:white_check_mark: :heavy_check_mark: pygeoapi/linked_data.py
:white_check_mark: :heavy_check_mark: pygeoapi/formatter/csv_.py
:white_check_mark: :heavy_check_mark: pygeoapi/formatter/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/formatter/base.py
:white_check_mark: :heavy_check_mark: pygeoapi/plugin.py
:white_check_mark: :heavy_check_mark: pygeoapi/flask_app.py
:white_check_mark: :heavy_check_mark: pygeoapi/starlette_app.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/hello_world.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/manager/__init__.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/manager/tinydb_.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/manager/dummy.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/manager/base.py
:white_check_mark: :heavy_check_mark: pygeoapi/process/base.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_wfs_provider.py
:white_check_mark: :heavy_check_mark: tests/test_postgresql_provider.py
:white_check_mark: :heavy_check_mark: tests/test_xarray_zarr_provider.py
:white_check_mark: :heavy_check_mark: tests/test_l10n.py
:white_check_mark: :heavy_check_mark: tests/test_tinydb_manager_for_parallel_requests.py
:white_check_mark: :heavy_check_mark: tests/test_csv__formatter.py
:white_check_mark: :heavy_check_mark: tests/test_elasticsearch__provider.py
:white_check_mark: :heavy_check_mark: tests/util.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_sqlite_provider.py
:white_check_mark: :heavy_check_mark: tests/test_csv__provider.py
:white_check_mark: :heavy_check_mark: tests/load_es_data.py
:white_check_mark: :heavy_check_mark: tests/test_openapi.py
:white_check_mark: :heavy_check_mark: tests/load_sta_data.py
:white_check_mark: :heavy_check_mark: tests/test_tinydb_catalogue_provider.py
:white_check_mark: :heavy_check_mark: tests/__init__.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_gpkg_provider.py
:white_check_mark: :heavy_check_mark: tests/load_tinydb_records.py
:white_check_mark: :heavy_check_mark: tests/test_util.py
:white_check_mark: :heavy_check_mark: tests/test_geojson_provider.py
:white_check_mark: :heavy_check_mark: tests/test_filesystem_provider.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_shapefile_provider.py
:white_check_mark: :heavy_check_mark: tests/test_mongo_provider.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_csv_provider.py
:white_check_mark: :heavy_check_mark: tests/test_ogr_esrijson_provider.py
:white_check_mark: :heavy_check_mark: tests/test_config.py
:white_check_mark: :heavy_check_mark: tests/test_sqlite_geopackage_provider.py
:white_check_mark: :heavy_check_mark: tests/test_api.py
:white_check_mark: :heavy_check_mark: tests/test_xarray_netcdf_provider.py
:white_check_mark: :heavy_check_mark: tests/load_mongo_data.py
:white_check_mark: :heavy_check_mark: tests/test_rasterio_provider.py
:white_check_mark: :heavy_check_mark: tests/test_sensorthings_provider.py
:white_check_mark: :bangbang: aws-lambda/container/wsgi.py Missing source code header (fixed in https://github.com/geopython/pygeoapi/pull/948)
:white_check_mark: :heavy_check_mark: docs/source/conf.py
:white_check_mark: :heavy_check_mark: setup.py

Documentation review

Documentation is expected to be under a license such as Creative Commons by Attribution:

Data

This is the data we distribute, we want to ensure we have obtained permission. The priority is the data bundled with our application.

TODO: some files are not in the README.md

Copyright Holders

This is a list compiled through the Provenance Review, of all copyright holders listed in the source files. This list is of essentially everyone who would need to agree to relicense the project.

Copyright holder review is done as an automated process:

find . -name "*.py" | xargs egrep  -i -H '(.+)Copyright \(c\) 20.. (.+)' | awk -F: '{print $2}'| awk -F20.. '{print $2}'|sort -u

List as of 2022-07-28 (in alphabetical order):

  • 52°North Spatial Information Research GmbH
  • Benjamin Webb
  • Francesco Bartoli
  • GeoCat BV
  • Gregory Petrochenkov
  • Jorge Samuel Mendes de Jesus
  • Just van den Broecke
  • Matthew Perry
  • Timo Tuunanen
  • Tom Kralidis
  • Yves Choquette