Dev Frameworks for developing addons in a scalable way

I am facing code reusability issues when developing multiple addon projects and I am seeking for a dev framework which allows us to develop multiple addons within one projects, so that we can reuse code across different addons easily and can pacakge our addon by automatically selecting related files. I didn’t find any frameworks that can meet this requirements so I developed my own framework at https://github.com/xzhuah/BlenderAddonPackageTool, would like to share it with the community and check if anyone knows about similiar frameworks/development tools?

I created a video for an overview of this framework, feel free to check it out: https://youtu.be/udPBrXJZT1g.

Feedbacks and comments are welcome!

5 Likes

Could you add the License Please ?

Like GPL license for Blender Add-on Extensions ?

Thank you

1 Like

Sure, just added GPLv3.

2 Likes

Thank you !
Very interesting project and useful video.

Do you plan to update the framework to support the upcomunig Blender 4.2 LTS Extensions that now use also the new blender_manifest.toml ?

Blog:

Manual:

https://docs.blender.org/manual/en/4.2/extensions/index.html

1 Like

Yeah I am interested in doing that. I added a blender_manifest.toml files to the sample addon template, people can use that and it would be added to zip file by the framework.

I saw a lot of changes in Blender 4.2 regarding to the addon/extensions. To be honest, I don’t fully understand all details about addon installation in Blender 4.2. For example, how it would handle the conflict between toml and bl_info, how it would manage those additional python wheels etc. I expect there would be some additional work to do, but I would like to wait for the LTS version to be offically released and I need to get all these details clarified first.

As an addon developer, I would choose a framework that can help reducing the effort for resolving compatibility issues. Maintaining different addon projects for different Blender versions would cause a lot of headaches. I hope to add another layer between Blender and its addon ecosystem to solve this issue.

1 Like

Thank you for the project and updates !
As Blender 4.2 LTS is a Long Term Support version i think it will be a reference for future extensions with the blender_manifest.toml.
Of course if it is possible the ideal is to support both the new extensions and old add-on system but if resources and time are limited, in my personal opinion it make sense for a “new” framework to support more the “new” extensions and less the “old” add-on system, also because Blender 4.2 LTS is planned to be released on July 16, 2024…so in few days.
To be clear, for what i understand, Blender 4.2 LTS will continue to support also the “old” add-on installations.

There is an ongoing thread:

and video: