python-chess
python-chess copied to clipboard
A chess library for Python, with move generation and validation, PGN parsing and writing, Polyglot opening book reading, Gaviota tablebase probing, Syzygy tablebase probing, and UCI/XBoard engine comm...
Some chess programs that write PGN files (including lichess.org and others mentioned in the linked issue) will write multiple consecutive braced comments--e.g., `1. e4 { A very common opening }...
* Adds support for NAGs in the svg. - five NAGs has been added ie. !, !!, ?, ?? and ?!  * Attempted to remove unnecessary if statements from...
[feature request] add `board.san_move_stack` similar to `board.move_stack` to get san format moves
Hi @niklasf , This is the same as https://github.com/niklasf/python-chess/issues/1065. I just re-defined the issue to the feature request to simplify it. It'll be good to have a `board.san_moves_stack` to get...
# Grid Labels ## Explanation: This push request adds labels to the `__str__` method of `chess.Board` as mentioned in #971. You can set the label when calling `__init__()` of `chess.Board`...
To me, it's easier to see/understand a board's printed representation with the rank/file shown. ```python In [1]: import chess In [2]: board = chess.Board() In [3]: print(board) r n b...
I am running my engine under lichess-bot with debug tracing enabled. Debug output ("info string") starts being sent after "uci" but before "isready." However, I am getting an assertion from...
Bug report received via email: ```python import chess import chess.engine import logging import asyncio logging.basicConfig(level=logging.DEBUG) engine = chess.engine.SimpleEngine.popen_uci("stockfish") # ./stockfish15.exe") board = chess.Board("r1bqkbnr/p1pp1ppp/1pn5/4p3/2B1P3/5Q2/PPPP1PPP/RNB1K1NR w KQkq - 2 4") info =...
Would the TRF file format be something in scope for python-chess? There is a package for it (https://pypi.org/project/trf/) but it would be nice to have it packaged up in a...
- [ ] Fix inconsistent string formatting (both `.format()` and f-string methods are used) - [ ] Refactor & optimize algorithms (syzygy, gaviota) - [ ] Shorten maximum line length...