Configuration
Configuration

Database Location
Environment Variable (Recommended for Studios):
# Set before launching Nuke or standalone app
export STOCK_DB=/path/to/shared/database.db
Config File:
Edit config/config.json:
{
"database_path": "./data/stax.db",
"default_repository_path": "./repository",
"preview_dir": "./previews",
"default_copy_policy": "soft",
"nuke_mock_mode": false
}

Settings Panel
Open with Ctrl+3 to configure:
- General: Database location, user preferences
- Ingestion: Copy policy, sequence detection settings, Blender executable override for geometry conversion
- Preview & Media: Thumbnail size, GIF settings, video preview options
- Network & Performance: Database retries/timeout, cache settings, pagination
- Custom Processors: Pre-ingest, post-ingest, and post-import hook scripts
- Security & Admin: User management, password changes (admin only)
Custom Processors (Pipeline Integration)
StaX supports custom Python scripts at three points in the workflow:
- Pre-Ingest Processor: Runs before files are copied (validation, naming enforcement)
- Post-Ingest Processor: Runs after cataloging (metadata injection, external system notifications)
- Post-Import Processor: Runs after Nuke node creation (OCIO setup, expression application)
Example Pre-Ingest Hook:
# processors/validate_naming.py
import re
# Context contains: {'name': str, 'filepath': str, 'element_data': dict}
if not re.match(r'^[A-Z]{3}_\d{4}', context['name']):
result = {
'continue': False,
'message': 'File name must match pattern: XXX_####'
}
else:
result = {'continue': True}
Configure processor paths in Settings → Custom Processors tab.