Generalize third party addon

I need to distribute some binaries alongside with my custom addon. So I decided to refactor ayon-third-party in a more generic way so it’s interfaces can be used to download and install files for other addons. I wonder if this could be helpful for the community? I’ve already done this, so you can check it out here GitHub - nuclearpolygon/ayon-third-party at feature/generalize_interface

The basic idea is pretty simple - I use a dict for tools sources and iterate over items instead of doing separate functions for oiio and ffmpeg and optional tool_args argument in functions that used to use _OIIOArgs and _FFmpegArgs which defaults to constant dict with oiio and ffmpeg args

What you’d say?

I’m afraid we won’t approve that change. The ayon-third-party addon should care about ffmpeg and oiio (and other binaries related to the addon), but nothing else.

There is an idea about generic api for download of resources, but ayon-third-party addon is not the place to do so.

I’ve encountered some difficulties while trying to implement my idea and it involves really deep refactoring.
So considering your statement I think I will copy the distribution logic from ayon-third-party into my addon for now, as I want to keep original addons compatible.

Yes, the safest option is to rely on custom addons which also helps not deviating too much from the official addon.