{"library":"pygeoapi","title":"pygeoapi","description":"pygeoapi is a Python server implementation of the OGC API suite of standards. It enables organizations to deploy RESTful OGC API endpoints using OpenAPI, GeoJSON, and HTML. The current version is 0.23.2, with releases happening roughly every 2-3 months.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pygeoapi"],"cli":{"name":"pygeoapi","version":"pygeoapi, version 0.21.0"}},"imports":["from pygeoapi.provider.base import BaseProvider","from pygeoapi.api import API"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport yaml\n\n# Define a minimal pygeoapi configuration\nconfig_content = {\n    'server': {\n        'bind': {'host': '0.0.0.0', 'port': 5000},\n        'url': 'http://localhost:5000/',\n        'pretty_print': True\n    },\n    'logging': {\n        'level': 'DEBUG'\n    },\n    'metadata': {\n        'identification': {\n            'title': 'My pygeoapi instance',\n            'abstract': 'A minimal pygeoapi setup.',\n            'keywords': ['geospatial', 'API', 'OGC'],\n            'license': {'url': 'https://creativecommons.org/licenses/by/4.0/'}\n        },\n        'provider': {\n            'name': 'pygeoapi',\n            'url': 'https://pygeoapi.io/'\n        }\n    },\n    'resources': {\n        # Add sample data as needed. E.g., a GeoJSON file\n        # 'data': {\n        #     'type': 'collection',\n        #     'title': 'Sample GeoJSON Data',\n        #     'description': 'A sample collection from a GeoJSON file.',\n        #     'keywords': ['geojson', 'sample'],\n        #     'extents': {\n        #         'spatial': {'bbox': [-180, -90, 180, 90]},\n        #         'temporal': {'interval': ['1900-01-01T00:00:00Z', '2099-12-31T23:59:59Z']}\n        #     },\n        #     'provider': {\n        #         'type': 'feature',\n        #         'name': 'GeoJSON',\n        #         'data': 'path/to/your/data.geojson'\n        #     }\n        # }\n    }\n}\n\nconfig_file_path = 'pygeoapi-config.yml'\nopenapi_file_path = 'pygeoapi-openapi.yml'\n\nwith open(config_file_path, 'w') as f:\n    yaml.dump(config_content, f, sort_keys=False)\n\nprint(f\"Generated minimal configuration file: {config_file_path}\")\nprint(f\"\\nTo run pygeoapi:\")\nprint(f\"1. Set the configuration environment variable: \")\nprint(f\"   export PYGEOAPI_CONFIG={config_file_path}\")\nprint(f\"2. Generate the OpenAPI document (required for server startup):\")\nprint(f\"   pygeoapi openapi generate $PYGEOAPI_CONFIG --output-file {openapi_file_path}\")\nprint(f\"3. Set the OpenAPI environment variable: \")\nprint(f\"   export PYGEOAPI_OPENAPI={openapi_file_path}\")\nprint(f\"4. Start the server:\")\nprint(f\"   pygeoapi serve\")\nprint(f\"\\nAccess your pygeoapi instance at http://localhost:5000 in your browser.\")\n","lang":"python","description":"This quickstart generates a basic `pygeoapi-config.yml` file and provides instructions on how to set the necessary environment variables (`PYGEOAPI_CONFIG`, `PYGEOAPI_OPENAPI`), generate the OpenAPI document, and start the pygeoapi server. Users can then access the API through a web browser or programmatic clients.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.17.0","pypi_latest":"0.23.4","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":14.1,"avg_import_s":1.99,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pygeoapi","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pygeoapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":16,"import_time_s":1.37,"mem_mb":32,"disk_size":"328M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pygeoapi","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pygeoapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":14,"import_time_s":2.25,"mem_mb":34.9,"disk_size":"347M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pygeoapi","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pygeoapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12.3,"import_time_s":2.54,"mem_mb":34.6,"disk_size":"339M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pygeoapi","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pygeoapi","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":12.2,"import_time_s":2.38,"mem_mb":34.9,"disk_size":"337M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pygeoapi","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pygeoapi","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":16,"import_time_s":1.4,"mem_mb":28.9,"disk_size":"283M"}]}}