Binding C++ objects to Python

04/05/2021 13 min Episodio 1
Binding C++ objects to Python

Listen "Binding C++ objects to Python"

Episode Synopsis

In this episode, we will discuss how to bind a C++ object in Python? We'll try to answer the following questions: How does pybind11 do it? What's different about how we implement it for Tensor? What are some downsides of the approach?Note from the future: I recorded and then decided I didn't like my follow up episode about how to preserve PyObjects even when they go dead in Python. Maybe some day!Further reading:Python bindings for Tensor in PyTorch https://github.com/.../csrc/autograd/python_variable.cpppybind11 hash map for maintaining object identity https://github.com/.../inc.../pybind11/detail/internals.h...Tensor subclasses don't save their properties https://github.com/pytorch/pytorch/issues/47117(but the situation here is more complicated than I imply in the podcast)