build: remove pytket-braket from the braket extra - #1176
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/update-changelog |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
With pytket-braket out of the braket extra, the IonQ-via-Braket gateset transform silently disappearing would leave users staring at raw Braket gate-validation errors. The guard now logs which package restores the transform, a caplog test pins the hint plus the circuit passing through unrebased, and the changelog entry states the trade-off and the restore path. Verified both ways: tests/runtime/aws passes without pytket-braket installed (tket tests skip) and with it (122 passed, transform intact).
Argus reviewAuto-review is off for this repo. Tick the box below to run a review on this PR.
Estimated cost
Tip: you can also comment |
Problem
pytket-braketin thebraketextra serves exactly one runtime purpose: the IonQ-via-Braket gateset transform inBraketDevice.transform(), which rebases gates IonQ devices on Braket don't accept natively (Braket's SDK won't decompose them). Everything else about the Braket runtime works without it — the transform path is already guarded bygraph.has_edge("pytket", "braket")and skips when absent. Meanwhile, keeping it in the extra couples everyamazon-braket-sdkcap bump topytket-braket's own pin on the same SDK.Change
pytket-braketfrom thebraketextra (it stays inrequirements-dev.txt, so CI still runs the tket tests).pip install pytket-braketre-enables it. A caplog test pins the hint and the circuit passing through unrebased.Trade-off, stated plainly
qbraid[braket]users targeting IonQ devices through Braket lose automatic gate rebasing: circuits with unsupported gates will fail Braket-side validation until they installpytket-braket(the log now says so) or transpile themselves. All other Braket flows are unaffected — verified with the fulltests/runtime/awssuite passing both without the package (tket tests skip) and with it (122 passed).