List of go libraries

The idea of this repository is to collect cool libraries, tools and applications for game of go, which could be used by developers. It is primarily intended for web developers, but all projects are welcome. There are only 2 rules: code of the project must be licensed as open source (so other people could use it) and it must be in some public web repository (if a library doesn't have GitHub, it isn't cool 😉).

If you want to add a new link, just create a pull request (or directly edit this file). Don't forget to write a small description, it should be about one line long, longer texts won't be accepted. If some category is missing, you can add it as well.

Libraries for the Web

SGF viewers and editors

  • Web Go/Baduk Board - HTML5 based SGF viewer and editor, which support rarer file formats like ngf and gib.
  • WGo.js Player - highly customizable SGF player, part of WGo.js library.
  • Glift - modern responsive SGF viewer with many features out of the box.
  • jGoBoard - javascript SGF player with a photo-realistic go board and stones.
  • Sabaki - modern javascript based SGF editor, which can run as desktop application.
  • qgo - Go Client based on Qt 5.
  • BesoGo - embeddable javascript SGF editor and viewer.
  • EidoGo 💀 - one of the first JavaScript SGF viewer, which runs even in old browsers.
  • ngGo - Angular.JS library for reading, parsing, displaying, editing and replaying go game records.
  • go-react-redux-elm – Go Board with Vanilla React, React + Redux & Elm
  • Goban - Go board with SGF support for iOS written in Swift.
  • GoVariantsTranformer - Node/ES6 viewer/editor for Toroidal Go (SGF transformations hooked up to Web Go/Baduk Board).

SGF utilities

  • smartgame - parses SGF file into JSON.
  • smartgamer - navigates and manipulates JSON kifu representation from smartgame.
  • sgfparser - SGF parser for Python.
  • sgfmill - Python library for reading, manipulating, and writing SGF files.
  • SGFParser - SGF parser for Ruby.
  • sgf-utils - collection of utilities in various languages that use SGF files in some specific manner.
  • sgfgrove - type-aware SGF parser/composer intended for the browser
  • go_sgf_to_igo_latex - tool for translation from an SGF file to LaTeX using igo package

Web apps

  • GoKibitz - move-by-move conversations about go games.
  • Improve at go - web app for reviewing Go games.
  • congo - a go server for massive multiplayer consultation go (website).
  • weiqi.gs - open-source game server for the game of Go.
  • KGS Leben - JavaScript based client for the KGS Go Server.
  • Ghost-Go - website for studying of tsumego with well written modern code.
  • GoUniverse - another web-based client for the KGS Go Server.

Other

  • KGS-Game-Archives - a jQuery plugin and PHP script to put links to your KGS games on a webpage.
  • go-assets - pretty cool graphics related to go (wood, stones).

Go bots & A.I.

  • deep-go - move evaluation in go using deep Convolutional Neural Networks.
  • BetaGo - a tool for creating and training your own go bot.
  • pachi - pretty strong bot engine.
  • michi - minimalistic MCTS engine.
  • RocAlphaGo - attempt to reimplement Google AlphaGo.
  • GoCNN - using CNN for Go board evaluation with TensorFlow.
  • gomill - python tools for developing go-playing programs.
  • GoFamiliar - python hydra game app (in development)
  • darkforestGo - go game engine powered by Deep Learning developed by Facebook.
  • matilda - MCTS engine, similar to MoGo, Pachi

Terminal apps

  • dango - dango is a terminal based Go board written in python dango
  • baduk-fortune - A collection of baduk fortunes for the terminal
  • termsuji - a limited application interacting with online-go.com to play Go in the terminal.

Other libraries

  • uberdownloader - python script for downloading games from OGS.
  • ogs-notifier - chrome plugin for easy notifications from OGS.
  • clublisttool - database of go clubs and some tools to edit, import and export club data.
  • noGo - cross-platform SGF editor written in Python.
  • Gobandroid - SGF viewer and editor for Android.
  • Tenuki - javascript implementation of go board and game rules.
  • GoSharp C# class library for loading, storing and manipulating SGF files.
  • gobl - C++ Base library for ML with sgf parsing/writing, feature generation, and game iteration.
  • igo - archaic TEX package for printing go diagrams and other stuff.
  • baduk - Fast baduk / go / weiqi game logic in C++ with Python wrapper
  • sente - Sente is an open source python library for the game of Go
  • sgfmill - Python library for Smart Game Format (SGF) files
  • imago - Optical position recognition for the game of Go
  • GoVariantsEngine - node/ES6; implementation of go rules (liberty counting & removing stones), for standard Go and Toroidal Go.

Libraries marked with 💀 are deprecated for some reason.