Game log file format for Settlers of Catan.

Also, a reference Python implementation: pip install catanlog

Supports Python 3.

Sample catanlog

catanlog v0.10.0
timestamp: 2016-02-15 22:45:00
players: 4
name: josh, color: blue, seat: 1
name: mike, color: orange, seat: 2
name: hoskins, color: red, seat: 3
name: timo, color: green, seat: 4
terrain: ore wheat wood sheep wood wheat wood wheat wheat brick wood ore sheep ore brick sheep brick sheep desert
numbers: 9 11 6 11 10 8 2 10 4 4 6 12 8 3 9 5 3 5 None
ports: ore(2 NW) wood(3 W) 3:1(5 W) sheep(6 SW) wheat(7 SE) brick(9 SE) 3:1(10 E) 3:1(11 NE) 3:1(12 NW)
...CATAN!
blue buys settlement, builds at (6 N)
blue ends turn after 129s
orange buys settlement, builds at (1 S)
..
..
blue trades [4 sheep] to port sheep for [2 brick]
blue buys road, builds at (6 SW)
blue buys road, builds at (6 SE)
blue wins

Sample Python package usage

import catanlog

log = catanlog.Writer(use_stdout=True)
log.log_game_start(players, terrain, numbers, ports)
log.log_player_buys_settlement(player, location)
log.log_player_roll(player, roll)
log.log_player_trades_with_port(player, to_port, port, to_player)
log.log_player_plays_knight(player, location, victim)