Skip to content

dame

Introduction

dame1 is an extremely fast international draughts (10x10 checkers) engine written in Rust 🦀, with a pythonic API.

Installation

Install the latest version from pypi:

uv add dame-rs

or if you prefer slow:

pip install dame-rs

Usage

import dame

board = dame.Board()  # or dame.Board("W:W31-50:B1-20")
board.legal_moves  # [Move('31-26'), Move('32-27'), ...]
board.push("32-28")
board.push("19-23")
board.legal_moves  # [Move('28x19x23')]: capturing is mandatory

engine = dame.Engine(hash_mb=64)
result = engine.search(board, time=1.0)
result.best_move, result.score, result.depth  # (Move('28x19x23'), 2, 13)
board.push(result.best_move)
print(board)

The search runs without the GIL and reports progress through an optional info callback. See the API Reference.

To play against the engine, use the command line or the macOS app.

Experimental

dame is in early development and was built just for fun with Claude Code. The API will change.


  1. Dame is German for draughts (checkers), and also for a king in the game: a piece that reaches the far row is crowned a Dame. ↩