It’s super bare bones and not persistent between Blender restarts because I figured developing addons is one of those cases where we have a session of work one Blender at a time and we might even forget to unwatch so there you have it.
Great idea, will the add-on work in cases where sometimes when creating code we need to restart blender so that incorrectly written operators are removed?
I’m not familiar with this scenario, but as long as the operator gets unregistered properly then it’ll work. If not then if there’s a way to unregister an operator manually somehow from Scripting maybe, that could be a way to mitigate this issue i.e. manually unregister the operator then save a file in the watched addon so it triggers a reload.
What this addon does is basically what System > Reload Scripts does, but for the selected addons only, so if Reload Scripts work for this scenario than so will addon-dev-watcher probably
I attempted something like this with watchexec but i ended up going down a rabbit hole of threads and ques and trying to stop readline from blocking and then i gave up because i was spending more time on that then my actual addon, great job btw!
EDIT: i ended up getting most of it working but i stopped because bpy.ops.scripts.reload() can’t be run while a modal is running hahaha.
I split the addon into some boilerplate/utility code and “core”.
I also updated how dependencies are handled now - they’re installed in an addon local folder called dependencies/.
With this occasion I extracted the minimal & opinionated template code I tend to use for setting up pip dependencies and the register()/unregister() methodology I follow.