Clonación de un repository privado usando HTTPS con gitpython

Estoy usando gitpython para clonar un repository git a través de HTTPS. Si el proyecto es un repository privado, pedirá el nombre de usuario y la contraseña. ¿Cómo interactúo con el aviso pythonicamente para pasar variables de nombre de usuario y contraseña?

from git import Repo HTTPS_REMOTE_URL = 'https://github.com/username/private-project' DEST_NAME = 'https-cloned-private-project' cloned_repo = Repo.clone_from(HTTPS_REMOTE_URL, DEST_NAME) 

Salida de ejecutar este código:

 $ python example.py Username for 'https://github.com': example Password for 'https://example@github.com': 

Sé que es posible include el nombre de usuario y la contraseña en la URL:

 HTTPS_REMOTE_URL = 'https://username:password@github.com/username/private-project' 

Sin embargo, no tengo forma de saber con anticipación si se trata de un repository privado.

me funciona cuando uso token de acceso github en lugar de nombre de usuario y contraseña donde se puede requerir 2FA:

HTTPS_REMOTE_URL = 'https://<access_token>:x-oauth-basic@github.com/username/private-project'