[Gmsh] Feedback on new Gmsh API

Christophe Geuzaine cgeuzaine at uliege.be
Sun Dec 3 09:19:27 CET 2017

Dear all,

One of our main goals for the next versions of Gmsh is the release of a stable Application Programming Interface (API), allowing users/developers to easily embed Gmsh (as a library) in their own codes. The design goals for this API are the following: the API should

- allow to do everything that can be done in .geo files (and then more)
- be robust, in particular to wrong input data (i.e. "never crash")
- allow to do simple things, simply
- be maintainable over the long run

To achieve these goals the API

- is purely functional
- only uses basic types from the target language (C++, C or Python)
- is automatically generated from a master API description file
- is fully documented

An initial version of the API has landed in the Git repository, and we would like to get your early feedback. It is defined in the https://gitlab.onelab.info/gmsh/gmsh/blob/master/api directory:

  - C++ header: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmsh.h
  - C header: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmshc.h
  - Python module: https://gitlab.onelab.info/gmsh/gmsh/blob/master/api/gmsh.py

Several examples on how to use the C++ and Python API are available in the https://gitlab.onelab.info/gmsh/gmsh/blob/master/demos/api directory. In particular, this directory contains C++ and Python versions of several of the .geo tutorials from https://gitlab.onelab.info/gmsh/gmsh/blob/master/tutorial.

We plan to release a first (beta) version of the API in Gmsh 3.1, and a first stable version in Gmsh 4.0.

You can send your feedback directly to the mailing list, or comment in the issue tracker https://gitlab.onelab.info/gmsh/gmsh/issues/188.



Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 

Free software: http://gmsh.info | http://getdp.info | http://onelab.info

More information about the gmsh mailing list