bulletchess#

bulletchess is a Python module for playing, analyzing, and building engines for chess. Unlike other chess libraries in Python, the core of bulletchess is written in C, allowing it to be much faster than alternatives.

Overview#

At a high level, bulletchess includes:

  • A complete game model with intuitive representations for pieces, moves, and positions.

  • Extensively tested legal move generation, application, and undoing.

  • Parsing and writing of positions specified in Forsyth-Edwards Notation (FEN), and moves specified in both Long Algebraic Notation and Standard Algebraic Notation.

  • Methods to determine if a position is check, checkmate, stalemate, and each specific type of draw.

  • Efficient hashing of positions using Zobrist Keys.

  • A Portable Game Notation (PGN) file reader

  • Utility functions for writing engines.

Github Repository

pip install bulletchess

Glossary#