1000x1000 Minesweeper (Up to 999991 Mines)

This is my first coding challenge from Codecademy, with the goal to implement basic python knowledge and use of classes to create a working program. This minesweeper program was made in roughly 35+ hours. 15 or so were optimizations, which brought the total time for large board ‘clicks’ down by >100x. This program allows for minesweeper to be played in the terminal. It supports custom board lengths, widths, and numbers of mines. Boards can be as small as 3x4 up to 1000x1000, with up to 999991 mines. It handles errors and incorrect user input with no errors displayed in the console. Games can be won, lost, and reset indefinitely.

As for feedback, I would love to know if there’s any way I could’ve written the three other libraries I made, mineremover, positionfinder, and positionincrementer, into one library with much less code. They all use the same core logic, so it should be feasible. Let me know if you find any bugs or have any suggested changes! I’m sure the way the code is written is super bad too, this was my first project haha.