I was wondering just how dangerous it is to deal with the shotgun database directly, or perhaps via a Python OPM like Peewee or SqlAlchemy, rather than going through the API. Put differently, is there a lot of high level logic in the api, with hidden but important cascading behaviors? Or is the API essentially just exposing the basic data objects that we might alternatively use a different method to do?
I'd really like to create a suite of Python Peewee OPM classes based on our Shotgun needs, but I worry about corrupting the database if I don't use the API. Anyone have any thoughts?