Skip to main content

A Python package for integrating OpenGMS geographic model services.

Project description

PyGeoModel

PyGeoModel is a Python package for integrating OpenGMS geographic model services into Python-based urban data science workflows. It provides programmatic access to model-service discovery, metadata inspection, service invocation, task records, and result management. For exploratory notebook-based analysis, PyGeoModel also provides an optional Jupyter interface built on the same core API.

Installation

pip install PyGeoModel

Use the package in Python with:

from pygeomodel import GeoModeler

Core API

from pygeomodel import GeoModeler

modeler = GeoModeler()

models = modeler.search_models("photovoltaic")
model = modeler.get_model("Roof Photovoltaic Carbon Emission Reduction Potential Assessment Model")

print(model.description)
print(model.inputs)
print(model.outputs)

Model services can be invoked programmatically:

result = modeler.invoke(
    "Roof Photovoltaic Carbon Emission Reduction Potential Assessment Model",
    params={
        "system_efficiency": 0.8,
        "start_time": 201801,
        "end_time": 201812,
        "roof_vector_path": "data/rooftops.zip",
    },
)

result.to_json("execution_record.json")

Notebook Interface

modeler.show_models()
modeler.invoke_model("SWAT_Model")

The notebook interface renders model search, metadata inspection, parameter entry, task execution, and output display. It uses the same search_models(), get_model(), and invoke() functions as the programmatic API so GUI operations can be converted into Python dictionaries and execution records.

Recommendation and Q&A Records

recommendation = modeler.suggest_model(return_result=True)
recommendation.to_json("recommendation_record.json")

answer = modeler.ask_model("SWAT_Model", "What input data are required?")
answer.to_json("qa_record.json")

The recommendation service automatically builds notebook/data context and calls the configured recommendation workflow. Q&A uses OpenGMS model metadata and an OpenAI-compatible web-enabled model. The main notebook workflow is designed to run out of the box for demonstration use.

Relation to OpenGMS

OpenGMS provides the model-service platform and online execution infrastructure. PyGeoModel is a Python client package that exposes OpenGMS model-service discovery, metadata inspection, task invocation, and result records to Python and notebook workflows.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygeomodel-1.0.8.tar.gz (3.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygeomodel-1.0.8-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file pygeomodel-1.0.8.tar.gz.

File metadata

  • Download URL: pygeomodel-1.0.8.tar.gz
  • Upload date:
  • Size: 3.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for pygeomodel-1.0.8.tar.gz
Algorithm Hash digest
SHA256 f7c7043ba63b786fce8b6c6a670e67b6014ade454e8cba3404e73295a5ed1b81
MD5 26e3e25f5e8e1e5a52b6fa6958794a32
BLAKE2b-256 8a3b390c35cab443dd2e9a7dfc6df8ae6f226c4b603f67918c6c700b237c94c7

See more details on using hashes here.

File details

Details for the file pygeomodel-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: pygeomodel-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for pygeomodel-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6a1ca1aecb4f7556f33cf7fddb93f956b3a64e19285b901d03b96f8b8bd9b3ab
MD5 d07349470a20960a18d2d61d12ab4765
BLAKE2b-256 5d2c5b98108d7a38881eb38b44071aa07e06c9ed85020330e51fe72b534fdadb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page