add more support cache pyobject