Skip to content

Move to Qiskit 2.x - #290

Merged
chrisjz merged 1 commit into
mainfrom
chore/qiskit-2x
Aug 23, 2026
Merged

Move to Qiskit 2.x#290
chrisjz merged 1 commit into
mainfrom
chore/qiskit-2x

Conversation

@chrisjz

@chrisjz chrisjz commented Aug 23, 2026

Copy link
Copy Markdown
Member

The qiskit>=1.0.0,<2.0.0 pin had held the project on 1.4.6. Lifting it to >=2.0.0,<3.0.0 resolves to 2.5.2 and needs no code changes at all.

Why that isn't luck

I checked every removal in Qiskit 2.0 against the codebase. All zero occurrences:

Removed in 2.0 Occurrences
BackendV1 0
execute() 0
Instruction.condition / .c_if() 0
QuantumCircuit.qasm() 0
qiskit.pulse 0
opflow 0
bind_parameters() 0

The API surface actually in use is small and already V2-era: QuantumCircuit, transpile, quantum_info.Statevector, providers.BackendV2, primitives.PrimitiveResult, circuit.Parameter, plus qiskit_aer.AerSimulator and the qiskit_ibm_runtime Sampler/Service. Whoever kept this current did the migration work ahead of time.

Unexpected bonus: the warning flood is gone

The suite went from 382,356 warnings to 208. Most of the old volume was Qiskit 1.x deprecation warnings firing once per circuit construction — which is also a good part of why CI logs were so large.

Verification

  • Full suite: 4141 passed, 1 skipped, 2 xfailed.
  • Quantum-brain smoke configs specifically (qvarcircuit, qrh, qef, qsnn, crh, qrc): pass.
  • pre-commit run --all-files green, pyright included.
  • Qiskit 2 API surface import-smoke-tested directly (Statevector, transpile, primitives, runtime).
  • Nightly benchmark suite: 10 passed in 7m16s. This is the real regression guard for a quantum-library major bump — it checks trained success rates against benchmark ceilings rather than just API compatibility, and it is green.

ðŸĪ– Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@chrisjz, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 4 minutes

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙ïļ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cc8b7d52-815c-4173-94b8-024a956f8fea

ðŸ“Ĩ Commits

Reviewing files that changed from the base of the PR and between 80b4b4b and 7d5589e.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • packages/quantum-nematode/pyproject.toml

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.

âĪïļ Share

Comment @coderabbitai help to get the list of available commands.

Base automatically changed from chore/python-313-and-deps to main August 23, 2026 02:08
The `qiskit>=1.0.0,<2.0.0` pin had held the project on 1.4.6. Lifting it to
`>=2.0.0,<3.0.0` resolves to 2.5.2 and needs no code changes at all.

That is a genuine finding rather than luck. Qiskit 2.0's removals — `BackendV1`,
`execute()`, `Instruction.condition` / `c_if`, `QuantumCircuit.qasm()`, the pulse
module, opflow, `bind_parameters` — have zero occurrences in this codebase. The
API surface actually in use is small and already V2-era: `QuantumCircuit`,
`transpile`, `quantum_info.Statevector`, `providers.BackendV2`,
`primitives.PrimitiveResult`, `circuit.Parameter`, plus `qiskit_aer.AerSimulator`
and the `qiskit_ibm_runtime` Sampler/Service. Whoever kept this current did the
migration work in advance.

The upgrade also removes an enormous amount of noise: the suite went from 382,356
warnings to 208. Most of the old volume was Qiskit 1.x deprecation warnings
firing once per circuit construction, which is also why CI logs were so large.

Verified: full suite 4141 passed / 1 skipped / 2 xfailed, the quantum-brain smoke
configs (qvarcircuit, qrh, qef, qsnn, crh, qrc) pass, `pre-commit run
--all-files` is green including pyright, and the qiskit-2 API surface was
import-smoke-tested directly. The nightly benchmark suite is the real regression
guard for a quantum-library major bump and is being run separately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

ðŸ“Ē Thoughts on this report? Let us know!

@chrisjz
chrisjz marked this pull request as ready for review August 23, 2026 02:19
@chrisjz
chrisjz merged commit 6cdad2e into main Aug 23, 2026
9 checks passed
@chrisjz
chrisjz deleted the chore/qiskit-2x branch August 23, 2026 02:20
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.

1 participant