AYON Launcher on Python 3.9 vs Blender Addons on 3.11 – How to Structure This?

Just trying to rephrase your post to make a TL;DR;

If I got it correctly, you want to create a new addon with special dependecies that are required for your tools and blender version which typically added in client/pyproject.toml with in your addon. e.g., like core’s addon ayon-core/client/pyproject.toml.


Personally, the way dependency packages work confuses me where client/pyproject.toml from all of the addons are merged into one big pyproject.toml then dependencies are resolved, downloaded and packed into one package.

Why it confuses me, because not all apps use the same python version.
e.g.
Houdini 20.5.370 on my machine is using 3.11.7, so it may occur that a dependency specified in the toml file is not compatible with the python version in my DCC knowing that we support a ton of DCCs so to have generic dependencies that work for all of that is not quite easy.

A great example is Qt bindings dependency for different apps.
we don’t ship them within dependency packages but rather provide a hook that tries to install it directly into DCC’s environment. e.g. Blender PySide Install Hook.

So, until the UV thing is implemented in all addons, I think you’ll need to follow a similar approach.

Further Reading:

1 Like