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:
- Docs are in https://github.com/geopython/pygeoapi/tree/master/docs
- under licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) License: https://github.com/geopython/pygeoapi/blob/master/docs/source/conf.py#L100
Data
This is the data we distribute, we want to ensure we have obtained permission. The priority is the data bundled with our application.
- Data is at https://github.com/geopython/pygeoapi/tree/master/tests/data
- Data sources are documented at https://github.com/geopython/pygeoapi/tree/master/tests/data/README.md
- Data is scoped to regression testing
- Data is not bundled or distributed with the 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