Nice work! The pip/virtualenv loader is really great, and can make the plugin dev more purely focused on the plugin. I think this part can be a great standalone project.
But I don't know about the boilerplate functions, some of them feel useful (like output capturing, state preserving), while others are just shallow abstractions over the vim API, which is almost never good. Abstraction over API is only useful when it provides different and better semantics, like jQuery over DOM.
Sure, and you can in Vim for the most part too. Snake has some excellent ideas how to use idiomatic Python, however, which would likely rest upon a more low level exposure of NeoVim anyway.
It looks to me like boilerplate that allows you to more easily interface between the python world and the vim world. So instead of putting a bunch of python in your ~/.vimrc, you would install this plugin, and then put your relevant python in your ~/.vimrc.py.
Adding to this answer, it looks like this will handle virtualenvs requested for dependencies as well (albeit not completely yet). This is a pretty big deal in order for almost anything non-trivial since libraries like requests quickly come into play.
I'm looking forward to playing around with this. Vim is my editor of choice, and it would be nice to configure/extend it in something other than vimscript. Gives me a good reason to familiarize myself with Python as well.
But I don't know about the boilerplate functions, some of them feel useful (like output capturing, state preserving), while others are just shallow abstractions over the vim API, which is almost never good. Abstraction over API is only useful when it provides different and better semantics, like jQuery over DOM.