Although most of the examples and Boost’s documentation uses bjam, you can also use CMake for your Boost.Python projects.
I recently needed to use memory that was allocated inside a C++ library in a Python application which expects a NumPy array without performing any copies. With ctypes, this can be implemented quite easily.
If you’re ever using the AWS C++ SDK in some constrained environment (such as Lambda functions with limited memory) or care about memory copies, you probably run into the issue of how to upload an existing buffer without copying it (as other developers did). You can write your own streambuf wrapper to do so, but if you’re already using boost in your project, boost::interprocess::bufferstream is a very straightforward way to do it: