A good solution is to define a large rectangle and use the boolean operations in (e.g.) KLayout to subtract all structures from it. The DRC engine in KLayout is an excellent tool to automate this if needed.
Another solution could be to let the mask manufacturer take care of the inversion. You can typically specify dark field or bright field polarity.
In principle you can use pyclipper and create a large rectangle and subtract all polygons in the layer you want to invert from it. However, since the pyclipper definition of gaps in a structure is not compatible with GDS, this will in general not work.