This is really fun, good work Philip!
I haven't seen this puzzle game before, I had to read into it a bit (and had to actually cheat a bit, via solve_puzzles.py.)
Works fine out of the box with python 3, no extra libraries required.
This is good enough to submit to PyPI. Seems like a nice terminal game. Something to play in a tmux pane while tests are running or while waking up with a coffee.
Also I looked at the code, it looks fine.
I saw the multiprocessing in generate_puzzles. Wow. I don't even know what Thread.starmap does. This works nicely.
Keep it up!