• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit / 13683492936
87%
main: 88%

Build:
Build:
LAST BUILD BRANCH: substitute_pi4_rotations
DEFAULT BRANCH: main
Ran 05 Mar 2025 07:22PM UTC
Jobs 1
Files 860
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Mar 2025 07:00PM UTC coverage: 87.005% (-0.05%) from 87.055%
13683492936

push

github

web-flow
Handle an optional symengine and sympy in qpy (#13917)

* Document that symengine is optional for qpy.load

This commit changes the API for qpy.load() to make it explicit that
symengine may not be installed in the future but is a requirement for
deserializing certain payloads that were generated using symengine.
We're expecting to drop symengine as a requirement with #13278 which
should improve Qiskit's installation story and also will facilitate
adding a C api for circuits. But the qpy v10, v11, and v13 have a hard
requirement on symengine (specifically 0.11.0 and 0.13.0) to be able to
deserialize `ParameterExpression` if the symbolic encoding was set to
use it. Since the function needs to support being able to deserialize
these payloads symengine will need to be installed. This commit adds the
document and release note to indicate this change in behavior.

* Raise QPY compatibility version to remove symengine and sympy dependency

This commit raises the qpy compatibility version to QPY format version
13. As the larger PR is planning for a world without symengine installed
by default this becomes a problem for the generation side too. This
becomes a blocker for using QPY < 13 in the future so this commit opts
to just raise the minimum verison to get ahead of any potential issues.

* Add HAS_SYMENGINE check on load function

* Correct logic for ucr*_dg gates name changing

* Add feature string to optional decorator

* Prepare for an optional sympy

In addition to making symengine optional #13278 should also enable us to
make sympy optional. It would only be potentially needed for loading QPY
payloads that were generated using sympy encoding, but also some
visualization functions. This commit lays the groundwork for removing it
as a dependency by outlining the API changes for the functions that will
optionally depend on sympy and raise an exception if it's not installed.
It won't be possible to trigger the exception with sympy in the
requirements list,... (continued)

26 of 29 new or added lines in 8 files covered. (89.66%)

44 existing lines in 5 files now uncovered.

76082 of 87446 relevant lines covered (87.0%)

326550.2 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
90.91
-2.64% qiskit/utils/units.py
2
74.0
-6.61% qiskit/qpy/common.py

Uncovered Existing Lines

Lines Coverage ∆ File
1
94.23
-0.23% crates/qasm2/src/expr.rs
5
74.0
-6.61% qiskit/qpy/common.py
6
91.98
-1.0% crates/qasm2/src/lex.rs
9
87.45
-1.35% qiskit/qpy/binary_io/circuits.py
23
83.63
-4.25% qiskit/qpy/binary_io/value.py
Jobs
ID Job ID Ran Files Coverage
1 13683492936.1 05 Mar 2025 07:22PM UTC 860
87.0
GitHub Action Run
Source Files on build 13683492936
  • Tree
  • List 860
  • Changed 14
  • Source Changed 11
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #13683492936
  • 9e455f2f on github
  • Prev Build on main (#13682900138)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc