A simple python package which serves as a framework for diffing and patching complex objects. Inspired by Shreyas Kulkarni and git diff and patch.
PyPi: https://pypi.org/project/diff-and-patch/
See examples
from examples.car import Car, Engine, Passenger from examples.update_car_service import UpdateCarService engine = Engine(model='RAWWR') John = Passenger('John') Doe = Passenger('Doe') old_car = Car( engine=engine, passengers=[John, Doe], ) new_engine = Engine(model='SUPER_RAWWR') Anne = Passenger('Anne') new_car = Car( engine=engine, passengers=[John, Doe, Anne], ) UpdateCarService(old_car).update(new_car)