Python-chess

Home * Software * Utilities * python-chess

python-chess, a chess library by Niklas Fiekas, written in Python and released under the GPL v3. The goal was to create a simple and relatively highlevel library. It supports Python 3.5.3+ and PyPy3.

=Features=

Board and Moves

 * Legal Move Generation
 * Make Move
 * Unmake Move

Detection

 * Attacks
 * Check
 * Checkmate
 * Stalemate
 * Draw by Insufficient Material
 * Repetitions

Creating and Parsing

 * SAN
 * FEN
 * EPD
 * PGN

Probing

 * PolyGlot Opening Book
 * Gaviota Tablebases
 * Syzygy Bases

Protocols

 * UCI

=See also=
 * aiBloodshed
 * If Deep Blue could talk
 * Jerry
 * libchess
 * PicoChess
 * Shatranj (toolkit)

=Forum Posts=
 * Re: PGN to FEN (with Evaluation)? by Matthew Lai, CCC, December 29, 2014
 * Re: how to probe egtb from console? by Ronald de Man, CCC, May 15, 2015 » Endgame Tablebases, CLI
 * Python Chess - A Short Introduction by Steve Maughan, CCC, May 16, 2015
 * Probing tablebases in python-chess by Robert Pope, CCC, March 20, 2017 » Gaviota Tablebases

=External Links=
 * python-chess 0.28.1 : Python Package Index
 * niklasf/python-chess · GitHub by Niklas Fiekas,
 * niklasf/syzygy-tables.info · GitHub by Niklas Fiekas, GUI and public API for Syzygy probing
 * Syzygy endgame tablebases Web Interface - Syzygy online lookup
 * An implementation of the Bratko-Kopec Test using python-chess » Bratko-Kopec Test
 * Chess Programming | Python Chess by Niklas Fiekas, hosted by Steve Maughan, May 16, 2015
 * GitHub - Mk-Chan/python-chess-engine-extensions: Search and evaluation extensions for python-chess by Manik Charan
 * GitHub - Mk-Chan/lczero_tools: Utilities for experimenting with leela-chess-zero by Manik Charan » Leela Chess Zero

=References= Up one Level