Durante estas últimas temporadas en atareao.es, has ido encontrando diferentes recursos de Python, en concreto, englobados dentro del marco de píldoras. Se trataban de píldoras de Python, en concreto, lo que llamé Pyldoras Pythonicas. Estas Pyldoras trataban conceptos concretos de Python, y en general, se componen de una parte algo mas teórica, luego algunos ejemplos, y por supuesto el vídeo. Pero creo que faltaba algo mas y de ahí nacen las historias de un pythonico. Y de que van las ¿historias de un pythonico?
Introducción a historias de un pythonico
Algo de trasfondo
Al revisar las estadísticas de las pyldoras pythonicas, he visto que no tienen tanta aceptación como yo esperaba. Esto lo entiendo, porque al fin y al cabo, se trata de conceptos teóricos, aunque vengan acompañados de ejemplos y vídeo, pero no dejan de ser conceptos teóricos. Pero, me he planteado, ¿tiene sentido que continúe con las pyldoras?. Y he llegado a la conclusión que si que tiene sentido. Me sucede como en el caso diario de un crustáceo. En ocasiones, me interesa aprender o profundizar un concepto, y la mejor técnica para asentar ese conocimiento, es desde luego utilizando una Pyldora Pythonica.
Sin embargo, esto no se puede quedar ahí. No me puedo quedar haciendo pyldoras que no mira ni el tato. Así, que había que buscar algo que llamara la atención, y que a la vez, fuera de utilidad para mi y para todos. ¿Que podía hacer?
Algo que siempre me ha funcionado es el efecto inmediato. Te habrás dado cuenta que cuando terminas una aplicación, cuando consigues hacer algo con éxito tienes un subidón. Pues por ahí he pensado que debía atacar el asunto. Buscando temas que tenga una aplicación inmediata, y que aunque yo te las pueda contar, tu las puedas personalizar y adaptar a tus necesidades. Cuestiones muy concretas pero con una gran aplicación.
¿En que consiste historias de un pythonico?
Pues precisamente en eso, en historias, bueno, no realmente historias, sino en aplicaciones o servicios. En concreto, el objetivo de historias de un pythonico es ir contando como desarrollo un servicio o aplicación concreto, pero para que tu puedas comenzar a utilizarlo de inmediato, y por supuesto personalizarlo según tus necesidades.
El reto no es pequeño, ni mucho menos, porque el objetivo, como te decía anteriormente, es que cada uno de los capítulos de este historias de un pythonico tenga aplicación práctica, y que puedas personalizar de inmediato para tu caso concreto.
En este sentido, el código estará disponible GitHub, para que lo puedas empezar a utilizar cuando quieras, pero, estará organizado con etiquetas, tags, para que puedas avanzar con los propios capítulos. Cada una de las etiquetas, se corresponderá con un capítulo concreto, y lo identificaré en el propio capítulo. Pero siempre, podrás avanzar o retroceder en la propia historia.
Cada una de las historias estará compuesta de varios capítulos, y en general, no tendrán relación entre si, mas bien todo lo contrario, no tendrán ningún tipo de relación. Incluso, es mas, puede ser que una de las historias se refiera a como hacer un bot para Telegram, y otra de las historias se refiera a como crear un servicio web.
¿Como seguir esto de historias de un pythonico?
Si te estas preguntando *¿como seguir esto de historias de un pythonico? Desde el punto de vista de que IDE, o entorno de desarrollo, utilizar, indicarte que puedes utilizar el que tu quieras. Es completamente independiente.
Si me pides una recomendación, yo te diré que utilices PyCharm, que es uno de los que a mi mas me gustan, pero puedes utilizar cualquier otro como puede ser Visual Studio Code, o el que tu prefieras.
En general, el que voy a utilizar yo es Neovim, pero, no descarto en utilizar en algunos capítulos PyCharm, esto ya lo veremos.
Una asistente virtual en Telegram
La primera de las historias que te voy a contar es como hacer tu propio asistente virtual en Telegram. Ni mas ni menos que se trata de un bot, implementado en Python, que te va a permitir hacer lo que tu quieras, o mejor dicho lo que tu le programes.
Hasta la fecha, lo que generalmente he programado, ha sido un bot de Telegram que funcionaba con webhook. Es decir, que la forma de interaccionar con Telegram, es mediante llamadas que hacía Telegram a ese webhook, cuando se producía cualquier evento. Esto, por supuesto tiene un inconveniente, y es que ese bot tiene que estar expuesto a Internet, para que Telegram, sea capaz de alcanzarlo. Sin embargo, no todos tenemos la posibilidad de tener un acceso a internet, o simplemente no queremos.
Sin embargo, partiendo de los principios que te he indicado anteriormente, era necesario una solución que pudieras implementar de inmediato. Y ¿como hacerlo? La solución está en la mano de un método que existe en Telegram llamada getUpdates
, y que permite hacer esta comunicación.
¿Que te va a poder hacer este asistente virtual en Telegram? En principio lo que a ti se te ocurra. Por el momento, el momento es bastante básico, simplemente, si le preguntas la hora te la dices, y si le mandas una ubicación te dice la situación meteorológica actual.
Se que esto que actualmente puede hacer es muy básico, pero solo estoy en el capítulo 5, y prácticamente los primeros capítulos era para organizarlo. Ahora es cuando puede hacer cualquier cosa.
¿Quieres que el asistente haga algo concreto? Dime que es lo que quieres que haga el asistente en atareao.es/contactar. Recuerda que no necesitas dejar un correo, ni un nombre de usuario ni nada, solo si tu quieres que me ponga en contacto contigo, y allí me cuentas que es lo que quieres que haga tu asistente.
¿Como funcionan lo de las etiquetas?
Como te decía, cada una de las historias estará en su propio repositorio de GitHub, y estará ordenado por tag. De forma que te podrás mover de forma sencilla, entre cada uno de los capítulos correspondiente a la historia, simplemente cambiando de etiqueta.
Te pongo un ejemplo claro con el asistente virtual en Telegram. Lo primero que tienes que hacer es clonar el repositorio. Para ello, simplemente ejecuta la siguiente instrucción en una terminal, o utilizando el IDE (te recomiendo PyCharm) que tu utilices,
git clone https://github.com/atareao/asistente
Cuando lo clones, te encontrarás en la última etiqueta que haya implementado, pero tu deberías ir a la etiqueta o capítulo que quieras seguir. Si quieres ver todos los capítulos que hay, tienes que listar las etiquetas. Para ello, ejecuta,
git tag -l
Para moverte a un capítulo concreto tienes que ejecutar el comando git tag <numero-del-capítulo>
, por ejemplo, para ir al capítulo 1, lo que tienes que hacer es ejecutar el comando,
git checkout 1
Para volver al último capítulo, lo que tendrás que hacer es siempre, y en cualquier caso,
git checkout main
Si en cualquiera de los capítulos quieres crear una nueva rama, a partir de ese capítulo para seguir tu propia historia, tienes que ejecutar el siguiente comando,
git switch -c <nueva-historia>
Donde <nueva-historia>
, es el nombre de la rama, que derivará de esa etiqueta concreta.
El vídeo
Conclusión
Con esto ya tienes las bases para comenzar con el primero de los capítulos de historias de un pythonico, en concreto con la implementación de un asistente virtual en Telegram. Recuerda enviarme las propuestas de lo que quieras que haga el asistente a atareao.es/contactar. Así esto será mas divertido, y seguro que podemos saquerle mucho mas partido.
Más información,