Una vez que solamente tienes login y contraseña, puede utilizar utilizando autenticación básica. Antes que nada, verifique si este código muestra los datos json del repositorio deseado. El nombre de usuario y la contraseña deben estar separados por dos puntos.
curl -u "user:pwd" https://api.github.com/repos/user/repo
Si ha tenido éxito, debería considerar realizar esta solicitud desde el código.
import urllib2
import json
from StringIO import StringIO
import base64
username = "[email protected]"
password = "naked_password"
req = urllib2.Request("https://api.github.com/repos/user/repo")
req.add_header("Authorization", "Basic " + base64.urlsafe_b64encode("%s:%s" % (username, password)))
req.add_header("Content-Type", "application/json")
req.add_header("Accept", "application/json")
res = urllib2.urlopen(req)
data = res.read()
repository = json.load(StringIO(data))
Tengo la sensación, han cambiado las páginas de autenticación, ya no parecen enumerar el uso de la autenticación automática: b encabezado asic Base64 (nombre de usuario: contraseña) – WORMSS