#include namespace { // Avoid cluttering the global namespace. // A couple of simple C++ functions that we want to expose to Python. std::string greet() { return "hello, world"; } int square(int number) { return number * number; } } #include namespace python = boost::python; // Python requires an exported function called init in every // extension module. This is where we build the module contents. extern "C" DL_EXPORT(void) initgetting_started1() { try { // Create an object representing this extension module. python::module_builder this_module("getting_started1"); // Add regular functions to the module. this_module.def(greet, "greet"); this_module.def(square, "square"); } catch(...) { python::handle_exception(); // Deal with the exception for Python } }