I decided to use scipy.optimize through PyCall. If any body is interested in the details. I can devote time to making a MWE and post the code here. It took some hours of googling and stackoverflow to figure out how I should parse arguments. Would not want others to go through the same pain.
FYI @Tamas_Papp, the model features non-linear constraints.