-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Rez for Ayon #816
Comments
Just referencing this comment which describes a use case where version and dependency management through Rez could offer an improvement. Specifically:
|
I think we've decided to go with the Rez (or at least try it) for handling Ayon addon dependencies as there is no reason (and no power) to implement some custom package manager just for Ayon. The issue with P4 mentioned is also great example of thing that couldn't be solved easily without something like Rez. Thanks for wrapping all those arguments to one place. We'll need to start working on it in very near future. |
Would be great if we could set up a team for that with maybe some scheduled meetings here and there to brainstorm and get the right heads together - we can also invite some of the Rez devs or a user with lots of experience to maybe aid in the brainstorm in a session here and there and help shape the future of Rez x Ayon. |
I've worked a very short time with rez before leaving my previous studio, and it seemed very nice. I also think it could be a great solution we could rely on. My main expectation is for it to be compatible with remote artists, who are connected only through a OP sftp for example. The local caching system might solve this issue. |
Hi @BigRoy and @antirotor , rez TSC member here. I already see common faces/names in this thread (including another TSC member, @instinct-vfx) , so you are probably in good hands. But I just wanted to drop by amd re-iterate that we will be happy to discuss and provide guidance and help and even brainstorm on how rez coule be used and integrated in Ayon. We have a Slack channel that is very active and we also use GH discussions. We also have monthly open meetings where you can come and ask questions or show us what you have and ask for our opinion interactively. Let us know how we can help! |
Hello all, I created a draft PR with a potential approach to using rez in the back end: Any feedback provided is appreciated. The elevator pitch is: Specify the path to a Rez repo via the settings, then a I'll be working in converting the EDIT: |
Hello everyone, I'd like to pick this conversation back up as I'm currently trying to plan for AYON + rez. Current WorkflowI'm a little unclear on the exact workflow so please tell me if this sounds right: ServerThe current workflow described in the docs:
Now addons are available on the sever and can be added to a bundle. Client
Rez WorkflowThis is for a complete rez workflow, not only on the server but also on the client side.
Server
Client
Next StepsIt is my understanding that in this rez workflow we would need these changes:
Please let me know if I got this right and if my plan makes sense, thank you all! |
You've got it right, that is the plan. Thanks for the summary! |
As there is no |
We eventually scrapped the REZ implementation on the server backend for a lot faster and simpler solution. Applications addon now technically supports rez via arguments on the applications. Considering that this issue leans towards version resolution of our addons I don't think it's relevant anymore really. It would be worth talking about using rez on the application launcher side, but that would be better suited to a forum post for now. |
Is your feature request related to a problem? Please describe.
Ayon and even OpenPype had to handle dependencies, versions of packages and distributing vendored binaries. With Ayon resolving versions and its dependencies becomes more dynamic due to being able to mix and match addons which in itself can require specific versions of other addons.
As a part of this some of the work for Ayon has been involving resolving these dependencies and building an environment for launching a specific version of Ayon, etc. and has with OpenPype (v3) involved managing environments for Applications and Tools when launching even specific assets in a project.
This addon (package) management and dependency resolving with version ranges is exactly what Rez is built to solve and I feel like before we set of implementing complex resolving algorithms for the addons and their 'dependencies' we should maybe avoid time spent there and instead spent time on relying on Rez as much as we can.
By adopting Rez we can also get other benefits like:
Describe the solution you'd like
Have Ayon use
rez
to resolve the environment to launch an application in would be one first step.I'd say the final goal would be to be able to run even Ayon itself through rez so from there you could e.g. pick a particular Ayon version to start with too - but that doesn't have to be a first priority I'd say. Being able to pick Ayon version through
rez
would open up e.g. Deadline resolving to a specific ayon version to also just move throughrez
to get the right package.Describe alternatives you've considered
We've had Applications and Tools in OPv3 but with separating all addons for Ayon and them versioning independently with dependencies (requirements) to other addons will start complicating the version resolving logic that needs to be written.
I'd say we are getting to a point where Rez might be best way forward into development time and what we gain from it in the end.
Additional context
Rez feature requests have come up before
Even before Ayon having Rez support has come up as a request multiple times by multiple users on Discord:
Rez is supported by Academy Software Foundation
Rez has ASWF support and used by a variety of bigger studios in the animation industry.
[cuID:OP-5252]
The text was updated successfully, but these errors were encountered: