Turpial: Un cliente Twitter para GNU/Linux con todos los hierros

miércoles, noviembre 18, 2009


Turpial es un cliente Twitter multi-interfaz escrito en Python que he estado desarrollando con el pana Eleazar Meza, orientado a ser una alternativa a los clientes Twitter más populares para GNU/Linux (aunque por su naturaleza también puede correr bajo otras plataformas).

La idea surgió hace poco más de 2 semanas y no son solo ganas de reinventar la rueda (considerando que DestroyTwitter, TweetDeck et al. están disponibles para Linux), sino que se quiere lograr un cliente que también corra en entornos de escritorio ligeros como Fluxbox, OpenBox, etc (pensando en las netbooks), ya que Adobe Air solo corre en KDE/GNOME y la mayoría de los cliente basados en GTK son soluciones asquerosamente simples que carecen de una gran cantidad de funciones.

Su nombre proviene del ave nacional de Venezuela (el turpial) y está inspirado principalmente por la sencillez y la funcionalidad de DestroyTwitter pero con el objetivo de tener varias interfaces: una interfaz en línea de comandos, una GTK pura y una más innovadora y bleeding-edge usando diferentes recursos y tecnologías como Cairo y Webkit, entre otras.

Actualmente Turpial se encuentra en estado de desarrollo intenso, por lo que pueden presentarse errores y fallos inesperados. Sin embargo, se invita a los valientes y verdaderos geeks la comunidad en general a que prueben Turpial y si detectan algún fallo lo reporten a cualquiera de las siguientes direcciones:

wil.alejandro at gmail.com < Wil Alvarez >
meza.eleazar at gmail.com < Eleazar Meza >

Características

Turpial ya cuenta con soporte para las siguientes funciones:
  • Ver tweets del timeline, menciones y favoritos
  • Ver y enviar mensajes directos
  • Actualizar estado (tuitear)
  • Ver following y followers
  • Buscar personas
  • Hacer follow o unfollow a cualquier usuario
  • Mostrar trending topics
  • Hacer mute/unmute a cualquier usuario

Quedan pendientes para las próximas actualizaciones:
  • Ver tweets sobre un tópico o un hashtag seleccionado
  • Cortar URLs y subir imágenes (con soporte para agregar diferentes servicios)
  • Agrupar tweets como conversaciones
  • Mostrar listas a las que el usuario pertenece y los tweets correspondientes a cada lista
  • Guardar las preferencias del usuario

Requisitos


Turpial necesita los siguientes paquetes para funcionar correctamente:

* python >= 2.5
* python-simplejson >= 2.0.x

Una instalación estándar de Python (como la que viene en la mayoría de las distribuciones GNU/Linux) es más que suficiente. El módulo de python para simplejson se puede instalar en las distribuciones basadas en Debian con el siguiente comando (como superusuario):

# aptitude install python-simplejson

¿Cómo diablos ejecuto Turpial?


Muy fácil. Para ejecutar Turpial en un ambiente GNU/Linux basta con descargar el siguiente archivo, descomprimirlo y en la carpeta turpial ubicar el archivo turpial.py, otorgarle permisos de ejecución y ejecutarlo (como usuario regular):

$ chmod +x turpial.py
$ ./turpial.py


Al momento de esta publicación la única interfaz disponible para Turpial es la elitista, l33t, unix-like y hardcore de línea de comandos. Basta con escribir "help" en la consola para obtener una lista de comandos disponibles o "help <comando>" para una ayuda detallada para el comando seleccionado.

Comentarios, sugerencias, reportes de bugs y cualquier otra información que pueda alimentar nuestro ego será bienvenida.

Una API de Twitter para Python simplemente hermosa

domingo, noviembre 08, 2009

Mi proyecto Turpial requiere una API de Twitter para Python y los que me conocen saben que siempre me inclino por las cosas simples y minimalistas. En la búsqueda de la API adecuada me conseguí con esta joya de Mike Verdone: Python Twitter Tools.

Esta API no es tan conocida como por ejemplo python-twitter de DeWitt Clinton, pero sin duda alguna es hermosa. En poco más de 125 líneas implementa toda la funcionalidad de Twitter y además incluye un set de herramientas para probar la API desde una consola; así como también un bot IRC.

Me impresiona la simplicidad de esta API y lo bien elaborada que está. Implementa todo con una clase de un solo método que maneja todo. Es una excelente librería que se ha ganado mi respeto y admiración y por es la he elegido como API para Turpial xD.

Cualquier otra cosa que diga, estará de más. Su belleza se puede apreciar viendo su código y probándola. Recomendada 200%