pyOptSparse: A Python framework for large-scaleconstrained nonlinear optimization of sparse systems | Synapse