Fully typing variadicity in Python is only possible with dependent typing, since Python allows you to build the argument list dynamically. Generally speaking you can't even determine the number of arguments statically:
args = []
while some_condition():
args.append('x')
f(*args)
Typed Racket allows you type some common cases, though.