
About
Minesweeper is a logic puzzle game genre, usually played on personal computers, in which players clear a grid of tiles without detonating hidden mines. Par Infinite Minesweeper is a terminal (TUI) Minesweeper game in Python and Textual, played on an infinite board made of 8x8 sub-grids. It has local and online high scores, auto-saving, and a server mode that serves the game in a browser.
How it differs from the original
The board is infinite and split into sub-grids that unlock as neighbouring cells are uncovered, and the score is the total number of mines in solved sub-grids. The first click is always safe.
Getting started
Install it with uv as a tool from PyPI or GitHub (Python 3.11-3.13), then run pim; pim --server serves it in a browser on localhost. Left-click uncovers, F or right-click flags, and dragging pans the board.
Known limitations
- platform: Internet leaderboard login and server mode require port 1999 on the host; if another pim process is mid-login or port 1999 is in use, the auth listener will fail.
- platform: Remote browser clients reaching the game through server mode cannot complete the OAuth flow for leaderboard login, as the callback targets the server's loopback interface.
- performance: Flood-fill for very large empty board regions can stall the frame due to iterative BFS with depth cap.
Additional notes
- Leaderboard
- The internet leaderboard needs a social login through a temporary listener on port 1999, and only a hashed email is stored on the server.
- Roadmap
- Additional game modes are planned; the data model already supports them.