Skip to main content

Este CLI no es más que clon de Wordle en español

Project description

palabros

Esto no es más que un CLI inspirado en Wordle ES, que a su vez es una adaptación de Wordle. No hay mucho de original con palabros, más allá de lo sexy friki de jugar a través de la terminal.

palabros screenshot

Puedes leer el artículo Creando un Wordle para consola de Medium para conocer con algo más de detalle cómo planteé el desarrollo de palabros.

Cómo jugar

palabros está publicado en PyPI, por lo que su instalación es tan sencilla como:

pip install palabros

Se muestra la instalación con pip, pero se puede usar cualquier otro gestor de paquetes, como Poetry, por ejemplo.

Una vez instalado, tendremos disponible el comando palabros play, que podremos usar para jugar con una palabra de nuestra conveniencia:

palabros play coche

Al 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 semilla
  • Si 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 jugar

Como resumen: puedes ejecutar palabros play cuantas 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 trabajar

Si quieres trastear con el código, hacer añadidos o cambios, necesitas saber que palabros está desarrollado con Python 3.8 y utiliza Poetry como gestor de paquetes. Una vez tengas ambos instalados y, también, el repositorio clonado, debes hacer lo siguiente:

poetry install

Esto creará un nuevo entorno virtual para el proyecto e instalará en él todas las dependencias necesarias. Con esto ya podrás ejecutar palabros localmente y desarrollar a tu antojo.

¡Ah, importante! Se hace uso de pre-commit para validar automáticamente la calidad del código que se commitea, ejecutando por nosotros los checks de pyupgrade, isort, black y flake8. Antes de hacer tu primer commit no olvides configurar el hook:

poetry run pre-commit install

Esto es necesario hacerlo una sola vez tras clonar el repositorio e instalar las dependencias. Ahora, con cada git commit, tendremos una validación de calidad del código by the face sin tener que intervenir manualmente.

Por hacer

Aunque palabros sea 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 del Corpus de Referencia del Español Actual (CREA) - Listado de frecuencias que ofrece gratuitamente la RAE. Ha sido tedioso, ya que la fuente es un .txt sin formato alguno y con el encoding incorrecto, pero ya está hecho. Gracias @iknite por 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éditos

Aquí quiero mencionar a varias personas.

Por un lado, la idea de palabros surje de Wordle ES, y ésta a su vez de Wordle. 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 mola palabros, dad las gracias a Daniel Rodriguez y a Josh Wardle, que son, respectivamente, los responsables de Wordle ES y Wordle.

Por otro lado, agradecer a Carlos Fenollosa el trabajo realizado para crear el Diccionario libre en español que he utilizado para generar el diccionario de palabros. 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 a palabros los próximos 10 años.

Licencia

La licencia que he contemplado es MIT, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

palabros-0.0.6.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

palabros-0.0.6-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file palabros-0.0.6.tar.gz.

File metadata

  • Download URL: palabros-0.0.6.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.10.2 Linux/5.11.0-1028-azure

File hashes

Hashes for palabros-0.0.6.tar.gz
Algorithm Hash digest
SHA256 3b51df1c1764690e0e76b0fb6f93c3dead7a27aa3dc1e2063660db578c2a7a1b
MD5 1f6c204cd24cac2a3cac8752b597cb8d
BLAKE2b-256 acc4d243cd1ab9f3f08fe0d6c25e92340cccb6bfdccdba50693c7fc2974b4976

See more details on using hashes here.

File details

Details for the file palabros-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: palabros-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.10.2 Linux/5.11.0-1028-azure

File hashes

Hashes for palabros-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 38819939a4857f95f0287f692d6ba75e30434cdbe025073192ec07cc2745a4cd
MD5 56316e53fd2fd7e10349703987448ffe
BLAKE2b-256 1a2bd5a2c5f1e8bae584616c031aa9250796a17ac099bda83b4b14cd2ff07d89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page