Skip to content

feat!: Add handling for an additional gateset - #119

Merged
jake-arkinstall merged 14 commits into
0.3-seriesfrom
feat/add-sol-gateset
Apr 21, 2026
Merged

jake-arkinstall merged 14 commits into
0.3-seriesfrom
feat/add-sol-gateset

Conversation

@jake-arkinstall

@jake-arkinstall jake-arkinstall commented Jan 27, 2026

Copy link
Copy Markdown
Collaborator

Selene presently supports the Rxy, Rzz, Rz gateset. We require an additional gateset that has Rp, Rpp, Tk2 gates.

A long term strategy will be to generalise over arbitrary gatesets, but in the short term this is overkill, as it would require changing the way that all components communicate gates - either by a startup handshake mechanism or on-demand validation.

Instead, we opt to simply support these two gatesets natively, passing them through their own dedicated top-level interfaces in order to prevent any unwanted mixing.

As part of this, we introduce a new interface, new build kinds/steps, and new pathways for supporting the new gateset in testing.

@jake-arkinstall jake-arkinstall added this to the 0.3 Release milestone Apr 20, 2026
@jake-arkinstall
jake-arkinstall changed the base branch from main to 0.3-series April 20, 2026 14:10
@jake-arkinstall
jake-arkinstall marked this pull request as ready for review April 20, 2026 17:01
Copilot AI review requested due to automatic review settings April 20, 2026 17:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds native support for a second, Sol-targeted gateset (including RPP/TK2) alongside existing Helios support, spanning build planning, runtime/simulator plugin APIs, and test resources.

Changes:

  • Extend simulator/runtime APIs to include rpp and tk2 operations, with updated plugin loading and bindings (Rust/C/Python).
  • Introduce a new Sol QIS interface plugin (Python + C) and update build tooling to build/package it.
  • Update/regen Guppy-derived LLVM IR test resources to cover the new platform/gateset pathways.

Reviewed changes

