Download and installation


Calliope has been tested on Linux, Mac OS X, and Windows (but see the Windows notes below).

Running Calliope requires four things:

  1. the Python programming language (version 3)
  2. a number of Python add-on modules (see below for the complete list)
  3. a solver: Calliope has been tested with GLPK, CPLEX, and Gurobi. Any other solver that is compatible with Pyomo, which Calliope uses to construct the models, should work.
  4. the Calliope software itself

Installing Python, required modules and Calliope

By far the easiest and recommended way to obtain a working Python installation including the required Python modules (items 1 and 2 on the list above) is to use the free Anaconda distribution. On systems with limited disk space, use the Miniconda distribution, which does not come with any pre-included packages, downloading packages only as required.

Once you have Anaconda/Miniconda installed, you can create a new Python 3.5 environment called “calliope” with all the necessary modules with the following command (see the note on Windows below if this command causes an error):

$ conda create -n calliope python=3.5 pip pandas pytables pyyaml matplotlib networkx basemap seaborn jupyter notebook --yes

Then, you need to activate the “calliope” environment. On Linux and Mac OS X:

$ source activate calliope

On Windows:

$ activate calliope

Finally, install Calliope with the Python package installer pip, which will also automatically install Pyomo (and any other remaining dependencies not installed already):

$ pip install calliope


Calliope has been tested on Windows 7 and Windows 8 and should generally work, but running Python software on Windows can be trickier than on Linux or Mac OS:

Note that on Windows, basemap for Python 3.x is not currently available for Anaconda, so you need to manually install it if you want to plot maps. Use the following command, which does not include basemap, to install the Calliope environment on Windows:

$ conda create -n calliope python=3.5 pip pandas pytables pyyaml matplotlib networkx seaborn jupyter notebook --yes

Installing a solver

You need at least one of the solvers supported by Pyomo installed. GLPK or Gurobi are recommended and have been confirmed to work with Calliope. Refer to the documentation of your solver on how to install it. Some details on GLPK and Gurobi are given below. Another commercial alternative is CPLEX.


GLPK is free and open-source, but can take too much time and/or too much memory on larger problems.

On Windows, it can be easily installed into the “calliope” environment (make sure the environment has been activated as shown above):

$ conda install -c sjpfenninger glpk

For Linux and Mac OS X, refer to the GLPK website for installation instructions.


Gurobi is commercial but significantly faster than GLPK, which is relevant for larger problems. It needs a license to work, which can be obtained for free for academic use by making an account on

On Windows and Linux, Gurobi can be installed via conda:

$ conda install -c gurobi gurobi

On Mac OS X, it has to be downloaded manually from the Gurobi website.

After installing, log on to and obtain a (free or paid) license, then activate it on your system via the instructions given online (using the grbgetkey command).

Python module requirements

If you prefer not to use Anaconda and manually manage your Python setup, these are the modules you need to install.

The following Python modules and their dependencies are required:

These modules are optional but necessary to graphically display results:

  • Matplotlib

These modules are optional but necessary to display transmission flows on a map:

  • NetworkX
  • Basemap

These modules are optional and used for the example notebook in the tutorial:

Previous: Introduction | Next: Model components