keyedcache port to Python3