Note: This project is a fork of Pydavinci!
PyDavinci is developed by Pedro Labonia
Unfortunately, PyDavinci's progress has slowed, likely due to the pressures and expectations of its developer. I've had plans to publish packages depending on PyDavinci to PyPi, but PyPi doesn't allow publishing packages with git dependencies. Also, Pip allows ignoring required Python versions with the requires_python
flag, but other package managers or development environments may not place nice.
Yes! I am a collaborator on the original project and have shared some thoughts with him on Discord. In fact, Pedro's resolve_18 branch should be fairly up-to-date with main if I'm doing my job right. All the same, I don't have access to the main repo or the PyPi credentials to push releases and I don't want to be a Karen.
I plan to service my needs here where the official project is lacking, but I'm more than happy to collaborate with others on changes. For the moment I may have a little more free time than Pedro, but I do not plan to supplant him, given he has already demonstrated superior skill and expertise for this project! If in time PyDavinci truly appears abandoned and demand increases, I may take this project in a more headstrong direction. Otherwise, if development picks up again, I will contribute my changes and archive this repository.
I personally think PyDavinci is the most comprehensive and intuitive API wrapper for DaVinci Resolve. I'd like to see it continue growing! It's very thorough and makes building Python apps for Resolve quick and easy.
- Although the package's name is
pydavinci18
, do not install this alongside the original, as installations will collide. The project uses the same namespace aspydavinci
. - Documentation is still sparse as I find time to update it! For now go to the original PyDavinci project
- PyDavinci requires Python 3.10 or higher
- External scripting with PyDavinci requires Resolve Studio 18 (Free version does not allow API access)
pip install pydavinci_fork
# Note: Ensure Davinci Resolve is open before importing
from pydavinci import davinci
resolve = davinci.Resolve()
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.
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