A Rez plugin for managing production environments in animation/VFX workflows. It enables context-aware package management with staged validation, ensuring pipeline stability and preventing production breakage during testing.
- ✅ SQLite-backed environment storage
- 🧩 Multi-level context hierarchy (
studio → project → category → entity) - 🔄 Automatic validation of package combinations during install/uninstall
- 📦 Staging/deployment workflow with optional history backups
- 🧪 Extensive test suite with coverage tracking
- Clone the repository:
git clone https://github.com/PiloeGAO/RezProductionResolver.git
cd RezProductionResolver-
Install Rez (see Rez docs).
-
Add the plugin to your
rezconfig.py:
plugin_path = [
"/path/to/RezProductionResolver/src",
]- Initialize the database:
rez manage --initialize- Install a package:
rez manage --install maya-2024 --software maya my_project assets character- Uninstall a package:
rez manage --uninstall houdini-19 --step lighting- List packages:
rez manage --list --step modeling --software blender my_game project- Deploy changes:
rez manage --deploy- Launch software in a context:
rez resolve my_project assets character --software maya- Test staged changes:
rez resolve my_project assets character --software maya --stagingInstall test dependencies:
pip install -e .[tests]pytest tests/coverage run -m pytest tests/ && coverage reportBuild documentation using Sphinx:
cd docs
pip install -e .[docs]
make htmlGenerated HTML will be in docs/build/html/.
- CI Tests: Runs tests on every push/pull request.
- Docs Deploy: Deploys documentation to GitHub Pages automatically.
MIT License. See LICENSE for details.
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name. - Commit changes and push to your fork.
- Submit a pull request with a clear description.