class Authenticator:
def __init__(api_key: str, user_pass: tuple[str, str]):
raise NotImplemented
What' the cleanest way to write that Authenticator can be instantiated or via an api key or via a username-password tuple (but not both obviously)? I'd like to keep both parameters in the constructor.