you're dynamically creating new functions (in all methods) without ever checking if they've already been created - is this OK? i.e. do you want to allow an overwrite of an existing function, or are you preventing multiple creations elsewhere? Not a problem, but a little inefficient.
otherwise it all looks nicely structured and can't see anything obviously wrong.
ReadDataByIdentifierMethodFactory.py
lacking any commenting
you're dynamically creating new functions (in all methods) without ever checking if they've already been created - is this OK? i.e. do you want to allow an overwrite of an existing function, or are you preventing multiple creations elsewhere? Not a problem, but a little inefficient.
otherwise it all looks nicely structured and can't see anything obviously wrong.