Skip to content
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

Changes to requirements.txt and define dependencies #1441

Open
lithorus opened this issue Aug 2, 2024 · 0 comments
Open

Changes to requirements.txt and define dependencies #1441

lithorus opened this issue Aug 2, 2024 · 0 comments
Labels
feature request New feature

Comments

@lithorus
Copy link
Contributor

lithorus commented Aug 2, 2024

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.

graph TD;
  opencue[opencue outline]-->rqd;
  opencue-->cueadmin;
  opencue-->cuegui;
  opencue-->docs;
  cuegui[cuegui cuesubmit]-->docs;
  cueadmin-->docs;
  rqd-->docs;
Loading

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature
Projects
None yet
Development

No branches or pull requests

1 participant