Skip to main content

A reverse-engineering tool that turns your Wordle grid into a canvas. Tell it the colors you want, and it finds the exact words you need to type. Features an interactive CLI wizard and a smart flexible solver.

Project description

🎨 Paint on Wordle

PyPI version PyPI downloads Python 3.8+ License: MIT

Make Wordle look exactly how you want!

Paint on Wordle is a powerful solver tool that allows you to reverse-engineer the game. Instead of guessing words to find a solution, you provide the colors (pattern) and the solution word, and the tool tells you exactly which words you need to type to create that pattern on the grid.

Perfect for creating specific shapes/pixel art on your Wordle grid or solving tricky scenarios.

Features

  • 🧙 Interactive Wizard: A step-by-step graphical terminal interface to build your grid visually.
  • ⚡ Instant Solution Mode: Get immediate results by providing arguments directly in the command line.
  • 🧠 Flexible Matching: Smart algorithm that prioritizes exact matches but can swap Yellow/Green colors to find the closest possible word for your pattern.
  • 🔍 Exhaustive Search: Ability to list all valid candidates for a pattern, not just the best one.

Installation

Install the package directly from PyPI:

pip install paint-on-wordle

Usage

Once installed, you can run the tool using the command paint-wordle.

1. Interactive Wizard (Default)

Run without any arguments to start the interactive mode. The tool will guide you through setting the target word and painting the grid row by row.

paint-wordle

Controls:

  • Arrows / WASD: Move cursor between tiles.
  • Space: Toggle tile color (⬛ Gray -> 🟨 Yellow -> 🟩 Green).
  • Enter: Confirm pattern and find matching words.
  • Esc: Exit the program.

2. Instant Solution Mode

Use command-line arguments to skip the wizard and get immediate answers. This is useful for scripting or quick lookups.

Required Arguments:

  • --word / -w: The hidden target word (the solution) relative to which patterns are calculated.
  • --pattern / -p: One or more color patterns to match (e.g., 20010).

Pattern Legend:

  • 0 = Gray (Miss)
  • 1 = Yellow (Wrong Spot)
  • 2 = Green (Exact Match)

Advanced Options:

  • --flexible / -f (Smart Matching) By default, the solver is strict. If you use this flag, it treats Green and Yellow as interchangeable hits while strictly enforcing Gray spots.

    Logic: It searches for an exact match first. If none exists, it finds the closest match by performing the minimum number of color swaps necessary.

  • --find-all / -a Lists all valid candidates found for each pattern instead of showing only the single best word.

Examples

Basic Exact Match: Find a word that generates "Green, Gray, Gray, Gray, Gray" when the solution is "apple":

paint-wordle --word apple --pattern 20000

Multiple Patterns: Check three different rows at once:

paint-wordle -w apple -p 20000 00100 22222

Using Flexible Mode: You want a specific pattern, but you don't care if some Yellows become Greens (or vice versa), as long as the Grays stay Gray:

paint-wordle -w apple -p 21001 --flexible

List All Candidates: Show every single word that fits the pattern, not just the first one found:

paint-wordle -w apple -p 00000 --find-all

Development

If you want to contribute or run the code from source:

  1. Clone the repository:

    git clone https://github.com/KMChris/paint-on-wordle.git
    cd paint-on-wordle
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run via module:

    python -m src.main
    

Project Structure

  • src/main.py: Entry point. Handles argument parsing and mode selection.
  • src/cli.py: Handles the interactive wizard interface and user input.
  • src/solution.py: Core logic, pattern calculation, and word filtering algorithms.
  • src/data/words.txt: The dictionary of valid 5-letter words.

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

paint_on_wordle-1.2.0.tar.gz (55.7 kB view details)

Uploaded Source

Built Distribution

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

paint_on_wordle-1.2.0-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

Details for the file paint_on_wordle-1.2.0.tar.gz.

File metadata

  • Download URL: paint_on_wordle-1.2.0.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for paint_on_wordle-1.2.0.tar.gz
Algorithm Hash digest
SHA256 2d66e5d6d0c3c8c712caa21b6d65b0239188421c6b1a71e21cc7bed97ad487e3
MD5 1e99f7891a15eeb432022b9081809e48
BLAKE2b-256 fdcd777e1709d090c2e25f03c46db6583df8155f024cffa2f15b146b88b245c6

See more details on using hashes here.

File details

Details for the file paint_on_wordle-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for paint_on_wordle-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c70c219e70e2680cb84baf8f426236d151b5bf005a6ad23f2d403e504980b32e
MD5 de203c59bee278658528b6e7fa92cf33
BLAKE2b-256 9f4435e8e4d8742ccc45f42bfbd52fb1109a21775d6da9084a9a4657c970864b

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