Copilot reviewed 139 out of 1117 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
selene-sim/python/tests/resources/from_guppy/test_debug/test_array_state[StimPlugin]/array_state-helios-aarch64-apple-darwin.ll Added generated LLVM IR snapshot for Helios target
selene-sim/python/tests/resources/from_guppy/test_debug/test_array_state[QuestPlugin]/array_state-sol-x86_64-windows-gnu.ll Added generated LLVM IR snapshot for Sol target
selene-sim/python/tests/resources/from_guppy/test_debug/test_array_state[QuestPlugin]/array_state-sol-aarch64-apple-darwin.ll Added generated LLVM IR snapshot for Sol target
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-x86_64-windows-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-x86_64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-x86_64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-aarch64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-aarch64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-sol-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-sol-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-sol-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-sol-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-sol-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-helios-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-helios-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-helios-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-helios-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_cleanup/test_file_deletion/file_deletion-helios-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-x86_64-windows-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-x86_64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-x86_64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-aarch64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-aarch64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-sol-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-sol-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-sol-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-sol-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-sol-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-helios-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-helios-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-helios-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-helios-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config2]/strict_build_llvm_bc-helios-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-x86_64-windows-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-x86_64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-x86_64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-aarch64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-aarch64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-sol-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-sol-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-sol-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-sol-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-sol-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-helios-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-helios-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-helios-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-helios-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config1]/strict_build_llvm_ir-helios-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-x86_64-windows-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-x86_64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-x86_64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-aarch64-unknown-linux-gnu.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-aarch64-apple-darwin.ll Removed old generated LLVM IR snapshot (pre-Sol/Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-sol-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-sol-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-sol-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-sol-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-sol-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Sol naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-helios-x86_64-windows-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-helios-x86_64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-helios-x86_64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-helios-aarch64-unknown-linux-gnu.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/tests/resources/from_guppy/test_build_validation/test_strict_builds_guppy[build_config0]/strict_build_default-helios-aarch64-apple-darwin.ll Added generated LLVM IR snapshot (Helios naming)
selene-sim/python/selene_sim/interactive/runtime.py Add ctypes bindings and operation dataclasses for RPP/TK2
selene-sim/python/selene_sim/event_hooks/instruction_log.py Add instruction-log parsing + pytket emission for RPP/TK2
selene-sim/python/selene_sim/build.py Allow selecting quantum interface by cfg["platform"]
selene-sim/c/include/selene/selene.h Add C API entrypoints for selene_rpp and selene_tk2
selene-ext/simulators/stim/python/gate_definitions.py Add Stim-side definitions for RPP/TK2 exploration
selene-ext/simulators/quest/python/gate_definitions.py Add symbolic definitions for RPP/TK2
selene-ext/simulators/quantum-replay/rust/lib.rs Implement rpp/tk2 forwarding in replay simulator
selene-ext/simulators/coinflip/rust/lib.rs Stub rpp/tk2 with bounds validation
selene-ext/simulators/classical-replay/rust/lib.rs Stub rpp/tk2 with bounds validation
selene-ext/runtimes/soft_rz/rust/lib.rs Reject RPP/TK2 as unsupported in SoftRZ runtime
selene-ext/runtimes/simple/rust/lib.rs Add RPP/TK2 recording support to Simple runtime
selene-ext/interfaces/sol_qis/python/selene_sol_qis_plugin/plugin.py New Sol QIS QuantumInterface plugin
selene-ext/interfaces/sol_qis/python/selene_sol_qis_plugin/build.py New Sol build steps (HUGR -> LLVM IR/BC)
selene-ext/interfaces/sol_qis/python/selene_sol_qis_plugin/init.py Export Sol interface types
selene-ext/interfaces/sol_qis/c/include/sol_qis/interface.h New Sol QIS C interface header
selene-ext/interfaces/sol_qis/c/include/sol_qis/cl_types.h New Sol QIS CL types
selene-ext/interfaces/sol_qis/c/cmake/SolSeleneInterfaceConfig.cmake.in Add CMake package config for Sol interface
selene-ext/interfaces/sol_qis/c/CMakeLists.txt Build/install Sol static libs (quiet/debug/diagnostic)
selene-ext/interfaces/sol_qis/c/.gitignore Ignore Sol C build directory
selene-ext/interfaces/helios_qis/python/selene_helios_qis_plugin/build.py Restrict Helios build steps to Helios platform + make compiler optional
selene-ext/error-models/simple-leakage/rust/lib.rs Add simulation support for RPP/TK2 operations
selene-ext/error-models/ideal/rust/lib.rs Add simulation support for RPP/TK2 operations + improved errors
selene-ext/error-models/depolarizing/rust/lib.rs Add depolarizing support for RPP/TK2 operations + consistent bails
selene-core/rust/simulator/version.rs Bump simulator API patch version
selene-core/rust/simulator/plugin.rs Make some gate symbols optional; add RPP/TK2 optional symbols
selene-core/rust/simulator/interface.rs Provide default "unsupported gate" implementations + add RPP/TK2
selene-core/rust/simulator/helper.rs Export C ABI helpers for RPP/TK2
selene-core/rust/simulator/conformance_testing/framework.rs Extend conformance test framework with RPP/TK2 operations
selene-core/rust/simulator.rs Delegate new simulator ops through the wrapper
selene-core/rust/runtime/version.rs (Attempted) runtime API version adjustment
selene-core/rust/runtime/plugin.rs Add runtime plugin symbols + batched extraction for RPP/TK2
selene-core/rust/runtime/interface.rs Provide default "unsupported gate" implementations + add RPP/TK2
selene-core/rust/runtime/helper.rs Export C ABI helpers for RPP/TK2 + batch extraction wiring
selene-core/rust/runtime.rs Add RPP/TK2 operations and mark Operation enum non_exhaustive
selene-core/python/selene_core/build_utils/builtins/qir.py Note missing Sol QIR matching support
selene-core/python/selene_core/build_utils/builtins/init.py Register+export Sol/QIR builtins
selene-core/c/include/selene/simulator.h Add C API declarations for simulator RPP/TK2 ops
selene-core/c/include/selene/runtime.h Add C API declarations for runtime RPP/TK2 ops (+ docs)
selene-core/c/include/selene/core_types.h Extend RuntimeGetOperationInterface with RPP/TK2 callbacks
pyproject.toml Add test dependency-group and include Sol plugin package
hatch_build.py Build/package both Helios and Sol platform QIS artifacts
devenv.nix Exclude gate_definitions helper scripts from tooling
conftest.py Generate/store LLVM IR resources per QIS platform+target triple
.gitattributes Mark test resources/snapshots as generated

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread selene-core/rust/runtime/version.rs
Comment thread selene-ext/interfaces/sol_qis/c/include/sol_qis/interface.h
Comment thread selene-ext/interfaces/sol_qis/c/include/sol_qis/interface.h
Comment thread selene-ext/runtimes/soft_rz/rust/lib.rs
Comment thread selene-ext/runtimes/soft_rz/rust/lib.rs
Comment thread conftest.py
Comment thread conftest.py Outdated
Comment thread selene-ext/interfaces/sol_qis/python/selene_sol_qis_plugin/plugin.py Outdated
Comment thread selene-sim/python/selene_sim/build.py
@jake-arkinstall
jake-arkinstall merged commit 5180b80 into 0.3-series Apr 21, 2026
10 checks passed
@jake-arkinstall
jake-arkinstall deleted the feat/add-sol-gateset branch April 21, 2026 15:43
jake-arkinstall pushed a commit that referenced this pull request Jun 12, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.3.0-alpha.1](selene-core-v0.3.0-alpha.0...selene-core-v0.3.0-alpha.1)
(2026-06-12)


