Skip to main content

A chess xai program

Project description

python-chessx

A chess XAI program

Tests PyPI - Python Version PyPI GitHub last commit PyPI - Implementation PyPI - Wheel

  1. Introduction
  2. Dependencies
  3. Features
  4. Tests

1. Introduction

python-chessx is an explainable chess AI that generates commentary for positions/moves in a game of chess.

2. Dependencies

  • Python3 - Download and Install Python3. You can also use your system's package manager to install the latest stable version of python3.
  • For dev work, run the following commands (preferrably in a virtual environment):
pip install -e .

3. Features

  • Provides a utility to generate explanations from a FEN representation of a chess position.
    1. Piece Square Tables
    import chessx.heuristic as heuristic
    import chess
    
    psqt_fen = 'rn2kb1r/pp2qppp/2p2n2/4p1B1/2B1P3/1QN5/PPP2PPP/R3K2R b KQkq - 1 9'
    psqt_util=heuristic.PSQT(psqt_fen)
    
    # generate list of explanations
    exp_list=psqt_util.get_explanations()
    
    # print explanations
    print('PSQT Explanations:')
    for exp in exp_list:
        print(exp)
    
    1. Trapped Pieces
    tp_fen='r5k1/p4p1p/2p3pb/2N1n2n/1p2PP2/1B2B1PP/PP4K1/3R4 b - - 0 24'
    tp_util=heuristic.TrappedPieces(tp_fen)
    
    # generate list of explanations
    exp_list=tp_util.get_explanations()
    
    # print explanations
    print('Trapped Pieces Explanations:')
    for exp in exp_list:
        print(exp)
    
    1. Pinned Pieces
    pin_fen='1rk5/8/4n3/5B2/1N6/8/8/1Q1K4 b - - 0 1'
    pin_util=heuristic.PinnedPieces(pin_fen)
    
    # generate list of explanations
    exp_list = pin_util.get_explanations()
    
    # print explanations
    print('PinnedPieces Explanations:')
    for ex in exp_list:
        print(ex)  
    print()
    

3. Tests

The following command to runs unit tests on the project:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chessx-0.2.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

chessx-0.2.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file chessx-0.2.0.tar.gz.

File metadata

  • Download URL: chessx-0.2.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for chessx-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cc0d1b0c20595fc0b3cc2d0fd87935fb0f89559bc564d13e5278361f99444edd
MD5 9f7de48eeaf5d2a3600e1550757b40c3
BLAKE2b-256 c88a97b4f411fd71d20778b1c78716f4f224af77363ee41b5a5f4f926c084ea9

See more details on using hashes here.

File details

Details for the file chessx-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: chessx-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for chessx-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d37cf6ee85970eaefa1e7e4f34b8556fd7214252b0861efd80b64e6610b3088f
MD5 3ace9d2045bf2a197c7cafa6fb7f667c
BLAKE2b-256 f6bbd2d79175d3f9c61b35310cb3fd2ed3a5c19ef65c75465be44747cb2b35e6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page