QuickStart

| QuickStart

The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler. It is designed to wrap C++ interfaces non-intrusively, so that you should not have to change the C++ code at all in order to wrap it, making Boost.Python ideal for exposing 3rd-party libraries to Python. The library's use of advanced metaprogramming techniques simplifies its syntax for users, so that wrapping code takes on the look of a kind of declarative interface definition language (IDL).

## Hello World

Following C/C++ tradition, let's start with the "hello, world". A C++ Function:

`

        char const* greet()
        {
           return "hello, world";
        }

`

can be exposed to Python by writing a Boost.Python wrapper:

`

        #include <boost/python.hpp>
        using namespace boost::python;

        BOOST_PYTHON_MODULE(hello)
        {
            def("greet", greet);
        }

`

That's it. We're done. We can now build this as a shared library. The resulting DLL is now visible to Python. Here's a sample Python session:

`

        >>> import hello
        >>> print hello.greet()
        hello, world

`

> Next stop... Building your Hello World module from start to finish...

Copyright © 2002-2003 David Abrahams
Copyright © 2002-2003 Joel de Guzman
Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.