Creating a new library data block to a 2.79b '.blend' file without opening it

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.