Пожалуйста. Обращайтесь в случае чего…
Да, еще:
boost::python::object module = boost::python::import("test");
boost::python::object name_space = module.attr("__dict__");
boost::python::object inst = name_space["MyClass"];
конечно, работает. Но, имхо, лучше писать
bp::object inst = module.attr(“MyClass”)
Вы же на питоне делаете module.attribute, а не module.__dict__, хоть это одно и то же.
namespace bp = boost::python;
в .cpp файлах несколько уменьшает количество набиваемых символов и улучшает читаемость.
В .hpp стоит использовать полное имя boost::python::object (по крайней мере пока вы не поместили это в свой namespace).
using boost::python; употреблять не рекомендую - засоряет пространство имен и ощутимо тормозит компилятор. А еще можно нарваться на internal compiler error (по крайней мере в VC 7.1).
Эти рекомендации, конечно, относятся не к питону как таковому а к использованию namespace в C++.