There is a newer version of the record available.

Published May 17, 2026 | Version v0.6.0
Software Open

qiskit-community/qiskit-metal: v0.6.0 — qutip 5 + HFSS 2024.1+ + pyEPR 0.9.5

Description

v0.6.0 — qutip 5 + HFSS 2024.1+ + pyEPR 0.9.5

Minor version bump: this release adds HFSS 2024.1+ solver support and a new solution_types helper module — backward-compatible new functionality, not strictly a patch fix.

This release brings qiskit-metal into alignment with current pyEPR (0.9.5) and qutip (5.x), adds HFSS 2024.1+ solution-type support, and fixes long-standing drift between the pip and conda install paths.

Highlights

  • qutip 5 compatibility fix in analyses/hamiltonian/states_energies.py. extract_energies used np.array([Qobj, ...]) and np.absolute(Qobj) patterns that silently broke under qutip 5 (object-dtype ndarray instead of stacking). Converted to .full() before stacking + numpy ops; backward-compatible with qutip 4. (#1050)
  • HFSS 2024.1+ solution-type alias support. HFSS 2024.1 renamed the strings reported for the Driven Modal / Driven Terminal solvers (DrivenModalHFSS Modal Network / HFSS Hybrid Modal Network, same shape for Driven Terminal). Metal had eight hard-coded == checks against the legacy strings that silently fell through on HFSS 2024.1+. New solution_types helper module with frozen alias sets + is_eigenmode / is_drivenmodal / is_driventerminal / is_q3d / canonical_kind predicates; 8 call sites in hfss_renderer.py, q3d_renderer.py, ansys_renderer.py updated. Mirrors pyEPR PR #176. (#1051)
  • pyEPR-quantum bumped to ≥ 0.9.5, which ships: pyEPR.solution_types public module (alias sets matching metal's), AEDT 2024.1+ hybrid-design fix, QuTiP 5.x .norm() fix in back_box_numeric, setup-name silent-ignore now raises ValueError, convergence-plot log-scale crash fix. (#1053, #1054)
  • Dead pyEPR.hfss import in renderer_ansys/parse.py fixed. The module was importing from pyEPR.hfss, removed in pyEPR ≥ 0.9; symbols moved to pyEPR.ansys. Latent because no in-tree caller hit it, but any external user of parse_value_hfss was hitting ModuleNotFoundError. (#1051)
  • conda environment drift resolved. environment.yml had qutip>=4.7.1 and scqubits~=3.1.0 while pyproject.toml required qutip>=5.0.0 and scqubits>=4.1.0. conda users would have pulled incompatible older versions. Now synced. (#1053)

New test coverage

  • tests/test_solution_types.py — 11 tests pinning every legacy and HFSS 2024.1+ alias to its canonical kind, alias-set disjointness, case-sensitivity, rejection of None and unknown strings.
  • tests/test_pyepr_integration.py — 16 tests pinning the full pyEPR API surface metal imports: Convert.{Ic_from_Lj, Ej_from_Lj, Ec_from_Cs} with metal's exact call shapes, e_el / hbar against CODATA, every pyEPR.ansys symbol, public and private pyEPR.reports convergence plotters, top-level ProjectInfo / DistributedAnalysis / QuantumAnalysis re-exports.
  • tests/test_analyses_2_functionality.py — new coverage for Hcpb.h0_to_qutip, Hcpb.n_to_qutip (with and without thresh), basis_state_on, extract_energies.
  • Full suite: 427 passing (up from 391 baseline).

Compatibility

  • Python: 3.10, 3.11, 3.12
  • qutip: ≥ 5.0.0
  • pyEPR-quantum: ≥ 0.9.5
  • numpy: ≥ 1.24.2, < 2
  • scqubits: ≥ 4.1.0

Cross-repo coordination

This release lands the metal-side mirror of pyEPR PRs #172 and #176. The new pyEPR.solution_types module (shipped in pyEPR-quantum 0.9.5) is a drop-in for metal's own solution_types.py — constant names already match. A future PR may consolidate to importing from pyEPR directly for a single source of truth.

Full changelog

  • #1050 — Fix qutip 5 incompatibility in extract_energies, add coverage tests
  • #1051 — Sync metal with pyEPR PR #176: HFSS 2024.1+ solution-type aliases + API contract tests
  • #1053 — Bump pyEPR-quantum to 0.9.4, metal to 0.5.4, sync conda env floors
  • #1054 — Bump pyEPR-quantum floor to >=0.9.5

What's Changed

  • Fix 1045: deprecated pandas behavior in mpl_renderer by @PositroniumJS in https://github.com/qiskit-community/qiskit-metal/pull/1047
  • Update references to user folders in gitignore by @PositroniumJS in https://github.com/qiskit-community/qiskit-metal/pull/1039
  • Correct bug in GDS renderer related to pandas update by @PositroniumJS in https://github.com/qiskit-community/qiskit-metal/pull/1049
  • Fix qutip>=5 compatibility in states_energies and add tests by @zlatko-minev in https://github.com/qiskit-community/qiskit-metal/pull/1050
  • Sync metal with pyEPR PR #176: HFSS 2024.1+ solution-type aliases + API contract tests by @zlatko-minev in https://github.com/qiskit-community/qiskit-metal/pull/1051
  • Update 1.2-Quick-start.ipynb by @dyk07 in https://github.com/qiskit-community/qiskit-metal/pull/1044
  • Bump pyEPR-quantum to 0.9.4, metal to 0.5.4, sync conda env floors by @zlatko-minev in https://github.com/qiskit-community/qiskit-metal/pull/1053
  • Bump pyEPR-quantum floor to >=0.9.5 by @zlatko-minev in https://github.com/qiskit-community/qiskit-metal/pull/1054

New Contributors

  • @dyk07 made their first contribution in https://github.com/qiskit-community/qiskit-metal/pull/1044

Full Changelog: https://github.com/qiskit-community/qiskit-metal/compare/v0.5.3...v0.6.0

Files

qiskit-community/qiskit-metal-v0.6.0.zip

Files (34.6 MB)

Name Size Download all
md5:081bd204090e8479c98e2e47486eddfd
34.6 MB Preview Download

Additional details

Related works