OpenCue is a free, open source orchestration & scheduling project written in Python and released under Apache-2.0. It has 1,005 GitHub stars, 271 forks and 47 open issues, and was last pushed 5 days ago. On this registry it ranks #98 of 130 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available. It gained 19 stars over the last 30 tracked days.

What is OpenCue?

OpenCue is an open source render management system, licensed under Apache-2.0, that visual effects and animation productions deploy to break complex jobs into individual tasks and dispatch them across a render farm.

What it is

OpenCue is a Python render management system for visual effects and animation production. It is the render manager that Sony Pictures Imageworks used in-house on hundreds of films, and it targets the VFX Platform versions 2021 through 2024 with Python 3.6 and later. Jobs are submitted to a configurable dispatch queue that allocates the computational resources those jobs need, and the work runs on a central render farm rather than on the artist's workstation. That central-farm model is the point: artists keep working while the farm absorbs the render load.

The concrete problem it solves is the one every studio hits once shot complexity outgrows a single machine or a hand-rolled queue. A complex job has to be split into tasks, those tasks have to be matched to machines that can actually run them, and the result has to be tracked. OpenCue replaces the internal render manager a studio would otherwise build and maintain itself, and it does so with a scheduler that scales across numerous concurrent machines and across multi-facility, on-premises, cloud, and hybrid deployments.

Key capabilities

  • Tagging systems allocate specific jobs to specific machine types.
  • A single host can be split into many procs, each with its own reserved core and memory requirements, and there is no limit on the number of procs a job can have.
  • Native multi-threading supports Katana, Prman, and Arnold.
  • Integrated automated booking handles job scheduling without an external booking step.
  • Docker Compose deployment ships with profiles: default for cuebot, db, flyway, and rqd; cueweb for rest-gateway and cueweb; monitoring for db-exporter, prometheus, grafana, and loki; monitoring-full for zookeeper, kafka, kafka-ui, elasticsearch, kibana, and monitoring-indexer; and all for everything.
  • A sandbox environment runs a test deployment locally, with all components in separate Docker containers or Python virtual environments.
  • The project holds a CII Best Practices badge.

Who uses it and how

  • Visual effects and animation studios running production renders, including shops operating multi-facility or hybrid on-premises and cloud footprints.
  • Render wranglers and pipeline teams that need to route specific job types to specific machine classes using tags.
  • Artists and supervisors who submit work to the central farm instead of rendering locally, keeping their workstations free.
  • System administrators deploying the individual OpenCue components and their dependencies, following the getting-started guides.
  • Developers and newcomers running the sandbox environment for small tests, development work, and experimentation before committing to a full installation.

Getting started

The quickest path is Docker Compose: create /tmp/rqd/logs and /tmp/rqd/shots, run docker compose up -d, then check docker compose ps, adding profiles such as cueweb, monitoring, or all as needed. For a full deployment, the system administrator guides live under OpenCue Documentation - Getting Started at docs.opencue.io.

How it compares

No comparable or competing products are named in the facts provided, and no list of paid alternatives is given. On the evidence available, OpenCue stands alone in this registry.

When to use it — and when not to

A self-hoster must operate the core services themselves — cuebot, the database, flyway, and rqd at minimum — plus whichever optional stack is enabled, whether that is Prometheus, Grafana, and Loki for monitoring or the Kafka, Elasticsearch, and Kibana set in monitoring-full. This is not a sensible pick for a single artist with no render farm, or for a team that wants a managed service rather than infrastructure it runs. The README is deliberately thin on operation detail and defers to external documentation at docs.opencue.io, so anyone deploying beyond the Compose quick start should expect to work through the full installation guides first.

project readme (upstream, from github) — read inline

OpenCue

Supported VFX Platform Versions Supported Python Versions CII Best Practices

Introduction

OpenCue is an open source render management system. You can use OpenCue in visual effects and animation production to break down complex jobs into individual tasks. You can submit jobs to a configurable dispatch queue that allocates the necessary computational resources.

OpenCue features

