Pygin banner
IchNukeDichWeg IchNukeDichWeg

Pygin

Development community

Description

Pygin - a from-scratch UCI chess engine in Python + C, with a hand-written search and evaluation and the entire per-node search loop in C. Built with the help of Claude Code.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Pygin

**A from-scratch chess engine in Python + C.** The search is hand-written. Since v58 the evaluation is an HCE/NNUE hybrid: the neural net scores positions inside the main search, and the hand-crafted eval keeps quiescence. There is no external engine, and the net learned from Pygin's own self-play games only, with no borrowed data and no borrowed weights.
[`python-chess`](https://pypi.org/project/chess/) is used *only* for board representation, move generation and legality.

![Strength](https://img.shields.io/badge/strength-~2868_Elo-3fb950) ![Speed](https://img.shields.io/badge/speed-3.3M_nps-58a6ff) ![Versions](https://img.shields.io/badge/versions-60-8b949e) ![C--era_gains](https://img.shields.io/badge/C--era_gains-%2B338_Elo-f0883e) ![Source](https://img.shields.io/badge/source-MIT-green)  ·  Built with **[Claude Code](https://claude.com/claude-code)**

At a glance

~2868 Elo SF-18 UCI_Elo scale 3.3M nps the net costs ~30% of it
~+338 Elo A/B-confirmed, v31→v60 ~18 ply from startpos in 5 s
+19.11 Elo v58 NNUE, TIMED 1.43x single-thread vs v31
v53+v54 eval lane +37.52 & +31.20, the two biggest 1 dependency python-chess only
Cumulative A/B Elo across the C era, v31=0 climbing to +324 Single-thread speed as a multiple of v31, peaking at 1.79x and ending at 1.43x once the net is armed

Both charts are self-play. Every C-era version (v31 and up) is A/B-tested against the one before it, and the gains stack to about +338 Elo. Single-thread speed peaked at 1.79× and sits at 1.43× today: v58 hands about 30% of it to the net and still comes out +19.11 ahead. The v30→v31 C rewrite (~34× faster) is off the left edge, so v31 is the honest zero.

The odds lad