Little helper to play the Wordle game
Project description
Wordle
Description
This is to help playing the Wordle game.
Usage
All the command line options can be found with the --help
option.
ubuntu@tab-pcg-ubuntu:~/wordle$ poetry run wordle --help
usage: Propose the next word at the Wordle game. [-h] [--all] [--none] [--unique] [--check] [--verbose] [--letters LETTERS] [--minfrequency MINFREQUENCY]
options:
-h, --help show this help message and exit
--all Displays the full list of available words.
--none Use none of the previously used letters.
--unique Do not repeat letters in a word.
--check Check that the word is valid.
--verbose Print progress.
--letters LETTERS The set of letters to be used.
--minfrequency MINFREQUENCY
A minimum frequency for the proposed words, between 1 and 7.
Check the Words API
In order to call the Words API below, you need to store a valid Rapid API key in RAPIDAPI_KEY
environment variable. This can be done with the secret.sh
if available in the repository:
. secret.sh
Using the --check
option will check all proposed words with the Words API. Be carefull that we only have 2500 free queries per day. After that it will automatically cost $0.004 per extra word. But it is also quite easy to check the status current of the usage.
poetry run wordle --check
Letters
The --letters
is useful to start the game with a word that is using the most common english letters to have the best chances to find letters of the solution word. It also could be a good idea to add the --unique
option to avoid repeating a letter. Adding the --check
will allow to check how often the words are used. This can be filtered with a --minfrequency
. And if you do not add too many letters, you can finally add --all
to see the full list of matching words.
poetry run wordle --letters=etaionshr --unique --check --minfrequency=3 --all
Development
The python depedencies are handled with Poetry.
poetry install
Unit tests
This is how to run the unit tests and generate the JUnit report.
poetry run pytest --junitxml=test-reports/report.xml
Check the types
This is done with mypy
poetry run mypy *.py
Check the syntax
This is done with pylint
poetry run pylint *.py
Initial word list
The initial list is taken from Github. But it contains many word that hardly exist.
Safety
In order to test that all the dependencies have no known issues, we are experimenting with Safety that compares our dependencies to the Satefty DB.
Checking the safety of the installed packages is done as follow:
poetry run safety check
Poetry
makes it easy to upgrade to the latest packages. It will update the poetry.lock
and even the pyproject.toml
accordingly.
poetry update
Publish to Pypi
On Pypi, this package is called pywordle
. It is very simple to publish it with poetry
:
poetry install
poetry build
poetry publish
Then it can be used with pip
for example:
pip instal pywordle
wordle --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pywordle-0.1.9.tar.gz
.
File metadata
- Download URL: pywordle-0.1.9.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1019-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67672f7e44589559011777e18c69ab8344f85975e7a6fbade6000d73046170eb |
|
MD5 | c9ea9f2049ceb2387aa62c1fe08a760c |
|
BLAKE2b-256 | 7480a079bbe8284275613c8eb2f8714bd2e73b57fe0ba07579580f9207d02ce8 |
File details
Details for the file pywordle-0.1.9-py3-none-any.whl
.
File metadata
- Download URL: pywordle-0.1.9-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.11.0-1019-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ea60aaa850be4ba48529bba8e1d0d78194b16e08fa8a1db368d3fc29b387ed1 |
|
MD5 | a2a159032319f154bdd85d06bbfa0947 |
|
BLAKE2b-256 | aed2247237c0569ab3bcd11c047b331a14fe96c8bc754fb16f6658a1acd1db91 |