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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0dff3987d307f9afaaa7cd57874c3ef7c8a7e5393b73c3c337c98029cd2d282
|
|
| MD5 |
7b378d1eceb63a943c5bb3369f7f6fda
|
|
| BLAKE2b-256 |
cc066fbc497deb455d933ca4b872d881097061541d6df7356790de26b58b6738
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73bbc974ca5b14747e366152ca58711fd30a4ffce8da0da6500fb28b456a6972
|
|
| MD5 |
43b14a9eb0f2506d29b3419e57cb4830
|
|
| BLAKE2b-256 |
f00bd981a1e169d623641d88641cc45fffcc546cf3cc232fb1a1d54af38c03b0
|