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://api.genvidtech.com
GENVID_SUPABASE_AUTH_BASE_URL https://dsgbohphalncxvdsttwl.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.0.tar.gz (124.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.0-py3-none-any.whl (73.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: genvid_nuke-1.0.0.tar.gz
  • Upload date:
  • Size: 124.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.0.tar.gz
Algorithm Hash digest
SHA256 cda49b4524ae606f5c676ebe2c99cf01969d30fa3aa652ad58932e876db28f3a
MD5 1f2b5fa95b1e2e53f3434ecd6d737342
BLAKE2b-256 f18e53050583b854d0454ce9a85cd1608bcc5bf8e20e1636723ab521af286400

See more details on using hashes here.

File details

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

File metadata

  • Download URL: genvid_nuke-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6aa9dc2b28d69564b4f9e8fa9a2e1bf7785277b0d5644e24a641ce28bdc3eca6
MD5 8250e7ae927b541a986c35d1a218ed1b
BLAKE2b-256 fb1c557ee0cabf7bae26c54f14c10dcc51e211c3b8845a7caa85b279e5d1177d

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