Depending on your requirements, there are many approaches. To do this manually, begin by reading the "Extending and Embedding" document. Realize that for the Python run-time system, there isn't a whole lot of difference between C and C++ -- so the strategy of building a new Python type around a C structure (pointer) type will also work for C++ objects.

For C++ libraries, you can look at SIP, CXX, Boost, or Weave. SWIG is a similar automated tool that only supports C libraries.

CATEGORY: extending