# Running your first Quantum Program

How you build and run quantum programs largely depends on what library you are using. For most users, we recommend pyQuil. Head to [run your first quantum program in the pyQuil documentation](https://pyquil-docs.rigetti.com/en/stable/getting_started.html#run-your-first-program) to get started!

If you want to work at a lower level than pyQuil, you can consider using our other libraries.

{% hint style="warning" %}
Unlike pyQuil, these packages are pre-1.0 and breaking changes can occur between minor versions.
{% endhint %}

### 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.

See:

* [Documentation for qcs-sdk-rust](https://docs.rs/qcs/latest/qcs/)
* [Documentation for qcs-sdk-python](https://rigetti.github.io/qcs-sdk-rust/qcs_sdk.html)

### quil-rs and quil-py

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.

See:

* [Documentation for quil-rs](https://docs.rs/quil-rs/latest/quil_rs/)
* [Documentation for quil-py](https://rigetti.github.io/quil-rs/quil.html)

## What next?

After you get your first program up and running, check out our [guides](https://docs.rigetti.com/qcs/guides "mention")to learn more. Here are some recommendations to get you started:

* Learn more about Quil, the Quantum Programming Language in [quil](https://docs.rigetti.com/qcs/guides/quil/quil "mention")
* Learn about how your programs can be written, compiled, and executed in [the-lifecycle-of-a-program](https://docs.rigetti.com/qcs/guides/the-lifecycle-of-a-program "mention").
