158 releases (23 breaking)

0.31.0 Mar 7, 2025
0.30.1 Feb 18, 2025
0.29.2 Nov 6, 2024
0.27.1 Jul 26, 2024
0.8.0 Oct 19, 2021

#302 in Emulators

Download history 1350/week @ 2025-02-04 3165/week @ 2025-02-11 3141/week @ 2025-02-18 2265/week @ 2025-02-25 2975/week @ 2025-03-04 4088/week @ 2025-03-11 2957/week @ 2025-03-18 3626/week @ 2025-03-25 3676/week @ 2025-04-01 3938/week @ 2025-04-08 2983/week @ 2025-04-15 3864/week @ 2025-04-22 4802/week @ 2025-04-29 4185/week @ 2025-05-06 4717/week @ 2025-05-13 4213/week @ 2025-05-20

18,286 downloads per month
Used in 3 crates

Apache-2.0

1MB
20K SLoC

Welcome to the Rust implementation of the Quil quantum programming language.

Within this crate you'll find:

This crate is still early in its development and does not fully support all Quil features, nor claim a stable API. Prior to v1.0, minor-version changes are considered breaking changes. Please pin your versions when needed, and closely follow the changelog when upgrading.


Quil Parser & Program Builder

This library is the implementation of the Quil spec in Rust.

It serves three purposes:

  1. Parse Quil programs from strings, and output programs to strings
  2. Manipulate Quil programs within Rust
  3. Construct a dependency graph among program instructions

It should be considered unstable until the release of v1.0.

Crate Features

Feature Description
graphviz-dot Enable plotting ScheduledPrograms in Graphviz dotfile format.
wasm-bindgen Enable compilation to wasm32-unknown-unknown with wasm-bindgen

Testing

When testing this crate, you should run with the --all-features flag to ensure all tests are executed.

cargo test --all-features

Dependencies

~14–21MB
~301K SLoC