> result.append(PyUnicode_FromString(i->c_str())); try result.append(object(handle<>(PyUnicode_FromString(i->c_str())))); The handle<> is a way to tell Boost.Python if you own the reference or if it is borrowed (among other things). The suggested code assumes you own the reference. Ralf