It's good that you used a tuple instead of a list, because the default parameters get instantiated at import time, not at call time, and therefore live for the life of the process. It's a common mistake for Python developers to put an empty list as a default. I don't think your code is in danger of this problem since a tuple is not mutable (and so nothing can ever be appended to it.)

It is more conventional to accept None by default, and then within the function set it to an empty list or tuple. This is particularly good if you do actually want a mutable list as the default for some reason.