Hello, I’m currently developing mainly Python tools for scientific usage and I considered creating some blender Addons mainly for interaction with another application that I often deal with. I also have a use case in mind where blender’s 3d environment could be a suitable UI of another application I already started in Python (for controlling stage lights).
I hold back starting with some of the ideas until 2.8 and now I started wondering what tool chain is commonly used to create addons for blender?
While the internal editor gives basic editing capabilities I would only consider using it for small scripts. I like the completion capability of the python console to discover the API but non of this is usable (as far as I’m aware) when I want to create addons using a fully fledged Python IDE which is generally able to do live inspections, refactoring, suggestions as well as integrate unit testing.
I’m aware of a python script that exports the API but it is claimed to be outdated and I’m also aware of an unofficial way to build blender as a python module.
But while this is a question on the one hand for existing solutions, since the API gets an overhaul for 2.8 anyway I think it would also not harm to draw the attention to the idea of officially and directly considering enabling more sophisticated Addon development using external tools with the upcoming 2.8 API.
This means having official ways to inspect the blender API and documentation from Python IDEs with error checks as well as also ways of running unit test inside the blender environment from that.
What I could imagine is maybe that blender also comes with an official way to use it as a python module, maybe directly delivered with the binary packages, one could then add this to existing python paths or virtual envs for example.