[gecode-users] [ANN] gecode/python v0.22

Denys Duchier denys.duchier at univ-orleans.fr
Sat Oct 22 16:03:58 CEST 2011


I am pleased to announce release 0.22 of gecode-python, the simplified
gecode bindings for python.  This release brings a number of goodies!

WHAT'S NEW:

- support for "restart" search engine:
  s.search(restart=True)

- support for search options:
  s.search(threads=N1, c_d=N2, a_d=N3)

- support for keeping only some of the variables:
  s.keep(V)
  if some variables are thus marked as "kept", then only these variables
  will be explicitly copied during search.  This could bring substantial
  benefits in memory usage.  Of course, in a solution, you can then only
  look at variables that have been "kept".  If no variable is marked as
  "kept", then they are all kept.  Thus marking variables as "kept" is
  purely an optimization.

- support for Gist:
  s.gist(onclick=None, threads=None, c_d=None, a_d=None)
  if your installation of Gecode has Gist support, then this will invoke it.
  onclick is an inspector or an iterable of inspectors.  An inspector is
  a callable, or a class whose instances are callables, that has/have been
  specially annoted by a decorator:

  @inspector("My Inspector 1")
  def show1(s2):
      print s2.values([X1,X2])

  Note that s2 is not necessarily a solution!  You may also define a
  textinspector to show textual output in a graphical window:

  @textinspector("My Inspector 2")
  def show2(s2):
      return "X1=%s X2=%s" % s2.values([X1,X2])

  A textinspector must return a string.

INSTALL:

- from pypi using easy_install (provided by setuptools):

        sudo -E easy_install gecode-python
  or    easy_install gecode-python --prefix ~

  if you are upgrading a previous install:

        sudo -E easy_install -U gecode-python
  or    easy_install -U gecode-python --prefix ~

- from pypi using the tarball:

        tar zxf gecode-python-0.17.tar.gz
        cd gecode-python-0.17
        sudo -E python setup.py install
  or    python setup.py install --prefix ~

- using the launchpad branch:

        bzr branch lp:gecode-python
        cd gecode-python
        sudo -E python setup.py install
  or    python setup.py install --prefix ~

if you are installing using "--prefix ~" I recommend that:
1. you create directory ~/.local if it does not already exist
2. you create a symbolic link:
        ~/.local/lib   -> ~/lib
   or   ~/.local/lib64 -> ~/lib64
   depending on whether you have a ~/lib or a ~/lib64 directory in your
   home after install.
this will allow python to find your locally installed packages without
requiring you to fiddle with environment variable PYTHONPATH.

Cheers,

--Denys



More information about the users mailing list