I would suggest that we re-structure the requirements structure and also create clear guidelines for dependencies.
Requirements.txt
We could create the following requirements.txt files :
requirements.txt (used by outline and opencue)
requirements_rqd (used by rqd in addition to the opencue module)
requirements_gui.txt (used by cuegui and cuesubmit)
requirements_docs.txt (used by docs in addition to all of the above)
requirements_pylint.txt (used by the testing pipeline in addition to all of the above)
Dependencies
The following dependency graph could be introduced.
The idea is that dependencies are only in 1 direction and to also minimize the dependencies for outline and opencue which usually are used within the DCC's and might not align with VFX platform specs.
Testing
Due to the lesser dependencies, it should also be faster to do testing in smaller scopes.
opencue, outline, rqd could be tested in pure python environments (using the python:xx docker containers) from version 3.7 and up in (ignoring the VFX platform specs) in addition to the usual "full set" tests.
Additional context
One of the benefits is that hopefully it should be easier to release packages of outline, rqd and rqd to pypi.org.
Another benefit of this is that it will be easier to centralize some of the functionalities (eg. move the protobuf files) into the opencue module.
I would suggest that we re-structure the requirements structure and also create clear guidelines for dependencies.
Requirements.txt
We could create the following requirements.txt files :
requirements.txt
(used byoutline
andopencue
)requirements_rqd
(used byrqd
in addition to theopencue
module)requirements_gui.txt
(used bycuegui
andcuesubmit
)requirements_docs.txt
(used bydocs
in addition to all of the above)requirements_pylint.txt
(used by the testing pipeline in addition to all of the above)Dependencies
The following dependency graph could be introduced.
The idea is that dependencies are only in 1 direction and to also minimize the dependencies for
outline
andopencue
which usually are used within the DCC's and might not align with VFX platform specs.Testing
Due to the lesser dependencies, it should also be faster to do testing in smaller scopes.
opencue
,outline
,rqd
could be tested in pure python environments (using the python:xx docker containers) from version 3.7 and up in (ignoring the VFX platform specs) in addition to the usual "full set" tests.Additional context One of the benefits is that hopefully it should be easier to release packages of
outline
,rqd
andrqd
to pypi.org. Another benefit of this is that it will be easier to centralize some of the functionalities (eg. move the protobuf files) into theopencue
module.