Cirq

Cirq provides useful abstractions for dealing with today’s noisy intermediate-scale quantum (NISQ) computers, where the details of quantum hardware are vital to achieving state-of-the-art results. Some of its features include:
*  Flexible gate definitions and custom gates
*  Parameterized circuits with symbolic variables
*  Circuit transformation, compilation and optimization
*  Hardware device modeling
*  Noise modeling
*  Multiple built-in quantum circuit simulators
*  Integration with qsim for high-performance simulation
*  Interoperability with NumPy and SciPy
*  Cross-platform compatibility