Stage Export or Flatten
Would just stage.Export() suffice? It basically writes out a flattened copy of your USD stage.
UsdUtils.FlattenLayerStack
Other options may be UsdUtils.FlattenLayerStack. Some other topics here cover that:
- Python flattening stage while preserving relative paths - #2 by spiff (this topic asks for the opposite of what you want though)
Usdz?
Another approach could be to make a usdz Zipped USD as is briefly described here - however it may contain more than you like in particular?
The
usdzip —assetutility will create a package for you that contains all needed (localized) referenced usd layers, plus any images/textures the scene requires, and all composition will be retained.