User Tools

Site Tools


user-guide:additional_interfaces:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user-guide:additional_interfaces:api [2025/01/22 12:53] – [Examples] Timuser-guide:additional_interfaces:api [2025/10/27 17:30] (current) – [Client libraries] Tim
Line 1: Line 1:
-====== API GroIMP user guide ======+====== API ======
  
-With the use of the GroLink Project GroIMP can be started as an API server, that can handle Http-requests.+GroIMP can be started as an HTTP API that provides a generalized set of commands allowing interaction from other software. Currently a Python and a R library are provided but any software capable of HTTP requests could interact with GroIMP. This approach can be used to automatically start a simulation and interact with it during the execution.
  
 +
 +<uml>
 +@startuml
 +!pragma teoz true
 +hide footbox
 +title API
 +
 +participant User
 +participant ClientScript
 +participant API
 +participant GroIMP
 +
 +
 +User -> GroIMP: Start GroIMP
 +User -> ClientScript
 +ClientScript <->API
 +& API<-> GroIMP
 +User <- ClientScript
 +User -> GroIMP: Stop GroIMP
 +
 +
 +@enduml
 +</uml>
 ===== Installation and execution ===== ===== Installation and execution =====
  
Line 107: Line 130:
 Due to the generalized approach using registry paths, the HTTP commands are quite long and complex.  Due to the generalized approach using registry paths, the HTTP commands are quite long and complex. 
 To ease this and the management of the workbenches, client libraries are provided in R and Python. To ease this and the management of the workbenches, client libraries are provided in R and Python.
 +A mirror to the repositories can be found here: https://gitlab.gwdg.de/grolink-clients
 +
 ==== GroPy ==== ==== GroPy ====
  
Line 113: Line 138:
 pip install GroPy --index-url https://gitlab.com/api/v4/projects/50527255/packages/pypi/simple pip install GroPy --index-url https://gitlab.com/api/v4/projects/50527255/packages/pypi/simple
 </code> </code>
-Additionally it is possible to only get the file GroPy.py from the repository and link it directly. +Additionally it is possible to only get the file GroPy.py from the repository or {{ :user-guide:additional_interfaces:gropy.py |directly here}} and link it directly. 
  
 === Structure === === Structure ===
Line 144: Line 169:
 ==== GroR ==== ==== GroR ====
 [[https://gitlab.com/grogra/groimp-utils/rapilibrary|R]] [[https://gitlab.com/grogra/groimp-utils/rapilibrary|R]]
 +
 +{{ :user-guide:additional_interfaces:gror.r |GroR.r (direct download)}}
  
 === Installation === === Installation ===
Line 167: Line 194:
    
  
 +===== More documentation =====
  
 +  * [[https://wkurth.grogra.de/oberlaender_msc.pdf| GroLink: implementing and testing a general application programming interface for the plant-modelling platform GroIMP (original Thesis)]]
 +  * [[:groimp-platform:interfaces:api|API implementation]]
  
-===== Tutorials, examples and further info =====+===== Tutorials =====
  
-==== Tutorials ==== 
  
 +  * [[:Tutorials:Startup-API |Start the API]]
   * [[:Tutorials:Getting-started-with-GroLink-and-GroPy|getting started with GroLink and Python(GroPy)]]   * [[:Tutorials:Getting-started-with-GroLink-and-GroPy|getting started with GroLink and Python(GroPy)]]
   * [[:Tutorials:Getting-started-with-GroLink-and-GroR|getting started with GroLink and R(GroR)]]   * [[:Tutorials:Getting-started-with-GroLink-and-GroR|getting started with GroLink and R(GroR)]]
   * [[:Tutorials:Getting-started-with-GroLink-and-HTTP|getting started with GroLink and HTTP in your web browser]]   * [[:Tutorials:Getting-started-with-GroLink-and-HTTP|getting started with GroLink and HTTP in your web browser]]
   * [[:Tutorials:Handeling-data-in-GroLink-Projects|Handling data in GroLink projects]]   * [[:Tutorials:Handeling-data-in-GroLink-Projects|Handling data in GroLink projects]]
 +  * [[:Tutorials:grolink-on-kubernetes|Deploying GroIMP/GroLink on Kubernetes]]
 +  * [[:dev-guide:create-new-api-function|How to create new API commands]]
  
 +===== Examples =====
  
-==== Examples ==== +We provide examples in Python, R and Godot to get a first impression: https://gitlab.com/groimp-api-examples. (or here :https://gitlab.gwdg.de/grogra/groimp-api-examples) 
-  * [[https://gitlab.com/groimp-api-examples/pythonnotebook|Python Notebook]] +Additionally you can find there ready to use docker container to ease the first tests.
-  * [[https://gitlab.com/groimp-api-examples/forester-game|Godot Game]] +
-  * [[https://gitlab.com/groimp-api-examples/apiplus|example Addition]] +
- +
-==== Further info ==== +
- +
- * [[https://wkurth.grogra.de/oberlaender_msc.pdf| GroLink: implementing and testing general application programming interface for the plant-modelling platform GroIMP (original Thesis)]] +
user-guide/additional_interfaces/api.1737546780.txt.gz · Last modified: 2025/01/22 12:53 by Tim