Updating required python modules does not get added to dependencies package

Hi there,

I need to add a python dependency to ayon-deadline and it is not getting added to the dependency package. ayon-deadline is using uv, but it is updating the pyproject.toml file correctly. The ayon-dependencies-tool doesn’t appear to pick up the changes though. I have noticed that ayon-deadline requires python 3.11+ and the dependencies tool is using 3.9. Even manually changing this, it still isn’t working. Is there something I am doing incorrectly, or is this an issue with the setup?

Thanks

Could this be because ayon-deadline is lacking a client/pyproject.toml (e.g. in core) which should actually be what is referring to client side dependencies? (Or isn’t it, @iLLiCiT ?


Could this be because ayon-deadline is lacking a client/pyproject.toml

Just to add, got some internal confirmation - yes, this is the case. Those dependencies is what dependency tool tracks.

The outermost pyproject you referred to I assume doesn’t even make it into the generated addon package when running create_package.py. So it’s not related to the packaged addon in any form.

oh yeah, it doesn’t have it there no. How would one go about adding it in?

Thanks @BigRoy

Adding the pyproject.toml to the client folder worked. I have since ran into another issue. I’m trying to use datetime.fromisoformat, but the module only works properly in python 3.11 for my needs. I was trying to add backports-datetime-fromisoformat module, but it is a compiled c library. Due to ayon-dependency-tool building with python 3.9, it is not working in any python 3.10 packages (nuke 15.1, maya 2024, for example). Does this mean I have to update all the addons (mainly core) to use a higher python version? Have you seen this issue before?
thanks

I think you may need to find an alternative to datetime.fromisoformat that works with python older than 3.11 this is not only for AYON but also for the DCCs too.

Hi @mustafa_jafar, the alternative is the backports module. As ayon appears to be built with a version of python older than the dccs’ it doesn’t want to work. I don’t think it would only be for this module either. If anybody tries to use a module that is compiled, it will add in one for the incorrect python version and not be available in any of the apps. How do we get around this?