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.0.0.tar.gz (47.0 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.0.0-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paint_on_wordle-1.0.0.tar.gz
  • Upload date:
  • Size: 47.0 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.0.0.tar.gz
Algorithm Hash digest
SHA256 f9742b511e5bee77b0a3f0e558b97efa33a35355f96b001dd9cd3f3f3f1e9c9c
MD5 82a93116fed1cb1754b8edfd5be90b86
BLAKE2b-256 db72014ce16289030ed4a035eb5299521d4b7ddb746eefcb80a89ae95b53bd16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paint_on_wordle-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 88f4b886810c9e51a909dad2c24f395956d7ddfbca92f0e0068a7d2e52015275
MD5 b6238dd5966230730abc3008c9afdcce
BLAKE2b-256 99d20a4ced9519fb20a98301e0999ded88f2b7eafcde65936ed1116e716b83ff

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