Pydavinci
A python package that helps you script DaVinci Resolve
Install / Use
/learn @pedrolabonia/PydavinciREADME
⚠️ This project needs maintainers! Please see this if you're interested.
Install PyDavinci
- PyDavinci requires Python 3.10 or higher
- External scripting with PyDavinci requires Resolve Studio 18 (Free version does not allow API access)
- The pip version currently works for Davinci Resolve Studio 17. For use with Resolve 18, install it with git.
pip install git+https://github.com/pedrolabonia/pydavinci
Now, with Davinci Resolve open, we just need to import it!
from pydavinci import davinci
resolve = davinci.Resolve()
Examples and documentation
- Check out the usage examples
- Or go deep in the documentation
Installation requirements and guidelines
For launching scripts externally, you also need the Studio version.
If you're working with the built-in Davinci Resolve Python console, you need to install pydavinci for the Python interpreter that's used by Davinci's console.
For avoiding conflicts when using inside the embedded console, don't use resolve as the entry point variable, as that's reserved by the console. Example of suggested usage:
<img src=https://user-images.githubusercontent.com/4316044/164998485-8a4e6fa7-3f8c-436c-b9ab-43350a3e6766.png />
Launching scripts externally (Studio version)
For pydavinci to work by launching scripts outside the embedded console, make sure external scripting is set to Local in Settings -> System -> General
<img src=https://user-images.githubusercontent.com/4316044/164954498-de350d02-0458-478d-a766-6404b7a8a75b.png />
If you want to contribute feel free to open a pull request!
Documentation
Up to date docs are still a work in progress. At some point expect to see the original API reference extended and some further examples included. For now go to the original PyDavinci project
Here's a quick list of changes and added API support not present in the original docs:
- Python 3.10 typing
- Using Hatch for project management
- Using Ruff for linting
- Added Gallery API wrapper (untested)
- Added timeline.settings.timecode setter
- Support Resolve's GetUniqueID method
