Notes for October

I want to try and get into the habit of writing more, so taking inspiration from Simon Willison’s weeknotes here’s a quick writeup of what I have been doing in the month of October.

Esbonio

esbonio is a language server for your Sphinx documentation projects

Work towards the big 1.0 release continues and in the latest pre-release of the VSCode extension, it should now be possible to preview documentation builds when running on Codespaces. (Issue, PR)

Up until now, Esbonio has required a correctly configured Python environment in order to work at all. However, one of the most common issues I see is people struggling with this initial setup step and Esbonio will refuse to try anything until it is complete.

This isn’t ideal and in reality there is plenty Esbonio could do even if the Python environment is has access to is not complete! So this month I started looking into ways to make the server useful in more situations

  • The VSCode extension now comes with a default Python enviroment to use when the user does not provide their own (PR)

  • The language server can now continue to work if one of the required Sphinx extensions is not available (PR)

  • The language server will fallback to Sphinx’s default alabaster theme if the requested HTML theme is not available (PR)

There will, of course, be many more situations to handle but it’s a start!

pygls

pygls is the language server framework I help to maintain and use in Esbonio

Work towards the 2.0 release continues and this month I finally was able to tackle the migration from Python’s low-level to high-level asyncio APIs

I also was able to add TCP and WebSocket support to the language client

Finally, I was able to clean up the library’s support for Pyodide and started thinking about what it would take to embed a simple language client into the docs for demos - disappointingly, it may be harder than I would like!