Hello. When I use MPlug.setKeyable() the attribute is hiden as expected. You can try this to check it:
jnt = cmds.joint()
cmds.addAttr(jnt, ln="foo", at="float", k=True)
mslist = OpenMaya.MSelectionList()
mslist.add(jnt)
mobj = OpenMaya.MObject()
mslist.getDependNode(0, mobj)
mfnDepNode = OpenMaya.MFnDependencyNode(mobj)
mplug = mfnDepNode.findPlug("foo")
mplug.setKeyable(False)
the problem that I am having is that if you save the scene, and open it again, the attribute is visible again. His happens if you do that throught mplug. With cmds it is fine.
Is that a bug or is there something else that needs to be done?
Cheers,
R