-
Notifications
You must be signed in to change notification settings - Fork 216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Qiskit Metal v0.5: PySide6, Removing GDSPY to GDSTK, PYAEDT v1.0, and many more changes #1002
base: main
Are you sure you want to change the base?
Conversation
For ubuntu unit tests
Hoping this will resolve an issue with running tests and doc building
|
Thank you, @shanto268! The tests are running. This is a giant PR, so it would be good to have more eyes on it than just you and me. Has anyone else from your lab tried this? I think after merging this, we could bump the Qiskit Metal version from 0.1.5 to 0.2. I just want to make sure it runs. |
@zlatko-minev on a fresh python AttributeError Traceback (most recent call last)
Cell In[2], line 1
----> 1 import qiskit_metal as metal
2 from qiskit_metal import designs, draw
3 from qiskit_metal import MetalGUI, Dict, open_docs
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\qiskit_metal\__init__.py:116
112 import matplotlib.pyplot as plt
113 plt.ion() # interactive
--> 116 __setup_Qt_backend()
117 del __setup_Qt_backend
119 ## Setup logging
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\qiskit_metal\__init__.py:113, in __setup_Qt_backend()
111 # pylint: disable=redefined-outer-name
112 import matplotlib.pyplot as plt
--> 113 plt.ion()
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\matplotlib\pyplot.py:554, in ion()
552 stack.callback(ion if isinteractive() else ioff)
553 matplotlib.interactive(True)
--> 554 install_repl_displayhook()
555 return stack
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\matplotlib\pyplot.py:157, in install_repl_displayhook()
155 ipython_gui_name = backend2gui.get(get_backend())
156 if ipython_gui_name:
--> 157 ip.enable_gui(ipython_gui_name)
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\ipykernel\zmqshell.py:491, in ZMQInteractiveShell.enable_gui(self, gui)
488 from .eventloops import enable_gui as real_enable_gui
490 try:
--> 491 real_enable_gui(gui)
492 self.active_eventloop = gui
493 except ValueError as e:
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\ipykernel\eventloops.py:597, in enable_gui(gui, kernel)
594 else:
595 if gui.startswith("qt"):
596 # Prepare the kernel here so any exceptions are displayed in the client.
--> 597 make_qt_app_for_kernel(gui, kernel)
599 loop = loop_map[gui]
600 if (
601 loop and kernel.eventloop is not None and kernel.eventloop is not loop # type:ignore[unreachable]
602 ):
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\ipykernel\eventloops.py:568, in make_qt_app_for_kernel(gui, kernel)
565 from IPython.external.qt_for_kernel import QtCore
566 from IPython.lib.guisupport import get_app_qt4
--> 568 kernel.app = get_app_qt4([" "])
569 kernel.app.qt_event_loop = QtCore.QEventLoop(kernel.app)
File c:\Users\account\Python_venv\qiskit-metal-10-test\lib\site-packages\IPython\lib\guisupport.py:115, in get_app_qt4(*args, **kwargs)
113 """Create a new qt4 app or return an existing one."""
114 from IPython.external.qt_for_kernel import QtGui
--> 115 app = QtGui.QApplication.instance()
116 if app is None:
117 if not args:
AttributeError: module 'PySide6.QtPrintSupport' has no attribute 'QApplication' Then when I try to launch the GUI, in the console I get this: 03:07PM 31s CRITICAL [_qt_message_handler]: line: 0, func: None(), file: None WARNING: endResetModel called on QSortFilterProxyModel(0x2dc08222640) without calling beginResetModel first I have two windows that open but they are "not responding" and totally blank |
@shanto268, even after installation of Pyside6, I am getting |
1. Added traceback reporting in the logging. 2. Fixed - "metal: WARNING: endResetModel called on LibraryFileProxyModel(0x17fda8200) without calling beginResetModel first (No context available from Qt)" 3. Fixed MPL Rendere axes issue "Ignoring fixed y limits to fulfill fixed data aspect with adjustable data limits. Ignoring fixed x limits to fulfill fixed data aspect with adjustable data limits." 4. Added red border style to new component UI create button to underscore
QISKIT METAL v0.5 (2025) Partial Updates in ProgressMajor UpdatesThis release addresses significant package changes and ports:
GUI Enhancements
PYAEDT Update
The current files have many of these changes, inclduign the GDSTK Update, please do check. I have not yet pushed the HFSS part as this is still work in progress and hard |
Thank you for these updates, I tried with python requirementsTo install, I needed to change a couple of requirements:
The error message I got for GUIIt looks to work fine except that it is composed of a small window and a big one, the small used to close itself after launch but now it remains opened; I have a custom QComponent which is flipped (bottom-top) when I create it directly from the GUI but not from the jupyter nb and its options are printed in the jupyter cell; a message is showing frequently in the jupyter cell output:
GDS rendererTo render a GDS, I faced several issues in
|
If I had to guess, I suspect the unexpected output in the gds file would be due to some fundamental differences between The primary motivation for |
What are the issues this pull addresses (issue numbers / links)?
Porting Qiskit Metal from PySide2 to PySide6 so that it can work natively on M* Macs (Apple Silicon).
Issues addressed:
Did you add tests to cover your changes (yes/no)?
No. N/A
Did you update the documentation accordingly (yes/no)?
Yes
Did you read the CONTRIBUTING document (yes/no)?
Yes
Summary
Fixed changes from PR #908 to pass automated CI workflows and tests, ensuring compatibility with updated dependencies, environment configurations, and the latest (11/17/2024)
main
branch.Details and comments
Built on top of changes made by @obrienpja in PR #908.
Changes to
QWidget_PlaceholderText
andQTableView_AllComponents
:QWidget_PlaceholderText
class to ensure proper initialization and compatibility withPySide6
.PySide6
standards.QTableView_AllComponents
to correctly inherit and integrate withQWidget_PlaceholderText
, ensuring both functionality and visual styling work seamlessly.Requirements and environment updates:
environment.yml
file to use stable, OS-agnostic dependencies for Python 3.10.pyaedt
, to ensure a consistent build across different operating systems.Testing and validation:
main
branch workflows to confirm identical behavior.