A Pythonic interface to GAMS GDX files
Switch branches/tags
Clone or download
khaeru Merge pull request #31 from kdheepak/fix-root-logger
Change root debug and info to logger with a name
Latest commit 82ca360 Sep 21, 2017



Documentation Status Build Status Coverage Status

PyGDX is a Python package for accessing data stored in GAMS Data eXchange (GDX) files. GDX is a proprietary, binary file format used by the General Algebraic Modelling System (GAMS); pyGDX uses the Python bindings for the GDX API.

Originally inspired by the similar package, also named py-gdx, by Geoff Leyland, this version makes use of xarray to provide labelled data structures which can be easily manipulated with NumPy for calculations and plotting.

Documentation is available at http://pygdx.readthedocs.org, 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