7 releases (4 breaking)

0.5.0 Aug 15, 2022
0.4.2 Jul 20, 2022
0.4.1 Oct 25, 2021
0.4.0 Jun 12, 2021
0.1.0 May 24, 2021

#810 in Parser implementations

25 downloads per month

MIT license

353 lines

CI status Latest version Fuzz status


Wthor is a rather archaic data-format used extensively by the Fédération Française d'Othello to document games of Othello. As a result of their massive collection, Wthor has become a popular data-format in this space. Unfortunately, the only official documentation is in French. Machine-translating the specification with Google Translate worked reasonably well and the result can be found here.

The translated documentation is however still imprecise and as a result, this library makes very few assumptions about the data. The data extracted is rarely processed in any way but presented as is.

Three types of Wthor files can be parsed as of now. They commonly have the extensions .jou, .trn and .wtb.

  • .jou - This type of file contains a list of players.
  • .trn - This type of file contains a list of tournaments.
  • .wtb - These are "game files", essentially a long list of games. Each game contain a header with additional information, such as the tournament it was played at and the name of the players. They are however not directly represented in the structure but instead contains an index which corresponds to an entry in the associated .jou and .trn files.

Solitaire files are currently not supported.


Add this to your Cargo.toml:

wthor = "0.5"

Optionally, opt into using Serde by enabling the feature flag serde.

wthor = {version = "0.5", features = ["serde"]}


Examples can be found here.


~35K SLoC