Skip to content

[pyoutline/rqd] Add pycuerun entry point, fix CLI bugs, and improve sandbox support#2215

Open
ramonfigueiredo wants to merge 5 commits intoAcademySoftwareFoundation:masterfrom
ramonfigueiredo:fix/pyoutline-pycuerun-sandbox
Open

[pyoutline/rqd] Add pycuerun entry point, fix CLI bugs, and improve sandbox support#2215
ramonfigueiredo wants to merge 5 commits intoAcademySoftwareFoundation:masterfrom
ramonfigueiredo:fix/pyoutline-pycuerun-sandbox

Conversation

@ramonfigueiredo
Copy link
Collaborator

Link the Issue(s) this Pull Request is related to.

Summarize your change.

  • Add pycuerun as a proper pip-installable entry point via pyproject.toml
  • Fix missing --priority option in CuerunOptionParser
  • Fix empty --repos argument consuming the next CLI flag
  • Fix use_pycuerun=False crash (TypeError) for layers without a command arg
  • Add bash-based opencue_wrap_frame_sandbox wrapper for environments without tcsh
  • Build rqd Docker image from source with pyoutline and pycue installed
  • Update docker-compose.yml to build rqd from source with volume mounts for frame execution

- Add quick start guides for PyOutline and PyCuerun
- Add concept pages explaining core architecture, lifecycle, and design
- Add getting started guides for installation and first job submission
- Add user guides covering layers, dependencies, sessions, and CLI usage
- Add configuration guide for outline.cfg, plugins, and environment variables
- Add sessions and data exchange guide for cross-layer communication
- Add PyOutline API reference for all classes, methods, and constants
- Add step-by-step tutorials (PyOutline and PyCuerun lessons)
- Add developer guides covering architecture, testing, and extension points
- Add PyCuerun entry to the glossary
- Document the relationship between PyOutline (library) and PyCuerun (CLI) across all new docs
…andbox support

- Add pycuerun as a proper pip-installable entry point via pyproject.toml
- Fix missing --priority option in CuerunOptionParser
- Fix empty --repos argument consuming the next CLI flag
- Fix use_pycuerun=False crash (TypeError) for layers without a command arg
- Add bash-based opencue_wrap_frame_sandbox wrapper for environments without tcsh
- Build rqd Docker image from source with pyoutline and pycue installed
- Update docker-compose.yml to build rqd from source with volume mounts for frame execution
@ramonfigueiredo ramonfigueiredo self-assigned this Mar 14, 2026
- Remove '--repos ' from testSerializeShellOutline expected command string
- Remove '--repos ' from testBuildShellCommand expected list
- Remove '--repos ' from testBuildCommandWithStrace expected list
- Remove '--repos ' from testBuildCommandWithCustomWrapper expected list
@ramonfigueiredo
Copy link
Collaborator Author

This PR was created on top of the PR:

@ramonfigueiredo ramonfigueiredo force-pushed the fix/pyoutline-pycuerun-sandbox branch from 906bf06 to 0140559 Compare March 14, 2026 07:48
- Create outline config override with session_dir under /tmp
- The default ~/.opencue/sessions is owned by root on CI runners
- Export OUTLINE_CONFIG_FILE so pyoutline uses the writable path
@ramonfigueiredo ramonfigueiredo force-pushed the fix/pyoutline-pycuerun-sandbox branch from 0140559 to 7ce857f Compare March 14, 2026 08:03
- Previous /tmp/opencue path was also owned by root on CI runners
- mktemp guarantees a writable directory owned by the current user
@ramonfigueiredo
Copy link
Collaborator Author

@DiegoTavares / @lithorus
Ready for review!

@ramonfigueiredo ramonfigueiredo marked this pull request as ready for review March 15, 2026 22:38
Comment on lines +191 to +193
build:
context: ./
dockerfile: ./rqd/Dockerfile
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO it shouldn't be necessary to build rqd from source to run rqd. It might be usefull for development, but not for testing for new users.
It's better to have it optional

@lithorus
Copy link
Collaborator

What's the reason for rqd being built from source in docker compose?

IMO it shouldn't be necessary to build rqd from source to run rqd in docker compose. It might be usefull for development, but not for testing for new users.
It's better to have it optional.

It also changes a lot in the CI/CD testing. The idea being that packages are built in a seperate "neutral" step and used in the subsequent steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants