sgf

Build Status Coverage Status

Python implementation of Smart Game Format

After 14 years, I've extracted my old SGF code from PyGo and am in the process of cleaning it up and making it available under an MIT license.

To Install

pip install sgf==0.5

Parse

import sgf
with open("examples/ff4_ex.sgf") as f:
    collection = sgf.parse(f.read())

collection now represents the SGF collection.

Output

with open("output.sgf", "w") as f:
    collection.output(f)

The Objects

Collection is indexable and iterable. collection[0] will return the first game in a collection and for game in collection will iterate over the games. len(collection) will return the number of games it contains.

GameTree is iterable over the mainline nodes (i.e. following the first of any variations). e.g. for node in game.