Welcome to pyQuil!
pyQuil is part of the Rigetti Forest toolkit for quantum programming in the cloud, which is currently in public beta. If you are interested in obtaining an API key for the beta, please reach out by signing up here. We look forward to hearing from you.
More concretely, pyQuil produces programs in the Quantum Instruction Language (Quil). For a full description of Quil, please refer to the whitepaper A Practical Quantum Instruction Set Architecture.  Quil is an opinionated quantum instruction language: its basic belief is that in the near term quantum computers will operate as coprocessors, working in concert with traditional CPUs. This means that Quil is designed to execute on a Quantum Abstract Machine that has a shared classical/quantum architecture at its core.
pyQuil currently allows you to do quantum computing in two ways: 1. Quil programs can be executed on a local or cloud-based Quantum Virtual Machine. This is a classical simulation of a quantum processor that can simulate up to 36 qubits. The default access key allows you to run simulations of up to 25 qubits. These simulations can be run through either synchronous API calls, or through an asynchronous job queue for larger programs. More information about the QVM can be found at Overview of the Quantum Virtual Machine. 2. pyQuil also runs some select single qubit experiments on Rigetti’s superconducting quantum processors. This functionality will be expanded over time, and currently allows for Rabi, Ramsey, and T1 experiments to be run on a multi-qubit chip using the QPUConnection object. More information about these features are available at Experimenting with a QPU.
If you are already familiar with quantum computing, then feel free to proceed to Installation and Getting Started.
Otherwise, take a look at our Brief Introduction to Quantum Computing, where the basics of quantum computing are introduced using Quil and the Quantum Abstract Machine on which it runs.