Deep copy of initial workflow config
Deep copy of initial workflow config

Determining whether to save the workflow configuration relies on comparison between a potentially updated configuration dict and a copy of the original taken when the Workflow instance was created. Using assignment or even copy construction can (apparently not always) result in the "copy" in fact being a reference to the object which may be modified. This means that the two always compare equal and the config is never saved. Using copy.deepcopy solves this issue.
zooniverse/panoptes-python-client