This is a pedagogically-oriented attempt to implement aspects of the Carneades Argument Evaluation framework
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Carneades sample code (Updated by Harjyot Singh)

This is a pedagogically-oriented attempt to implement aspects of the Carneades Argument Evaluation framework. It closely follows the Haskell implementation in the CarneadesDSL package.

Installing the libraries for the Carneades sample code on your own computer


  • Python3.4
  • igraph
  • pycairo (for igraph)
  • PyYAML (Must)
  • Virtualenv (Optional)
  • Sphinx (docs only)
  • Basicstrap theme for sphinx (docs only)


Install python3.4 (via apt, homebrew or your favourite package_system)

Note for Linux users (especially Ubuntu 12.04 users): follow this link to have more info about installing the python distro.

Create a virtualenv:

$ virtualenv -p python3.4 envname
$ source /envname/bin/activate

Install using pip

$ pip install -r Requirements.txt

or install packages individually.

Install sphinx and basicstrap

$ pip install sphinx
$ pip install sphinxjp.themes.basicstrap

Install igraph

$ pip install python-igraph

Install PyYAML

$ pip install PyYAML

This should also install the C bindings. If that doesn't happen because of some error, it's likely to be one of the following problems:

  • The header files for the python distribution are not installed. Look up python-dev or python3.4-dev

  • You need to compile the C code from source: download it here and follow the instructions. In general you should only need to follow the standard procedure:

$ ./configure
$ make
$ make install

Install pycairo

On Ubuntu, check this package.

If you are using a virtualenv or you don't use Ubuntu, do the following:

  • Download and extract the pycairo package in the virtualenv
$ curl -O
$ tar xvf pycairo-1.10.0.tar.bz2
$ cd pycairo-1.10.0/
  • edit a file in the hidden .waf folder that the extraction has created (e.g. ./.waf-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6. To do this, go into the folder and edit ./.waf-1.6.4-somenumbers/waflib/Tools/ to call the python3.4-config directly.
    --- waflib/Tools/  2014-08-01 14:36:23.750613874 +0000
    +++ waflib/Tools/      2014-08-01 14:36:38.359627761 +0000
    @@ -169,7 +169,7 @@
            if conf.env.PYTHON_CONFIG:
    -               for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
    +               for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
                            if(incstr.startswith('-I')or incstr.startswith('/I')):
                            if incstr not in includes:
  • compile and install the package
$ ./waf configure --prefix=$VIRTUAL_ENV
$ ./waf build
$ ./waf install

Clone repository

$ git clone
$ cd carneades

Generate the documentation

$ cd doc
$ make html

Test the software

$ cd ../src # relative root is carneades/
$ python -i

Run unittest on Reader class

$ cd ../src # relative root is carneades/
$ python

Install python3.4

(Linux users)

The following is to install python3.4 on Ubuntu 12.04 LTS. Other distributions should do more or less the same. If you have a newer installation of Ubuntu or derivatives, you can probably skip some passages.

WARNING: Although unlikely, this might break your python2 installation, so do it at your own risk or set up a VM

Unless you want to build from source (In which case, kudos!), add this PPA to your apt source list:

$ add-apt-repository ppa:fkrull/deadsnakes
$ apt-get update

then run:

$ apt-get install python3.4 python3.4-dev

Now follow the rest of the installation.