chess-board is a Python chessboard package with a flexible "just a board" API for graphically representing game positions.
- A chess engine
- A legal move validator
- A PGN parser
While chess-board is designed to work well with any of these, the idea behind chess-board is that the logic that controls the board should be independent of those other problems.
from chessboard import display
valid_fen = 'rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2'
# Initialization
game_board = display.start()
# Position change/update
display.update(valid_fen, game_board)
# Checking GUI window for QUIT event. (Esc or GUI CANCEL)
display.check_for_quit()
# Close window
display.terminate()
test.py - example
from chessboard import display
valid_fen = 'rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2'
game_board = display.start()
while True:
display.check_for_quit()
display.update(valid_fen, game_board)
# board flip interface
if not game_board.flipped:
display.flip(game_board)
Download and install the latest release:
# install into virtualenv
source env/bin/activate
pip install chess-board
or
# install with pipenv
pipenv install chess-board
or
# install system-wide
pip install chess-board
Alternatively, you could git clone this repo and add the directory to your package.
git clone https://github.com/ahira-justice/chess-board.git
pygame==2.1.2
chess-board installation automatically installs latest pygame version.