Skip to main content

Genvid platform integration for Foundry Nuke 14+

Project description

genvid-nuke

Genvid platform integration for Foundry Nuke 14+.

This package lets compositors authenticate with the Genvid backend from inside Nuke, browse project comps, render to the platform, and surface live notifications about server-side comp generation.

Requirements

  • Foundry Nuke 14.0 or newer (bundled Python is 3.9+).
  • macOS or Windows. Linux is best-effort.
  • A Genvid account with access to at least one project.

Layout

This is a standard pip-installable Python package using a src/ layout:

genvid_nuke/
├── pyproject.toml
└── src/genvid_nuke/
    ├── __init__.py
    ├── __about__.py
    ├── config.py
    └── tests/

Nuke discovers plugins by executing init.py and menu.py files placed on its NUKE_PATH (typically ~/.nuke/). Those bootstrap files are added in later tasks of the Phase 2 plan; they are intentionally thin shims that import this genvid_nuke package via standard Python import once it is installed into Nuke's Python environment.

Why pip-installable + thin loader? Nuke's bundled Python is a normal CPython interpreter, so a properly installed package on sys.path works exactly the same as any other library. Studios get clean upgrades via pip install --upgrade genvid-nuke, and we avoid the historical pitfall of shipping a single 3000-line menu.py.

Install

Two distribution artifacts are published, both built from the same source tree via dist/build.sh:

Wheel (recommended) — install into Nuke's bundled Python

"<Nuke install>/python" -m pip install genvid_nuke-1.0.0-py3-none-any.whl

This is the cleanest path for individual workstations: the package lands on Nuke's sys.path and import genvid_nuke works directly. Upgrades are pip install --upgrade.

.zip — drop onto a shared NUKE_PATH

For studios that distribute plugins by extracting to a shared NUKE_PATH location:

unzip genvid_nuke-1.0.0.zip -d ~/.nuke/genvid_nuke/

Then add the extracted directory itself (e.g. ~/.nuke/genvid_nuke/) to NUKE_PATH — in ~/.nuke/init.py or your studio launch script — and restart Nuke. The .zip ships a top-level init.py shim alongside a genvid_nuke/ package directory; on Nuke startup, the shim adds the extracted folder to sys.path and then imports genvid_nuke.init to wire the on-script-load sync. Once that runs, Nuke's bundled Python can import genvid_nuke directly.

Development

cd genvid_nuke
python -m pip install -e ".[dev]"

nuke itself is never a dependency — it is provided by the Nuke host. The test suite mocks sys.modules["nuke"] so the package can be exercised in CI without a real Nuke license.

Sign-in (preview)

Authentication uses the Supabase OAuth Password grant against the Genvid project, with refresh tokens cached via the OS keychain (keyring). Implementation lands in later Phase 2 tasks.

Usage (preview)

After install and sign-in, the Nuke menu gains a Genvid entry that lets users:

  • Pick a project / comp.
  • Push the current comp to the Genvid backend (POST /comps).
  • See status updates as the server processes the comp.

Detailed usage docs live alongside the implementation in later tasks.

Configuration

All runtime configuration is environment-variable driven (see src/genvid_nuke/config.py). Defaults target Genvid production; studios behind a corporate proxy or running against a staging environment can override:

Variable Default
GENVID_API_BASE_URL https://app.genvid.com/api
GENVID_SUPABASE_AUTH_BASE_URL https://vqegpoigxpcauqflcauw.supabase.co/auth/v1 (Genvid production; override for staging)
GENVID_SUPABASE_CLIENT_ID genvid-nuke-plugin
GENVID_POLL_INTERVAL_SECONDS 5.0
GENVID_POLL_FAST_INTERVAL_SECONDS 2.0
GENVID_POLL_FAST_WINDOW_SECONDS 30.0

Testing

cd genvid_nuke
python -m pip install ".[dev]"
pytest -v -m "not e2e" --cov=src/genvid_nuke

The e2e marker is reserved for tests that require a real Nuke license; those are skipped in CI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genvid_nuke-1.0.2.tar.gz (126.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genvid_nuke-1.0.2-py3-none-any.whl (73.5 kB view details)

Uploaded Python 3

File details

Details for the file genvid_nuke-1.0.2.tar.gz.

File metadata

  • Download URL: genvid_nuke-1.0.2.tar.gz
  • Upload date:
  • Size: 126.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for genvid_nuke-1.0.2.tar.gz
Algorithm Hash digest
SHA256 96991815ecefeb20ebc81a35cc87de4ee98c3d1b9ebf760372d9a2b04547b8be
MD5 31a5c6fced6f32e14b53b7a387b12e71
BLAKE2b-256 61cbe990cbd1e0793542b1dfb56d6408b55e114d2e0ce968e96981a35a963668

See more details on using hashes here.

File details

Details for the file genvid_nuke-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: genvid_nuke-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 73.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for genvid_nuke-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 980a9eb58cd713f92149900df0d5a580f6d83165042af6935ca0ebab07542dbd
MD5 959f67f05c4f248e337ddfedb1d04457
BLAKE2b-256 d7f9e923c48a481a7b1cfec7b255a1e55076ff6525a8ec96f859391e8456f054

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page