If you want to work at a lower level than pyQuil, you can consider using our other libraries.
Unlike pyQuil, these packages are pre-1.0 and breaking changes can occur between minor versions.
The QCS SDK
The QCS SDK is a library written for Rust and Python. It offers an interface for interacting with quilc, QVM, and QCS. There is both a high level API for the compile-and-execute workflow and a lower-level API that can be used to build your own workflows.
We offer a pair of Rust and Python packages for working with Quil. You can use them to parse, build, manipulate and serialize Quil programs. quil-py has no dependencies, making it a lightweight alternative to pyQuil if you only want to build Quil programs.