CoqIDE talks to the underlying Coq process using a not-very-documented XML protocol. This library, at the moment, implements what I understand of that protocol. In future it will also provide a convenient API to spawn and talk to a Coq process, so you can do something like write a plugin for your favourite editor or IDE. Which I plan on doing for NeoVim.