In this presentation, we introduce PennyLane, a Python-based software framework for optimization and machine learning of quantum and hybrid quantum-classical computations. PennyLaneโs core feature is the ability to compute gradients of quantum circuits in a scalable way that is compatible with classical techniques such as backpropagation. PennyLane extends the automatic differentiation algorithms common in optimization and machine learning to be compatible with quantum and hybrid computations. The library provides a unified architecture for near-term quantum computing devices, supporting both discrete- and continuous-variable paradigms of quantum computation. A plugin system makes the framework compatible with any gate-based quantum simulator or hardware, including leading quantum software platforms such as Xanadu's Strawberry Fields, IBM's Qiskit, and Rigetti's PyQuil. PennyLane can be used for the optimization of variational quantum eigensolvers, quantum approximate optimization, quantum machine learning models, and many other applications.