I'd prefer to avoid tuples in public APIs.  They're not very friendly.  A namedtuple would do in a pinch (although an object that doesn't support indexing at all would be even better!).  Relatedly, I wonder why you exposed this as a single method rather than just exposing the three methods it calls?