The board is 64 single-character cells — a plain list of lists or even a 64-char str would suffice and would naturally resolve the rank/file index flip (see #37). pandas is used only by Lexicon to read a tab-separated file (subtlex.txt.gz); the stdlib csv + gzip modules work without it.
Dropping these would shrink environment.yml substantially and make the project pip-installable with no compiled deps. Linters can stay.
Related to #1.
The board is 64 single-character cells — a plain
listoflists or even a 64-charstrwould suffice and would naturally resolve the rank/file index flip (see #37).pandasis used only byLexiconto read a tab-separated file (subtlex.txt.gz); the stdlibcsv+gzipmodules work without it.Dropping these would shrink
environment.ymlsubstantially and make the project pip-installable with no compiled deps. Linters can stay.Related to #1.