if there is data cached for my_chain_3, we should be able to skip loading the pickles for my_chain_1 and my_chain_2. But only in the case, when cached my_chain_3 came from the same settings of my_chain_1 and my_chain_2.
One approach would be to update data['id'] after each PickleCache or even after each module so that the data['id'] would contain all the provenance of the data transformations it went through.
PickleCache takes into account all variable in the chain members. It would be good to be able to specify explicitly which members it should ignore.
Second thing is to be able to deal with these cases:
if there is data cached for my_chain_3, we should be able to skip loading the pickles for my_chain_1 and my_chain_2. But only in the case, when cached my_chain_3 came from the same settings of my_chain_1 and my_chain_2.
One approach would be to update data['id'] after each PickleCache or even after each module so that the data['id'] would contain all the provenance of the data transformations it went through.
What do you think?