Reading a topology (gmx_mtop_t / read_tpx) and use it along nb-lib

GROMACS version: 2021.4
GROMACS modification: No

I would like to use gromacs within an in-house python qm/mm implementation, and being able to reuse all the data initially set up during equilibration (topology and so on).
Single executions of mdrun (-rerun) are rather inefficient, since the system must be defined each time and the communication is done via filesystem. Thus, nb-lib seems to me a nice approach to my problem. The caveat is defining again the topology for a complex system…
Is there a way to use a topology previously loaded using read_tpx (thus a gmx_mtop_t object) along the nb-lib? Or, alternatively, which is the simplest way to perform a do_force calculation from a topology and a set of redefined coordinates/forces (rvec vectors, using just libgromacs)?