やねうら王の標準定跡フォーマットの定跡ファイルは、1000万局面で2.3GBほどになります。つまり、10億局面だと230GBです。
このような非常に大きな定跡ファイルは、対局時に丸読みするわけにはいきません。
そこで、やねうら王の思考エンジンには、BookOnTheFlyというオプションが用意されています。
これは、定跡DBファイルを二分探索して、現在の局面の定跡を調べる機能です。これならば、対局時に丸読みする必要はありません。
ところが、二分探索するには、SFEN文字列(局面を表す文字列)でsort(文字列の辞書順での並び替え)がされていなくてはなりません。
このsortを行うために、230GBのファイルをいったんメモリに丸読みするのでは大変です。下手するとその作業用のメモリが1TBぐらい必要になります。
そこで、メモリに丸読みせずにsortするようなツールが必要となります。
同様に、定跡のマージや抽出などの操作に関しても、メモリに丸読みせずに行えるようなツールセットが必要となります。
ShogiBookToolsは、これらの基本的なツールを提供し、かつ、Pythonが使えるユーザーには、さらにその利用目的に合わせたカスタマイズができるように多くの機能を提供します。