Hi, I'm trying to call the function `array' (from the python module numarray.strings) from inside C++ code. This function initializes a character array. It has the arguments array(buffer=None, itemsize=None, shape=None, byteoffset=0, bytestride=None, kind=CharArray) I'm doing this as follows: The C++ end looks like **************************************************************** bcallback.cc **************************************************************** ... object charr(PyObject* func, list buf, object itemsize, tuple sh) { return boost::python::call<object>(func, buf, itemsize, sh); } ... **************************************************************** and the Python end looks like **************************************************************** callback.py **************************************************************** from bcallback import charr import numarray.strings as numstrings def retcharr(buffer, sh): return charr(numstrings.array, buffer, None, sh) **************************************************************** This actually works. Namely: In [2]: import callback In [3]: callback.retcharr(['a', 'c', 'a', 'c', 'a', 'c', 'g', 't', 'g','t','g','t'], (6,2)) Out[3]: CharArray([['a', 'c'], ['a', 'c'], ['a', 'c'], ['g', 't'], ['g', 't'], ['g', 't']]) However, I'm wondering if this is the best way of proceeding, or if there is a better way. Thanks in advance for comments. Faheem.