NYT Connections in the Terminal
A lightweight, dependency-free TUI for playing the NYT Connections game in your terminal. It fetches the official daily puzzle and lets you play with a simple, clean interface using Python's built-in curses library.
Preview
Here's a glimpse of what it looks like in action:
$ connections-tui -d 2024-08-23
NYT Connections — 2024-08-23
Strikes: ❤❤❤❤❤
Solved groups: (none yet)
[ BUFF ] [ CREAM ] [ FINISH ] [ FAWN ]
[ TAN ] [ MONITOR ] [ GLOVES ] [ BOA ]
[ CHECK ] [ TERMINAL ] [ TIE ] [ FAN ]
[ SCREEN ] [ CORSET ] [ DISPLAY ] [ BASK ]
Use arrows/WASD to navigate, [Space]=Select, [Enter]=Submit, f=shuffle, c=clear, q=quit
Features
- Play the official NYT Connections puzzle for any day.
- No external dependencies, just Python 3.8+.
- Smooth keyboard navigation (Arrow keys or WASD).
- Shuffle, select, and submit words.
- Strike tracking with hearts (
❤) or ASCII (O/x) for compatibility. - "One away" hints when you're close.
- After solving, you can immediately load the next or previous day's puzzle.
- Load puzzles from local JSON files for offline play or custom games.
- Set a random seed for reproducible shuffles.
Installation and Usage
Arguably the simplest way to run the project is with uv:
uvx connections-tui@latest
You can of course install directly from PyPI:
pip install -U connections-tui
and run the console command in your terminal:
connections-tui
Command-line Options
You can customize the game with these arguments:
| Argument | Shorthand | Description |
|---|---|---|
--date <YYYY-MM-DD> |
-d |
Play the puzzle for a specific date. (Default: today) |
--file <path/to/file.json> |
-f |
Play from a local JSON puzzle file. |
--seed <integer> |
-s |
Set the random seed for reproducible board shuffles. |
--ascii |
-a |
Use ASCII characters (O/x) for strikes instead of hearts. |
Example:
# Play yesterday's puzzle with ASCII hearts
connections-tui -d $(date -v-1d +%Y-%m-%d) --ascii
Keybindings
| Key | Action |
|---|---|
Arrow Keys, WASD, HJKL |
Move cursor |
Space |
Select/deselect a word (up to 4) |
Enter |
Submit your selection of 4 words |
f |
Shuffle the remaining words on the board |
c |
Clear your current selection |
q |
Quit the game |
n |
(After solving) Load the next day's puzzle |
p |
(After solving) Load the previous day's puzzle |
License
This project is licensed under the MIT License. See the LICENSE file for details.
Metadata
Release files for connections-tui 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| connections_tui-0.0.9.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| connections_tui-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.7 kB
Release files / connections_tui-0.0.9.tar.gz
| Download URL | connections_tui-0.0.9.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ea2c2f95d97965bb71107f8035b83165d13ba5a7af1f341421b463ba653a80b
|
|
BLAKE2b-256 checksum How to use checksums |
1936b71aa125e83baead5de3c43517d70570ccdb075ef0c931f6e60951865a8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.27
|
Release files / connections_tui-0.0.9-py3-none-any.whl
| Download URL | connections_tui-0.0.9-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4c6bc4b0f0deb43e0f0d034ef6a6af728606eed1102e16f1fc45b90d18e59f84
|
|
BLAKE2b-256 checksum How to use checksums |
f41595a8e8a87359844b99ea3aa0664ea9c7c5b16eedd438c662e614689189a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.27
|