title: Extending embedded Python in C++ - Design to interact with C++ instances
body: <p>There are several packages out there that help in automating the task of writing bindings between C\C++ and other languages.</p>
  
  <p>In my case, I'd like to bind Python, some options for such packages are: <a href="http://www.swig.org/" rel="nofollow">SWIG</a>, <a href="http://www.boost.org/doc/libs/1_46_1/libs/python/doc/" rel="nofollow">Boost.Python</a> and <a href="http://code.google.com/p/robin/" rel="nofollow">Robin</a>.</p>
  
  <p>It seems that the straight forward process is to use these packages to create C\C++ linkable libraries (with mostly static functions) and have the higher language be extended using them.</p>
  
  <p>However, my situation is that I already have a developed working system in C++ therefore plan to embed Python into it so that future development will be in Python.</p>
  
  <p>It's not clear to me how, and if at all possible, to use these packages in helping to extend embedded Python in such a way that the Python code would be able to interact with the various Singleton instances already running in the system, and instantiate C++ classes and interact with them.</p>
  
  <p>What I'm looking for is an insight regarding the design best fitted for this situation.</p>