OpenCue provides the following features to help manage rendering jobs at scale:

  • Sony Pictures Imageworks in-house render manager used on hundreds of films.
  • Highly-scalable architecture supporting numerous concurrent machines.
  • Tagging systems allow you to allocate specific jobs to specific machine types.
  • Jobs are processed on a central render farm and don't rely on the artist's workstation.
  • Native multi-threading that supports Katana, Prman, and Arnold.
  • Support for multi facility, on-premises, cloud, and hybrid deployments.
  • You can split a host into a large number of procs, each with their own reserved core and memory requirements.
  • Integrated automated booking.
  • No limit on the number of procs a job can have.

Learn more

For more information on installing, using, and administering OpenCue, visit www.opencue.io.

Watch YouTube videos on the OpenCue Playlist of the Academy Software Foundation (ASWF) to learn more.

Quick installation and tests

Docker Compose

A local environment can be easily launched using Docker Compose:

# Prerequisites
mkdir -p /tmp/rqd/logs /tmp/rqd/shots

# Start core services (db, flyway, cuebot, rqd)
docker compose up -d

# Check status
docker compose ps

Optional components are managed via Docker Compose profiles:

Profile Services
default cuebot, db, flyway, rqd
cueweb rest-gateway, cueweb
monitoring db-exporter, prometheus, grafana, loki
monitoring-full zookeeper, kafka, kafka-ui, elasticsearch, kibana, monitoring-indexer
all everything
# Enable Web UI and monitoring
docker compose --profile cueweb --profile monitoring up -d

# Enable all services
docker compose --profile all up -d

# Stop all profiles (recommended to ensure everything is brought down)
docker compose --profile all down

See the docker-compose.yml header for detailed instructions and access endpoints.

Sandbox Environment

Read the OpenCue sandbox documentation to learn more about the sandbox environment.

  • The sandbox environment offers an easy way to run a test OpenCue deployment locally, with all components running in separate Docker containers or Python virtual environments.
  • It is ideal for small tests, development work, and for those new to OpenCue who want a simple setup for experimentation and learning.

To learn how to run the sandbox environment, see the OpenCue Quick Starts documentation.

OpenCue full installation

Guides for system admins deploying OpenCue components and installing dependencies are available in the OpenCue Documentation - Getting Started.

OpenCue documentation

OpenCue documentation is built with Jekyll and hosted on GitHub Pages. The documentation includes installation guides, user guides, API references, and tutorials to help users get started with OpenCue.

When contributing to OpenCue, please update the documentation for any new features or changes. Each pull request should include relevant documentation updates when applicable.

Building and Testing Documentation

If you make changes to OpenCue/docs, please build and test the documentation before submitting your PR:

  1. Build and validate the documentation

    ./docs/build.sh
    
  2. Install bundler binstubs (if needed)

    If you encounter permission errors when installing to system directories:

    cd docs/
    bundle binstubs --all
    
  3. Run the documentation locally

    cd docs/
    bundle exec jekyll serve --livereload
    
  4. Preview the documentation

Open http://localhost:4000 in your browser to review your changes.

For detailed documentation setup instructions, testing procedures, and contribution guidelines, see docs/README.md.

Note: Once your pull request is merged into master, the documentation will be automatically deployed via GitHub Actions (.github/workflows/docs.yml). The updated documentation will be available at https://docs.opencue.io/.

The OpenCue documentation is now available at https://docs.opencue.io/.

Meeting notes

Starting from May 2024, all OpenCue meeting notes are stored on the OpenCue Confluence page.

For meeting notes before May 2024, please refer to the OpenCue repository in the opencue/tsc/meetings folder.

Contributors

Contributors image

Contact us

Join the #opencue channel on the ASWF Slack, the main space where contributors and users collaborate.

Working Group meets biweekly at 2pm PST on Zoom.

To join the OpenCue discussion forum for users and admins, join the opencue-user mailing list or email the group directly at .

Frequently asked questions

Is OpenCue free to use?

OpenCue is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OpenCue do?

A render management system you can deploy for visual effects and animation productions.

What is OpenCue written in?

OpenCue is primarily written in Python. Its source is publicly available at https://github.com/AcademySoftwareFoundation/OpenCue, and it has 1,005 GitHub stars.