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://<supabase-project>.supabase.co/auth/v1 (placeholder — filled at install time)
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-0.1.0rc1.tar.gz (124.6 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-0.1.0rc1-py3-none-any.whl (72.8 kB view details)

Uploaded Python 3

File details

Details for the file genvid_nuke-0.1.0rc1.tar.gz.

File metadata

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

File hashes

Hashes for genvid_nuke-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 f0dff3987d307f9afaaa7cd57874c3ef7c8a7e5393b73c3c337c98029cd2d282
MD5 7b378d1eceb63a943c5bb3369f7f6fda
BLAKE2b-256 cc066fbc497deb455d933ca4b872d881097061541d6df7356790de26b58b6738

See more details on using hashes here.

File details

Details for the file genvid_nuke-0.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: genvid_nuke-0.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 72.8 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-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 73bbc974ca5b14747e366152ca58711fd30a4ffce8da0da6500fb28b456a6972
MD5 43b14a9eb0f2506d29b3419e57cb4830
BLAKE2b-256 f00bd981a1e169d623641d88641cc45fffcc546cf3cc232fb1a1d54af38c03b0

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