Autor: Aitor León
Fecha de creación: 08/06/2017
Contacto:
- Twitter: @2Ait8r
- E-mail: ldaitor28@gmail.com
- Blog: Open Binary
PyGithub es una librería (de otras muchas) de python. Gracías a esta librería podemos administrar los recursos, que Github nos ofrece, a través de scripts de Python.
Desafortunadamente, PyGithub no dispone de mucha documentación en su web, tan sólo una pequeña introducción que nos permite listar los repositorios que tenemos creados en nuestro perfil de Github.
De todas formas, su uso es intuitivo y fácil para aquel que haya trabajado minimamente con alguna librería anteriormente. Si tenemos el paquete Ipython instalado en nuestro sistema, podremos acceder a todos los métodos que nos ofrece PyGithub una vez nos hemos “logueado” con dicha librería.
Para poder realizar los ejemplos de este tutorial, primero debemos de instalarla.
La librería PyGithub no se encuentra en los repositorios oficiales de Debian (qué es dónde realizaré los ejemplos), por lo que debemos de descargarnos el repositorio e instalarla siguiendo los siguientes comandos:
unzip pygithub-master.zip
cd pygithub-master
su
apt install python-setuptools
python setup.py install
Cuándo termine de instalar, debemos importar la librería en cualquier fichero .py en el que usemos PyGithub
from github import Github
Con ello, ya podemos ejecutar cualquier aplicación.
Los siguientes atributos son los únicos que pueden/podrán ser utilizados para el desarrollo de una aplicación.
El atributo api_status contiene estos atributos:
- CHECK_AFTER_INIT_FLAG
- last_modified
- raw_headers
- etag
- last_updated
- setCheckAfterInitFlag
- get__repr__
- raw_data
- status
El más importante y posiblemente, con más uso, es status el cuál podemos usar para ver si la conexión ha sido buena.
También está last_updated y last_modified las cuales nos pueden servir para ver si se ha efectuado correctamente nuestros push
NOTA: El atributo api_status_messages_ contiene los mismos métodos que se usan con las listas en Python y su función en la misma.
Este atributo contiene todos los emoticonos que Github permite insertar en cualquier cuadro de texto.
Su contenido se guarda en un diccionario y posee los métodos correspondientes a un diccionario en Python.
Podemos ver algunos ejemplos en el siguiente fichero
Este es el atributo con el que mayormente trabajaremos si desarrollamos una aplicación porque contiene muchos métodos sencillos y útiles.
Es el atributo que más métodos y submétodos tiene. Podemos ver todos los submétodos con la ayuda de la aplicación ipython
y definiendo las siguientes variables:
from github import Github
g = Github('<usuario>','<password>')
p = g.get_user()
Tecleamos la variable p
acompañada de un punto y pulsamos TAB para verlos todos.
Si queremos ver algún otro submétodo, deberemos seguir ese esquema, es decir:
- Definimos una variable con el primer método
- Vemos los submétodos de la variable anteriormente definida
- Mostramos/usamos el submétodo
Aquí tenemos ejemplos de uso.
Con este atributo podemos realizar búsquedas de usuarios y repositorios ya existentes. Tenemos dos tipos:
Este atributo en realidad es una lista actualizada con todos los usuarios actualmente registrados en Github.
Un ejemplo de uso podría ser:
p = g.search_users('<usuario a buscar>')
for x in p:
for m in x.get_repos():
print m.name
Al igual que pasa con el atributo anterior, este también es un a lista actualizada con todos los repositorios creados y existentes actualmente en Github.
Un ejemplo de uso para buscar un repositorio sería:
p = g.search_repositories('<nombre del repositorio>')
for x in p:
print x.name