[SciPy-User] CGAL wrapping: cython vs boost vs SWIG

Guillaume Gay guillaume at damcb.com
Fri Jul 17 05:00:39 EDT 2015


Hi all,

I'm starting a modeling project <https://github.com/CellModels/tyssue> 
emanating from a previous one <https://github.com/glyg/leg-joint>. While 
the original project was based on graph-tool 
<http://graph-tool.skewed.de/>, I now want to have more hands on the C++ 
side of things.

Particularly, CGAL LinearCellComplex 
<http://doc.cgal.org/latest/Linear_cell_complex/index.html> library is 
well suited for my modeling needs.

The basic needs I have are:

  *

    Access from python to custom iterators defined in C++ (over the
    cells of the LCC, one cell's edges, and so on)

  *

    The ability to manipulate attributes of the LinearCellComplex
    (associated with edges, vertices or faces) from python as |ndarrays|
    or even better pandas |DataFrames|, ideally without the need to copy
    data, such that modifications of these attributes are synchronized
    between the two languages

For now, the project is using Boost.Python for the wrapping, but I got a 
bit confused with the ndarray side of things, as there are two projects 
claiming to provide interfaces between numpy and boost:

  * https://github.com/ndarray/Boost.NumPy
    and:
  * https://github.com/mdboom/numpy-boost

They don't seem very active, nor very documented…

I used SWIG before, but keep a very bad memory of the experience ;)

So, would Cython be more adapted? My guess is, as the numpy interface is 
ingrained in Cython, that would be easier, but what about iterators?

Any advice or previous experience on similar issues welcome.

Best,

Guillaume

-- 

--
Guillaume Gay, PhD

http://damcb.com

43 rue Horace Bertin
13005 Marseille

+33 953 55 98 89
+33 651 95 94 00

n°SIRET 751 175 233 00020

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20150717/65dad0fe/attachment.html>


More information about the SciPy-User mailing list