### ⚠ BREAKING CHANGES

* Use struct exports for all plugin types, separate error model and
simulator ([#169](#169))
* Add handling for an additional gateset
([#119](#119))

### Features

* Add __version__ attributes
([#137](#137))
([379ae01](379ae01))
* Add handling for an additional gateset
([#119](#119))
([5180b80](5180b80))
* Add simulate_delay functionality
([#139](#139))
([cca97fa](cca97fa))
* Add support for object files provided as bytes
([#94](#94))
([c4cfac6](c4cfac6))
* add timing to builtin runtimes and batching options to softrz runtime
([#158](#158))
([049e123](049e123))
* Build improvements
([#142](#142))
([12f399b](12f399b))
* Interactive use of Selene from python
([#135](#135))
([db3028d](db3028d))
* Make interfaces shared, add ArgReader
([#171](#171))
([143e742](143e742))
* QIR support using QIR-QIS
([#114](#114))
([70ab294](70ab294))
* Result stream handling refactor
([#93](#93))
([607a55e](607a55e))
* Stim improvements (more ops + state printing)
([#115](#115))
([867d5e5](867d5e5))
* test on QIS instead of relying on the upper stack
([#150](#150))
([b80a9c4](b80a9c4))
* Traces for analytics
([#160](#160))
([24b9978](24b9978))
* Use mingw instead of msvc for windows wheels
([#143](#143))
([3d91514](3d91514))
* Use struct exports for all plugin types, separate error model and
simulator ([#169](#169))
([c44a5c9](c44a5c9))


### Bug Fixes

* add `___barrier` to Helios QIS for QIR emulation
([#136](#136))
([dfbc4c3](dfbc4c3))
* avoid using qir_major_version string for QIR detection
([#123](#123))
([deaa0dc](deaa0dc))
* classify lowered qir-qis bitcode as helios
([#157](#157))
([67fca60](67fca60))
* make qir-qis optional and stabilize CI
([#164](#164))
([e52c0b2](e52c0b2))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
jake-arkinstall added a commit that referenced this pull request Jun 12, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.3.0-alpha.1](selene-sim-v0.3.0-alpha.0...selene-sim-v0.3.0-alpha.1)
(2026-06-12)


### ⚠ BREAKING CHANGES

* Use struct exports for all plugin types, separate error model and
simulator ([#169](#169))
* Add handling for an additional gateset
([#119](#119))

### Features

* Add __version__ attributes
([#137](#137))
([379ae01](379ae01))
* Add event hook which records measurement results
([#104](#104))
([01300ee](01300ee)),
closes [#103](#103)
* Add handling for an additional gateset
([#119](#119))
([5180b80](5180b80))
* Add simulate_delay functionality
([#139](#139))
([cca97fa](cca97fa))
* Add support for object files provided as bytes
([#94](#94))
([c4cfac6](c4cfac6))
* add timing to builtin runtimes and batching options to softrz runtime
([#158](#158))
([049e123](049e123))
* Better exception handling for parse_shots=False
([#70](#70))
([3caf530](3caf530))
* Build improvements
([#142](#142))
([12f399b](12f399b))
* Bump selene-core dependency and relax guppylang testing dependency
([#120](#120))
([6375791](6375791))
* Cleanup error'd processes before log collection
([#98](#98))
([77e698e](77e698e))
* **compiler:** Bump tket version; add wasm + gpu to the hugr-qis
registry
([c69155d](c69155d))
* correct shot end strategy and error processing
([#91](#91))
([93eaeb0](93eaeb0))
* Emit a nicer error when trying to emulate unsupported pytket ops
([#72](#72))
([d88a28a](d88a28a))
* Fine-grained timeout configuration
([#69](#69))
([072842e](072842e))
* Interactive use of Selene from python
([#135](#135))
([db3028d](db3028d))
* Make interfaces shared, add ArgReader
([#171](#171))
([143e742](143e742))
* QIR support using QIR-QIS
([#114](#114))
([70ab294](70ab294))
* Quest performance improvements
([#133](#133))
([af640e9](af640e9))
* random_advance ([#55](#55))
([974b496](974b496))
* Record simulated delays in event hooks
([#154](#154))
([608884a](608884a))
* Result stream handling refactor
([#93](#93))
([607a55e](607a55e))
* Stim improvements (more ops + state printing)
([#115](#115))
([867d5e5](867d5e5))
* Support state-dump passthrough on quantum replay simulator
([#108](#108))
([1b01a01](1b01a01))
* test on QIS instead of relying on the upper stack
([#150](#150))
([b80a9c4](b80a9c4))
* Test on QIS snapshots
([#134](#134))
([c4d58ab](c4d58ab))
* Traces for analytics
([#160](#160))
([24b9978](24b9978))
* update to tket-qsystem 0.20
([#66](#66))
([7191b07](7191b07))
* Use mingw instead of msvc for windows wheels
([#143](#143))
([3d91514](3d91514))
* Use SeleneStartupError for errors before shot_start
([#170](#170))
([85c2907](85c2907))
* Use struct exports for all plugin types, separate error model and
simulator ([#169](#169))
([c44a5c9](c44a5c9))


### Bug Fixes

* add `___barrier` to Helios QIS for QIR emulation
([#136](#136))
([dfbc4c3](dfbc4c3))
* Add ENDING to allowed shot state on receiving meta information
([#100](#100))
([fc4d673](fc4d673))
* Add numpy dependency back
([#127](#127))
([c9a01eb](c9a01eb))
* avoid using qir_major_version string for QIR detection
([#123](#123))
([deaa0dc](deaa0dc))
* classify lowered qir-qis bitcode as helios
([#157](#157))
([67fca60](67fca60))
* **compiler:** error when entrypoint has arguments
([#84](#84))
([604b131](604b131))
* **compiler:** update tket-qystem to fix CZ bug
([#78](#78))
([3991f11](3991f11))
* correct post_runtime duration metric
([#74](#74))
([0bef66a](0bef66a))
* make qir-qis optional and stabilize CI
([#164](#164))
([e52c0b2](e52c0b2))


### Documentation

* add repository citation guidance and metadata
([#146](#146))
([880a58b](880a58b)),
closes [#145](#145)
* Correct URL to guppy repository
([#121](#121))
([27ded00](27ded00))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: Jake Arkinstall <65358059+jake-arkinstall@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants