Skip to content

Bump qiskit-ibm-runtime to 0.50.0 - #723

Merged
JerryChen97 merged 4 commits into
masterfrom
chore/bump-qiskit-ibm-runtime
Oct 23, 2026
Merged

JerryChen97 merged 4 commits into
masterfrom
chore/bump-qiskit-ibm-runtime

Conversation

@JerryChen97

@JerryChen97 JerryChen97 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Following up PennyLaneAI/pennylane#10372

Context and scope

Bump qiskit-ibm-runtime from the 0.45 series to the 0.50 series. Runtime 0.50.0 requires ibm-platform-services>=0.61.1, excluding the problematic 0.55.2 source distribution that dependency resolution could select with the older Runtime requirements.

The Runtime version is updated consistently in all three places: ~=0.50.0 in the plugin's published dependencies, and ==0.50.0 in the docs and base dependency groups. The additional entries in base record the dependencies of the updated environment; they are not all new direct requirements of the plugin.

Dependencies added or upgraded for Runtime 0.50

The dependency chains below explain the additional pins. The selected versions satisfy the upstream packages' published requirements; the exact patch versions are the versions used for validation, rather than new minimum-version requirements imposed by this plugin.

Change in base Reason
Add ibm-quantum-schemas==0.13.20261016 Runtime requires ibm-quantum-schemas>=0.12.20260921,<1.
Add samplomatic==0.21.0 Runtime requires samplomatic>=0.21.0; schemas and mitigation also depend on it.
Add qiskit-mitigation==0.1.1 Runtime requires qiskit-mitigation>=0.1.1.
Add pybase64==1.5.1 Runtime, schemas, and Samplomatic require pybase64>=1.4.0.
Add orjson==3.13.0 Samplomatic requires orjson>=3.9.0.
Add qiskit-qasm3-import==0.6.0 IBM Quantum Schemas requires qiskit-qasm3-import>=0.6.0,<1.0.0.
Add openqasm3==1.0.1 The QASM importer requires openqasm3[parser]>=0.4,<2.0.
Add antlr4-python3-runtime==4.13.2 The openqasm3 parser extra requires antlr4-python3-runtime>=4.7,<4.14.
Upgrade pydantic from 2.12.5 to 2.13.5 Runtime now requires pydantic>=2.13.0.
Upgrade pydantic-core from 2.41.5 to 2.46.5 Pydantic 2.13.5 requires exactly pydantic-core==2.46.5.

The existing ibm-platform-services==0.73.0 and ibm-cloud-sdk-core==3.24.4 pins already satisfy the new dependency requirements, so their versions are retained. The SDK core also requires python-dateutil>=2.9.0,<3; the existing python-dateutil==2.9.0.post0 pin is compatible.

PennyLane compatibility and existing pin corrections

Refreshing the base environment also accounts for PennyLane main, which the ci and docs groups install:

  • Add jax==0.7.1, which PennyLane main requires, together with jaxlib==0.7.1, ml-dtypes==0.6.0, and opt-einsum==3.4.0. These are PennyLane/JAX dependencies, not dependencies introduced by Runtime. Compatible Python 3.14 wheels are available for the selected versions.
  • Change mpmath==1.4.1 to mpmath==1.3.0. This fixes an existing conflict: the pinned sympy==1.14.0 requires mpmath>=1.1.0,<1.4.
  • Remove the direct autoray pin and let PennyLane select its required version. PennyLane 0.44.x requires 0.8.2, released PennyLane 0.45.x requires 0.8.4, and the tested PennyLane main requires 0.8.10. A single exact pin in base would conflict with some of those supported environments. Autoray remains installed transitively through PennyLane.

The Qiskit constraints and Aer pin are unchanged. Runtime 0.50 requires Qiskit >=2.3.0,<3; combined with the plugin's existing <=2.3.0 cap, the effective Qiskit version is therefore 2.3.0. This bump increases the dependency set and narrows the effective Qiskit range. No plugin source changes are included.

Validation

Checked the dependency relationships against published package metadata and verified the final dependency groups with pip using --dry-run --ignore-installed --only-binary=:all::

  • --group base resolves for Linux x86_64 CPython 3.12, 3.13, and 3.14, selecting released PennyLane 0.45.1 and Autoray 0.8.4.
  • --group base --group ci resolves on Python 3.12 against PennyLane main at 8ed4de74df5da3b201c323e737407b57a398522d, selecting Autoray 0.8.10.
  • Both checks use the retained IBM SDK pins and Runtime 0.50.0.
  • Pre-commit checks and git diff --check pass; Python-only hooks have no applicable files.

These are dependency-resolution checks, not new full runtime-suite runs. The existing CI workflows install the ci and docs groups without base, so the explicit base-group checks cover a dependency configuration that those workflows do not validate. Runtime tests and documentation checks for the pushed revision are tracked by the PR checks.

@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (92a9055) to head (74550de).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #723   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9         9           
  Lines          875       875           
=========================================
  Hits           875       875           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@andrijapau andrijapau 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.

LGTM!

@JerryChen97
JerryChen97 merged commit ea1d216 into master Oct 23, 2026
9 checks passed
@JerryChen97
JerryChen97 deleted the chore/bump-qiskit-ibm-runtime branch October 23, 2026 20:37
JerryChen97 added a commit to PennyLaneAI/demos that referenced this pull request Oct 23, 2026
**Summary:**

The stable `ibm_pennylane` demo build fails during dependency
resolution: uv selects `ibm-platform-services==0.55.2`, whose source
build raises `ModuleNotFoundError: No module named 'pkg_resources'`.

Add `python-dateutil<3` to the stable constraints to match the supported
range of the newer IBM SDK. With this constraint, the same resolution
succeeds using `ibm-platform-services==0.77.1`,
`ibm-cloud-sdk-core==3.28.0`, and `python-dateutil==2.9.0.post0`. This
works with master's existing Python 3.11 environment,
`pennylane-qiskit==0.45.0`, and `qiskit-ibm-runtime==0.45.1`.

**Validation:**

- Reproduced the reported dependency-resolution failure using the demo's
build/core/stable inputs and CI's `uv==0.7.22` on local Python 3.11.16.
- Reran the same `uv pip compile` command with the changed stable
constraints: all 77 dependencies resolve successfully.
- `git diff --check` passes.
- Validation covers the failing dependency-resolution step; a full
Sphinx/demo build was not run.

**Relevant references:**

- [Failing master
build](https://github.com/PennyLaneAI/demos/actions/runs/39904754488/job/120254070134).
- [PennyLane-Qiskit Runtime
upgrade](PennyLaneAI/pennylane-qiskit#723). That
branch requires Python 3.12 and is outside master's current
`pennylane-qiskit==0.45.*` constraint, so it does not automatically
repair this stable build.

**Possible Drawbacks:**

The constraint applies to all stable demos and excludes python-dateutil
3.x until the IBM SDK supports it.

**Related GitHub Issues:**

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

3 participants