Package: palabros
palabrosEsto no es más que un CLI inspirado enWordle ES, que a su vez es una adaptación deWordle. No hay mucho de original conpalabros, más allá de losexy frikide jugar a través de la terminal.Puedes leer el artículoCreando un Wordle para consolade Medium para conocer con algo más de detalle cómo planteé el desarrollo depalabros.Cómo jugarpalabrosestá publicado enPyPI, por lo que su instalación es tan sencilla como:pipinstallpalabrosSe muestra la instalación conpip, pero se puede usar cualquier otro gestor de paquetes, comoPoetry, por ejemplo.Una vez instalado, tendremos disponible el comandopalabros play, que podremos usar para jugar con una palabra de nuestra conveniencia:palabrosplaycocheAl ejecutar el comando pueden darse las siguientes opciones:Si es la primera ejecución del día, cuenta como primer intento de adivinar la palabra semillaSi no es la primera ejecución del día, cuenta como un intento sucesivo de adivinar la palabra semilla -hasta un total de 6 intentos-Si la palabra semilla se adivinó, o bien no se adivinó pero se consumió el número de intentos, se mostrará una cuenta atrás a cumplir para que se genere una nueva palabra semilla y, por tanto, se pueda volver a jugarComo resumen: puedes ejecutarpalabros playcuantas veces quieras, pero solo las 6 primeras del día cuentan como intentos de adivinar la palabra semilla.Si le das al coco lo suficiente y lo combinas con un poco de suerte, darás con la palabra semilla :-)Cómo trabajarSi quieres trastear con el código, hacer añadidos o cambios, necesitas saber quepalabrosestá desarrollado conPython 3.8y utilizaPoetrycomo gestor de paquetes. Una vez tengas ambos instalados y, también, el repositorio clonado, debes hacer lo siguiente:poetryinstallEsto creará un nuevo entorno virtual para el proyecto e instalará en él todas las dependencias necesarias. Con esto ya podrás ejecutarpalabroslocalmente y desarrollar a tu antojo.¡Ah, importante! Se hace uso depre-commitpara validar automáticamente la calidad del código que secommitea, ejecutando por nosotros los checks depyupgrade,isort,blackyflake8. Antes de hacer tu primer commit no olvides configurar el hook:poetryrunpre-commitinstallEsto es necesario hacerlo una sola vez tras clonar el repositorio e instalar las dependencias. Ahora, con cadagit commit, tendremos una validación de calidad del códigoby the facesin tener que intervenir manualmente.Por hacerAunquepalabrossea fruto de un par de tardes ociosas y no tenga pretensión alguna, sí que tiene cosas que son mejorables y, conforme el tiempo me lo vaya permitiendo, las iré atendiendo. Tengo fichadas las siguientes:El diccionario de palabras que usa quizá no sea el mejor. Muchas de ellas no son de uso común y, a su vez, no contiene otras que sí lo son; me gustaría encontrar un dataset o corpus de sustantivos que tenga información de frecuencia de uso. No me culpes mucho si te salen palabras que desconoces -a mí también me pasa-.He reconstruido el diccionario desde cero usando 3.750 palabras delCorpus de Referencia del Español Actual (CREA) - Listado de frecuenciasque ofrece gratuitamente la RAE. Ha sido tedioso, ya que la fuente es un.txtsin formato alguno y con el encoding incorrecto, pero ya está hecho. Gracias@iknitepor la ayuda.A nivel arquitectura hay una separación de capas evidente, pero no es perfecta. Sería genial marcar bien los límites y que cada módulo, clase y método asuma solo y exclusivamente las responsabilidades que son de su competencia.Muchos pequeños detalles no están contemplados. Por ejemplo, la limpieza de las palabras que indica el usuario se limita a tildes y diéresis, pero se pueden colar otros gazapos.La gestión de errores es algo -muy- parca.Los tests unitarios. La ausencia de ellos, vamos.CréditosAquí quiero mencionar a varias personas.Por un lado, la idea depalabrossurje deWordle ES, y ésta a su vez deWordle. Mi trabajo se resume en poner un par de neuronas a codificar una versión CLI que nada tiene que ver oficialmente con los servicios mencionados. Si os molapalabros, dad las gracias aDaniel Rodriguezy aJosh Wardle, que son, respectivamente, los responsables de Wordle ES y Wordle.Por otro lado, agradecer aCarlos Fenollosael trabajo realizado para crear elDiccionario libre en españolque he utilizado para generar el diccionario depalabros. Todas las palabras están debidamente tipificadas en el diccionario: yo las he filtrado para quedarme exclusivamente con nombres (comunes, compuestos, femeninos, masculinos y ambiguos) de 5 letras. Suman más de 3600 palabras: nos da para jugar diaramiente apalabroslos próximos 10 años.LicenciaLa licencia que he contemplado esMIT, que si no me equivoco, permite hacer con este código cualquier modificación, publicación y explotación posible. Dicho de otro modo, más directo: haced con este código lo que más os mole. Eso sí, si os hacéis millonarios con él, que lo dudo, por favor, invitadme a un café; es lo único que pido.