PortableGameNotation.jl contains Julia language tools for processing portable game notation (PGN) files.
I’m a chess nut, and I wanted a pure Julia way to process chess games files in PGN format, so I wrote some basic tools. It is still very rough, but at this point you can quickly import the games from a PGN file and get a list of the games as structs. This allows some simple queries that can be used to build fancier applications.
My end game is to have a Julia equivalent of
python-chess, but that will require implementation of a board model, game rules, UCI communication, etc. These can be implemented separately and then combined into something like a
Chess.jl package. The reason I don’t just use
PyCall + python-chess is that the Python package is very slow at complicated operations on large numbers of games. I believe that JIT-ing the board methods in particular will make a Julia implementation much faster.