JonasThiem wrote:I haven't examined many UCI2WB adapters, but I always assumed that was a rather hacky process (UCI2WB is a process in between with stdin/stdout that translates to WB, right?).
Even if it works well in a clean way, you still need one additional entity in between and I'd personally prefer a direct implementation of each protocol. But that's probably a matter of personal preference.

Indeed, personal preference also plays a role. My preference lies with the separate process. Also because it makes it easier to distribute the task over different machines. (UCI is rather verbose, while WB protocol is extremely compact. So it is very convenient to use WB protocol over the network, and run Polyglot + engine on the remote machine.)
Even locally, there is hardly any measurable performance degradation by using a different process. I measured this with the GUI timing toolkit. It is true that WB + UCI2WB + UCIengine was a bit slower than WB + WBengine. But so was cutechess-cli + UCIengine compared to cutechess-cli + WB engine. It is just a consequence of the relative inefficiency of UCI. WB+UCI2WB was hardly slower than cutechess-cli handling UCI natively, and the difference was sub-millisec on a slow machine.
So I think a separate process is the superior technical solution, and I will never consider implementing UCI in WB natively.
In the end, the idea is probably the same as yours: implementing just one protocol (in your case WB) directly, then have UCI work with that somehow aswell. I just think doing one common protocol dll and then doing UCI/WB directly from there (with the GUI not caring about those details) is a bit more of a direct and cleaner way (personal opinion) than things like UCI2WB.
And I hoped maybe others would be interested in such a library too

Isn't PyChess written in Python?
That
old versions of a GUI have shortcomings is not really an argument, because this is something you can never cure. By fixing them they would be no longer the old versions... And the latest Arena versions do have a full WB implementation, as far as I know. So you should not count them as prospctive 'customers'...