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 current row 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.1.0.tar.gz (55.6 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.1.0-py3-none-any.whl (56.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paint_on_wordle-1.1.0.tar.gz
  • Upload date:
  • Size: 55.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 c3b23898315c359e27defdbdc6c05885b2d8e84ce5814a5bc04342f0bef89dc0
MD5 79c8ad94f8f493a8ecd8517bda309a3e
BLAKE2b-256 261274a81385659a8e183976ac163bbf799449c7e5f3fcb68553c8e7faa6800c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paint_on_wordle-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c04b6cde258550422da65583021369eb7419321ba63cf9b6a804bb2d92730f10
MD5 b1f66ccb0f7945e7d2eea2f3a22e54cc
BLAKE2b-256 32092c78670f5c7692dab16eff70868a2633168d84b94067318a4287e7cdc61a

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