Hi Murat,
Here’s a side-by-side comparison between the original Heled-based Python hooks 
and the new gnubg CPython extension:
Feature
Heled’s Python Hooks
gnubg CPython Extension
Installation
• Clone Savannah repo & build from source• Use the special gnubg --python 
interpreter (Python 2.7)
• pip install gnubg• Prebuilt wheels for Python 3.7–3.13, no build step
Integration
• Launch gnubg as a subprocess• Send commands, parse text output
• import gnubg into existing python programs
Dependencies & Setup
• External binary, manual download/config of weights & bear-off tables
• Bundles weights & tables inside the wheel• Auto-initialized on first import
Call Overhead
• High per-call latency (spawn/process I/O)
• Low overhead, in-memory C API calls
Python Version
Python 2.7 only
Python 3.7–3.13
Platform Support
Manual builds on Linux/macOS; limited Windows 32 bit
Wheels for Windows x86_64, Linux (x86_64 & ARM), macOS (Intel & ARM) 64 bit
Ideal Use Cases
Ad-hoc scripts in python2.7 (outdated and unsupported programming language)
Jupyter notebooks, CI pipelines, batch data-science workflows, web UIs
Ecosystem Reach
Limited to existing GnuBG user base
Ubiquitous in the Python community—opens up backgammon tooling and game 
development to the largest programming audience
What I’m aiming to accomplish

  1.
Turnkey Python 3 support without manual builds or subprocess hacks.
  2.
Broad accessibility: by distributing on PyPI to the world’s most popular 
developer community, gnubg becomes instantly available for anyone to build 
backgammon UIs, bots, educational tools, data-science research, and more.
  3.
Cross-platform consistency: guaranteed prebuilt binaries on all major 
OS/architectures.

To be transparent, I used ChatGPT to help me frame this explanation. I realize 
Python development may not be part of your day-to-day work—and these 
enhancements might not directly impact your own workflows—but they’ll pave a 
much smoother onboarding path for others, with accessible, familiar 
documentation and examples. That way, developers across the wide Python3 
community can more easily get started, leverage, and extend GNU Backgammon, and 
backgammon like games in general.
Best regards,
David Reay
[email protected]<mailto:[email protected]>

________________________________
From: Murat K <[email protected]>
Sent: Tuesday, May 27, 2025 8:59 PM
To: DAVID REAY <[email protected]>; bug-gnubg <[email protected]>
Subject: Re: Alpha Release of Python3 Extension Module

CAUTION: This email originated from outside of the organisation. Do not click 
links or open attachments unless you recognise the sender and know the content 
is safe.

Hi David,

I may have not worded my question clearly. I was expecting a
side-by-side comparison of your extension with Heled's.

All the things you mentioned as pluses are actually minuses
for me. I have created dozens of Python scripts to run many
experiments with GnuBG. After intalling GnuBG, I didn't have
to do anything other than coding my scripts in a text editor
and running them.

Maybe I don't understand what you are trying accomplish..?

MK

On 5/26/2025 1:23 PM, DAVID REAY wrote:
Hi Murat,
Thank you for taking the time to evaluate the alpha release. The goal of this 
package is to provide a native Python 3.x extension module for the core GNU 
Backgammon neural-net evaluation engine, so you can write scripts or programs 
in Python 3.7–3.13. In particular, it offers:

  *
Full Python 3 support
You no longer need to fall back to Python 2.7 or the specialized GNU Backgammon 
interpreter—simply run your existing analysis code under Python 3.7 through 
3.13.
  *
Easy installation via PyPI

pip install gnubg


and then in your code:

import gnubg


No more manual clones of Savannah, no wrestling with build scripts, GNU 
autotools, or makefiles, and no more hunting down network-weight files.
  *
Cross-platform wheels
Prebuilt binaries are available for Windows x86_64, Linux (x86_64 & ARM), and 
macOS (Intel & ARM).
  *
Out-of-the-box packaging
All necessary weight files, bear-off tables, are bundled. You get a turnkey 
CPython extension module—no extra steps required.

Best regards,

David Reay
[email protected]<mailto:[email protected]>

________________________________
From: Murat K <[email protected]><mailto:[email protected]>
Sent: Monday, May 26, 2025 8:05 PM
To: DAVID REAY <[email protected]><mailto:[email protected]>; 
bug-gnubg <[email protected]><mailto:[email protected]>
Subject: Re: Alpha Release of Python3 Extension Module

CAUTION: This email originated from outside of the organisation. Do not click 
links or open attachments unless you recognise the sender and know the content 
is safe.


On 5/24/2025 11:38 PM, DAVID REAY wrote:

 > I'm writing to share the alpha release of the
 > Python extension module that wraps the GNU
 > Backgammon neural network evaluation engine.

After looking at your site, it's not clear to me
what functionality does your extension offers
that we don't already have..?

MK


Reply via email to