#include namespace py = pybind11; /* Simple test module/test class to check that the referenced internals data of external pybind11 * modules aren't preserved over a finalize/initialize. */ PYBIND11_MODULE(external_module, m, py::mod_gil_not_used()) { class A { public: explicit A(int value) : v{value} {}; int v; }; py::class_(m, "A").def(py::init()).def_readwrite("value", &A::v); m.def("internals_at", []() { return reinterpret_cast(&py::detail::get_internals()); }); }