[pyar] [ANN] AutoPython

Germán L. Osella Massa gosella en gmail.com
Mie Mar 23 20:20:04 ART 2016


Muy buenas!

Quería contarles sobre AutoPython, una herramienta para todos los
osados que gustarían de hacer presentaciones/demos/live-coding desde
la consola de Python pero ya sea porque se le enredan los dedos al
tipear o porque la memoria los traiciona, nunca lograron cumplir ese
sueño.

Con AutoPython uno arma un script común y corriente de Python con todo
el código que le gustaría ejecutar durante la demo y AutoPython se
encargará de hacerse pasar por el shell propio de Python y con la
presión de una tecla, comenzará a tipear las sentencias como si uno
las escribiera (pero sin equivocarse :-), parando entre sentencia y
sentencia para darle un toque de suspenso antes de mostrar el
resultado que producen al presionar ENTER.

Además, es posible avanzar o retroceder entre las sentencias, las que
son numeradas automáticamente para facilitar los saltos. El mecanismo
es similar a cuando se pasan slides en PowerPoint.

Además, el código se muestra con colores resaltando la sintaxis.

Además, se puede dejar temporalmente el modo presentación en cualquier
momento, ingresar código a mano para ejecutarlo como se lo hace en el
shell habitual de Python y regresar finalmente a la presentación en el
punto donde se la interrumpió. Todo cambio que se haga durante la
ejecución afecta al resto de la presentación (ideal para preguntas no
previstas o cuando se detecta alguna metida de pata).

Además, para los perfeccionistas, se genera un log con todas las
sentencias mostradas, en el orden en que se mostraron y con una marca
de tiempo indicando cuanto se demoró en cada uno de ellas, para así
poder "pulir" futuras repeticiones de esa presentación.

Además... eehhhh... creo que nada más.

Algunos de los miembros de la lista me vieron usarlo en el PyDay que
se hizo en Junín el año pasado y me pidieron que lo comparta. Se hizo
esperar pero finalmente está publicado :-)

El código está en GitHub bajo licencia GPLv3 en
https://github.com/gosella/autopython

Aún no domino el arte de empaquetar código en Python pero si alguno se
anima a darme una mano (*cough* *cough* Fisa *cough* *cough*), se
aceptan PR :-)

Ojalá les resulte útil.

Saludos,
Germán

PD: Para ser más inclusivos, aplicar "s/(\w+)o(s)?\b/\1a\2/g" a este
texto en donde corresponda ;-)


Más información sobre la lista de distribución pyar