The snippets of code on the github page remind me of https://github.com/curtisjamesholt/EasyBPY/blob/master/easybpy.py
It seems to have gained a bit of traction, so I’m sure there are people wanting to get an easier, more abstract API.
Regarding this snippet maybe I can offer a bit of optimization
material_name = re.findall(r'(?<=materials\[\')\w+', repr(self.node))[0]
material = bpy.data.materials[material_name]
node_tree = material.node_tree
you can get the node tree from a node simply by using node.id_data see https://docs.blender.org/api/current/bpy.types.bpy_struct.html#bpy.types.bpy_struct.id_data