Geosoft GX Developer


Overview

Seequent is a software services company that serves the geoscientific community through the development and support of advanced geoscientific workflows for sub-surface investigations.  Seequent's technology includes the Geosoft Oasis montaj platform and related technologies for which Geosoft GX Developer is the primary API for developers to work with Geosoft components.

This documentation describes Geosoft GX Developer (GX API), which can be used to extend the capabilities of Seequent's Geosoft platforms and create stand-alone programs that read and/or write to Geosoft supported file formats. The GX API can be accessed from the Geosoft GX Language, 64-bit Python (3.7 minimum), or any CLI language (e.g. C#, VB, C++/CLI, F#).

More information about Seequent is available at www.seequent.com.

GX Developer can be used to

  • Modify an existing Geosoft GX to meet your needs. Usually, this is a simple modification for a more efficient use of the system.
  • Create your own custom GX extension in Python or with the Geosoft GX Language to do something special in Oasis montaj.
  • Call your own algorithm in a separate DLL from Oasis montaj.
  • Create stand-alone programs in other languages that use the GX API to read and write Geosoft supported file formats and access the Geosoft processing functions.



On this page

Other topics

Python in GX Developer
License

Getting Started with GX Developer

Only a Seequent ID is required to begin working with GX Developer. Go to my.seequent.com to create a Seequent ID.  There is no cost for becoming a GX Developer.

Note that installation and usage instructions are version-specific.  Refer to the Documentation by Version Number above to review appropriate documentation.

Getting Help

As a supported Seequent customer, you can find basic help on development using GX Developer online at https://my.seequent.com/support

For more advanced questions, and to collaborate with other GX Developers, use the GX Developer forum at https://my.geosoft.com/forum#/categories/gx-developer.

Version Management

Geosoft GX API versions use the form MAJOR.MINOR.MICRO. The MAJOR and MINOR version numbers match the Geosoft Desktop release version, which typically has a minor release twice each year. The MICRO number for GX Developer does not necessarily match the PATCH number for the Geosoft desktop platform, but all versions of GX Developer with version MAJOR.MINOR will work with platform release MAJOR.MINOR.

  1. MAJOR will match the MAJOR release number for the Geosoft platform at the time of a public GX API release.  Our intention is to maintain backwards compatibility across major releases, but this is not assured.
  2. MINOR will match the MINOR release number for the Geosoft platform at the time of a public GX API release.  Backward compatibility of prior MAJOR API is assured for the core GX API (including Python geosoft.gxapi), and forward compatibility of new capabilities is assured.
  3. MICRO will include bug fixes with backward compatibility assured, as well as new capabilities that are compatible with the MAJOR.MINOR platform version.

In Python there is a function geosoft.gxpy.utility.check_version(version_string) that can be used to ensure minimum version requirement for your code.  For example, assuming a user has installed the GX API version 9.1.0:

# assuming GX Developer API 9.1.0
import geosoft.gxpy.utility as gxu
gxu.check_version("8") 		# returns True
gxu.check_version("8.5.9") 	# returns True
gxu.check_version("9") 		# returns True
gxu.check_version("9.1")	# returns True
gxu.check_version("9.1.0") 	# returns True
gxu.check_version("9.1.1") 	# raises version error
gxu.check_version("9.2") 	# raises version error
gxu.check_version("9.1.1", raise_on_fail=False) 	# returns False
Starting with the 9.2 platform release, every effort to maintain backward API compatibility for the GX API, including the Python geosoft.gxapi module, has been made. The Python geosoft.gxpy also advances with a best effort at backward compatibility, but as this is an emerging API we do make minor changes in the interest of consistency of the API. Forward compatibility of a release is more assured, which means, for example, that the Python geosoft.gxpy 9.2 module can be expected to work with future platform releases (like 9.3).