|  | 
Niall Douglas provides these notes:
The quick answer to this is: no.
        The longer answer is that it can be patched to be so, but it's complex. You
        will need to add custom lock/unlock wrapping of every time your code enters
        Boost.Python (particularly every virtual function override) plus heavily
        modify boost/python/detail/invoke.hpp with custom unlock/lock wrapping of
        every time Boost.Python enters your code. You must furthermore take care
        to not unlock/lock when Boost.Python is invoking iterator
        changes via invoke.hpp.
      
        There is a patched invoke.hpp posted
        on the C++-SIG mailing list archives and you can find a real implementation
        of all the machinery necessary to fully implement this in the TnFOX project
        at this SourceForge
        project location.