Если оно может иметь любое имя:
Передать его функции, которая принимает boost::python::object
.
bp::object pycb; //global variable. could also store it in a map, etc
void register_callback(bp::object cb)
{
pycb = cb;
}
Если оно находится в одном известном пространстве имен с непротиворечивым именем:
bp::object pycb = bp::scope("namespace").attr("callback");
bp::object
определено operator()
, поэтому вы вызываете его, как и любая функция
ret = pycb()