Skip to main content

The popular word game recreated in Python, deployable with custom answers.

Project description

Wordle

View on GitHub and PyPI.

Wordle is super fun and popular game. Unfortunately, it's new and nonstandard, meaning the backend technology is not prevalent and recreatable online. There are a couple web-based customizable Wordle tools, which work very well, but they're front-end only (you can't clone, copy, modify, or edit the back-end to deploy it to a website or run your own game). That said, the logic behind Wordle is quite simple which is why it's now a Python library, enabling all the functions of an open-sourced game.

Currently, the module is logic based and runs in a shell. I'd love it if this project was forked into a GUI-based application, possibly using pygame, allowing users to take this a step further and deploy a version with a user-interface. As it stands, the best way I can think of to deploy Wordle to the web is by using an embedded Python console like Trinket and putting it in 'run-only' mode so users can't see the source code (where the answer is). See an example of this in real deployment here.

In any case, usage of this module is wickedly simple, if I may say so myself.

import wordle

game = wordle.Wordle(word = 'HELLO', realWords = False)
game.run()

# Or even more simply:
wordle.Wordle(word = 'hello', realWords = True).run() # runs in one line. 

Instantiate a game object using game = wordle.Wordle(). The two positional requirements of the Wordle class are word and realWords. word is the answer to the game. If the object is instantiated with realWords = True, word must be a real, five-letter word or an exception will be raised, and you'll have to change your instantiation to reflect a real word. realWords is a boolean. If it's True, the package will check user's (in-game) guesses against a comprehensive inbuilt database of thousands of five-letter words. If it's False, any guess (real or not) will be accepted. In summary, realWords applies both to the answer in the code's instantiation and in the user's in-game guesses.

In the game of Wordle, part of the challenge is that guesses must be real words. This prevents users from guessing "aeiou" as their first attempt, for example. That's it's relevant and important for you to tell the game object whether it should check for real words or not.

Note: In version 1.5.10, the issue disallowing a lower-case word has been patched. word = 'hello' and word = 'HELLO' are both acceptable in the game initialization.

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

wordle-python-1.6.3.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

wordle_python-1.6.3-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wordle-python-1.6.3.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for wordle-python-1.6.3.tar.gz
Algorithm Hash digest
SHA256 e4eb23625914992f2f22c3fd8ac4444db66161ae25b778f1c7b49afd4d8c0244
MD5 6897c934173951352e5fe6cfc908179d
BLAKE2b-256 e10789bacdea2eaac16dac5fc32dc8366de2eb9889b92e3e0d2bcdad39ef2118

See more details on using hashes here.

File details

Details for the file wordle_python-1.6.3-py3-none-any.whl.

File metadata

  • Download URL: wordle_python-1.6.3-py3-none-any.whl
  • Upload date:
  • Size: 2.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for wordle_python-1.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2cb7e31450b483d4a33d7d75d4464f9d26caae3cd11e684419f194899a76f0d8
MD5 5f1bbb7f985cc30baa4e257bcfdc6485
BLAKE2b-256 bdfe84beceb15dccaca78e690818a1e0f1cf434dc079531270558f367ad42903

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