Skip to main content

Wordle -- Game, Solver and Helper!

Project description

https://img.shields.io/pypi/v/python-wordle?color=success Documentation Status Python Version Support GitHub Issues GitHub Followers Twitter Followers

Wordle – Game, Solver and Helper!

Features

  • Comprehensive CLI Application
    • Play Wordle in your terminal!

    • Let the solver play it out for you!

    • Use the helper mode for solving Wordles provided by other platforms!

  • New Wordle every day.
    • Disclaimer: This has nothing to do with the NYTimes Wordle.

  • Play more using --random option.

  • Reproducible random Wordle by specifying --seed.

  • WordleSolver() class for solving Wordle.

  • --solve option to let WordleSolver() do its work in front of your eyes!

  • --helper option to activate the helper mode for help with solving Wordles provided by other platforms.

Install

To install, run this command in your terminal:

$ pip install python-wordle

Usage

usage: wordle [-h] [--random] [--seed SEED] [--solve] [--helper]

Wordle on your terminal

optional arguments:
-h, --help   show this help message and exit
--random     Show a random Wordle
--seed SEED  Seed the RNG
--solve      Simulate WordleSolver
--helper     Take help from WordleSolver for a Wordle in a different platform

Example

screenshot.png

Helper Session

Attempt 1
=========

Suggestions: [('kioea', 95.7343887423043)]
Chosen word: aeons
Obtained result: 01201
Eliminated 15868 options.

Attempt 2
=========

Suggestions: [('thrip', 78.0), ('thirl', 78.0)]
Chosen word: thrip
Obtained result: 00000
Eliminated 39 options.

Attempt 3
=========

Suggestions: [('blayk', 72.72727272727273), ('milky', 72.72727272727273), ('bulky', 72.72727272727273), ('lucky', 72.72727272727273), ('mckay', 72.72727272727273)]
Chosen word: milky
Obtained result: 10020
Eliminated 10 options.

Attempt 4
=========

Valid Words: {'smoke'}
Suggestions: [('smoke', 0.0)]
Chosen word: smoke
Obtained result: 22222

Congratulations!

Terminology

All of the following terms are valid in the context of a specific Wordle.

  • A set of known letters is a set of letters which are known to be present in the Wordle’s word based on clues obtained from the previous attempts.

  • A set of valid words at any given point refers to a set of words from vocabulary that are possible solutions to the Wordle at that point based on the clues obtained till then.

  • A letter is said to cover a word if the letter belongs to that word.

  • Coverage (absolute) of a word refers to the percentage of valid words (at that point) covered by the letters in that word.

  • Coverage (relative) of a word refers to the percentage of valid words (at that point) covered by the set of

Solver

Solver roughly uses the following strategy,

  • Guess a word with highest (relative) coverage.

  • After each guess, eliminate words based on the clues, e.g.,
    • Remove all words that contain an incorrect-letter

    • Remove all words that do not contain the identified (correct-letter, correct-position) combinations

    • Remove all words that contain the identified (correct-letter, incorrect-position) combinations

    • Remove all words that do not contain a correct-letter

    • Re-calculate (relative) coverage and guess again

  • If at any point, number of valid words drops below number of attempts left, guess the valid words one-by-one.

  • Additionally, there are heuristics to choose a word if multiple words with best coverage-score exist.

Helper

Helper mode can be used to get assistance while solving Wordle from another provider.

  • Suggestions for words will be provided at each step.

  • You may choose a word and obtain result.

  • Enter the obtained result as a ternary string, i.e., a string made of 0, 1, and 2.
    • 0 : (grey) : an incorrect letter.

    • 1 : (yellow) : a correct letter in wrong position.

    • 2 : (green) : a correct letter in correct position.

  • e.g., if the third letter turned green and fifth letter turned yellow in the third party Wordle, then you should input 00201 as the result obtained.

Evaluation

WordleSolver has been evaluated on the entire vocabulary.

Setup

  • Word Size: 5

  • Vocabulary Size: 15918

  • Maximum Attempts: 6

Performance

  • Success Count: 15446

  • Success Rate: 97.03 %

  • Average Attempts: 4.58

History

0.1.0 (2022-02-28)

  • First release on PyPI.

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

python-wordle-0.1.3.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_wordle-0.1.3-py2.py3-none-any.whl (1.8 MB view details)

Uploaded Python 2Python 3

File details

Details for the file python-wordle-0.1.3.tar.gz.

File metadata

  • Download URL: python-wordle-0.1.3.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11

File hashes

Hashes for python-wordle-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0aba49d736b1bad118f3b8f9353c00ed6e6a09def6d088826b91ccab64e1f713
MD5 ea5b9705afe5333cb58f0a808719b80b
BLAKE2b-256 ae289fcfec30463df266dff0fe9b213920c84c6a2397dc2612bc0a0d90d976ac

See more details on using hashes here.

File details

Details for the file python_wordle-0.1.3-py2.py3-none-any.whl.

File metadata

  • Download URL: python_wordle-0.1.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.5.0.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.11

File hashes

Hashes for python_wordle-0.1.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e07e64c190cb0c658b7b15e88603e6ce8ee2041ebc7f97bbb09341972d6526e0
MD5 bd4ad88e9ba0a7e1faa0c5553ac61944
BLAKE2b-256 3e36d1cebbc88bc7ef453d7697019b99df9c2874ca264ad7bde1b927f16c78a0

See more details on using hashes here.

Supported by

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