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.1.tar.gz (125.8 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.1-py3-none-any.whl (73.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: genvid_nuke-1.0.1.tar.gz
  • Upload date:
  • Size: 125.8 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.1.tar.gz
Algorithm Hash digest
SHA256 9c2241d66d338bed0e75a03be38ed80f910aa427994e344e747dcee6a6ef954f
MD5 056f327a8dbd7d1a39efbd1faa0c6900
BLAKE2b-256 c52d8e430677075b8161474a897c15a43b327e908cae2f659373994460f54427

See more details on using hashes here.

File details

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

File metadata

  • Download URL: genvid_nuke-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 73.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 319a5d194205d0d037cd67b97749ecd7d6b83b48c4e22b8f51e1fcd888ce9089
MD5 28b731a798fcb32a330d365f7dd06b67
BLAKE2b-256 5c265e7ca737182d3d93428d497f64952244897b9e86cbf3234a72dded801369

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