Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A Pythonic interface to GAMS GDX files
Python Shell GAMS
branch: master


Build Status Documentation Status

PyGDX is a Python 3 package for accessing data stored in GDX-formatted files, through the Python bindings for the GAMS GDX API. Inspired by the similar package, also named py-gdx, by Geoff Leyland, this version makes use of xray to provide labelled data structures which can be easily manipulated with NumPy for calculations and plotting.

Documentation is available at, built automatically from the contents of the Github repository.

PyGDX is provided under the MIT License (see LICENSE).


With the following GAMS program:

set  s  'Animals'  /
  a  Aardvark
  b  Blue whale
  c  Chicken
  d  Dingo
  e  Elephant
  f  Frog
  g  Grasshopper

set  t  'Colours'  /
  r  Red
  o  Orange
  y  Yellow
  g  Green
  b  Blue
  i  Indigo
  v  Violet

set  u  'Countries'  /
  CA  Canada
  US  United States
  CN  China
  JP  Japan

parameter p(s,t,u) 'Counts of nationalistic, colourful animals'
  / set.s.set.t.set.u 1 /;

execute_unload 'example.gdx'

The parameter p can be accessed via:

>>> import gdx
>>> f = gdx.File('example.gdx')
>>> f.p[:,'y','CA']
a    1
b    1
c    1
d    1
e    1
f    1
g    1
dtype: float64
Something went wrong with that request. Please try again.