1de0439e2d
* new file: docker/Dockerfile Dockerfile for pygeoapi * modified: pygeoapi/provider/__init__.py new file: tests/data/ne_110m_lakes.sqlite new file: tests/json_marshmallow.py new file: tests/test_sqlite_provider.py Sqlit implementation and testing marshmallows * new file: provider/sqlite.py new file: provider/tmp_parser.py Sqlite provider * Testing sqlalchemy * query for sqlite3 * Countries dataset, message in assert * yml config * table in data link and query implemented without limit * PR of refactor * functional sqlite3 driver * flake8 * pipreq for complete list of requirements * updated readme with working examples, extra requirements * typos, SQLite removed Dockerfile and ne_100m_lakes.sqlite * update requirements * pypandoc in requirements-dev.txt
1.3 KiB
1.3 KiB
pygeoapi
pygeoapi provides an API to geospatial data
Installation
virtualenv -p python pygeoapi
cd pygeoapi
. bin/activate
git clone https://github.com/geopython/pygeoapi.git
cd pygeoapi
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -e .
cp pygeoapi-config.yml local.config.yml
vi local.config.yml
# TODO: what is most important to edit?
export PYGEOAPI_CONFIG=/path/to/local.config.yml
# generate OpenAPI Document
pygeoapi generate_openapi_document -c local.config.yml > openapi.yml
export PYGEOAPI_OPENAPI=/path/to/openapi.yml
pygeoapi serve
Example requests
Try the swagger ui at http://localhost:5000/ui
or
# feature collection metadata
curl http://localhost:5000/
# conformance
curl http://localhost:5000/conformance
# feature collection
curl http://localhost:5000/collections/countries
# feature collection limit 100
curl http://localhost:5000/collections/countries/items?limit=100
# feature
curl http://localhost:5000/collections/countries/items/1
# nummer of hits
curl http://localhost:5000/collections/countries/items?resulttype=hits
Testing against Swagger UI
docker pull swaggerapi/swagger-ui
docker run -p 80:8080 swaggerapi/swagger-ui
# go to http://localhost
# enter http://localhost:5000/api and click 'Explore'