Skip to content

A chess bot meant to mimic human behaviour as a tool to create a more interesting, and realistic learning environment.

License

Notifications You must be signed in to change notification settings

funkybooboo/rylee

 
 

Repository files navigation

Rylee - The Human-like Chessbot

Rylee is a chess application suite with multiple engines, data processing tools, and ML training utilities.

Features

  • Interactive chess game (GUI and CLI)
  • Human focused chess engine (Rylee)
  • Multiple chess engines (Stockfish, LCZero, Random bot, and Rylee Bot)
  • PGN file processing and conversion to CSV
  • Lichess data pipeline for ML training
  • Time controls and automatic game recording

Quick Start

# Clone and setup
git clone <repository-url>
cd rylee
poetry install --no-root

# Setup the configs
cp packages/convert/.env.example packages/convert/.env
cp packages/play/.env.example packages/play/.env
cp packages/train/.env.example packages/train/.env
# See config.json if you want to tweak the training configs

# Build Legal Moves Database
python -m packages.train.src.dataset.fillers.fill_legal_moves

# Run chess application
poetry run python -m packages.train.src.dataset.main
poetry run python -m packages.play.src.main
poetry run python -m packages.train.src.train.main

Project Structure

rylee/
├── packages/
│   ├── convert/       # PGN conversion utilities
│   ├── play/          # Chess game application
│   └── train/         # ML training and dataset pipeline
├── docs/              # Development documentation
└── pyproject.toml

Packages

Interactive chess game with Stockfish, LCZero, and random bot support.

PGN file combination and conversion to CSV for ML training.

ML training pipeline and Lichess dataset ETL.

About

A chess bot meant to mimic human behaviour as a tool to create a more interesting, and realistic learning environment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%