Real stretch this one.
BAM (Blender Asset Manager) doesn’t support this, it only supports editing field values.
The Python API requires that the file be open in blender, which takes a very long time.
The reason I want to do this is to change the source of a linked object to a different ‘.blend’ file, which usually requires creating a new library data block to the new source file in all the files that linked to the original source file. The reason I would want to do that is because the 2.80 asset manager isn’t going to be out for around 6 months.