QCQP is a package for modeling and nonconvex solving quadratically constrained quadratic programs (QCQPs) using relaxations and local search heuristics. Our heuristics are based on the Suggest-and-Improve framework: Suggest method finds a candidate point for a local method. Improve method takes a point from the Suggest method and performs a local search to find a better point. The notion of better points is defined by the maximum violation of a point and the objective value. See our associated paper for more information on the Suggest-and-Improve framework. QCQP is built on top of CVXPY, a domain-specific language for convex optimization embedded in Python.