Skip to content
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

Calculation parameters are not displayed #1154

Open
AndresOrtegaGuerrero opened this issue Feb 13, 2025 · 5 comments · Fixed by #1161
Open

Calculation parameters are not displayed #1154

AndresOrtegaGuerrero opened this issue Feb 13, 2025 · 5 comments · Fixed by #1161
Labels
bug Something isn't working

Comments

@AndresOrtegaGuerrero
Copy link
Member

AndresOrtegaGuerrero commented Feb 13, 2025

When inspecting a calculation in the previous versions of the app , there was the possibility to display the parameters from the calculations , such as Fermi , Total energy and other parameters of interest,

This options is not possible
Image

@AndresOrtegaGuerrero AndresOrtegaGuerrero added the bug Something isn't working label Feb 13, 2025
@edan-bainglass
Copy link
Member

Can you say more about your calculation @AndresOrtegaGuerrero?

This is what I get for Si2 relaxation + fat bands + pdos

Image

@AndresOrtegaGuerrero
Copy link
Member Author

TraitError                                Traceback (most recent call last)
~/.local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in _handle_msg(self, msg)
    755                 if 'buffer_paths' in data:
    756                     _put_buffers(state, data['buffer_paths'], msg['buffers'])
--> 757                 self.set_state(state)
    758 
    759         # Handle a state request.

~/.local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in set_state(self, sync_data)
    624                     from_json = self.trait_metadata(name, 'from_json',
    625                                                     self._trait_from_json)
--> 626                     self.set_trait(name, from_json(sync_data[name], self))
    627 
    628     def send(self, content, buffers=None):

/opt/conda/lib/python3.9/contextlib.py in __exit__(self, typ, value, traceback)
    124         if typ is None:
    125             try:
--> 126                 next(self.gen)
    127             except StopIteration:
    128                 return False

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in hold_trait_notifications(self)
   1500                 for changes in cache.values():
   1501                     for change in changes:
-> 1502                         self.notify_change(change)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):

~/.local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in notify_change(self, change)
    685                 # Send new state to front-end
    686                 self.send_state(key=name)
--> 687         super(Widget, self).notify_change(change)
    688 
    689     def __repr__(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

~/.local/lib/python3.9/site-packages/aiidalab_widgets_base/nodes.py in _observe_tree_selected_nodes(self, change)
    150 
    151             self._build_tree(self.find_node(node_pk, getattr(node, "namespaces", None)))
--> 152         return self.set_trait(
    153             "selected_nodes",
    154             tuple(

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set_trait(self, name, value)
   1740             raise TraitError(f"Class {cls.__name__} does not have a trait named {name}")
   1741         else:
-> 1742             getattr(cls, name).set(self, value)
   1743 
   1744     @classmethod

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

~/.local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in notify_change(self, change)
    685                 # Send new state to front-end
    686                 self.send_state(key=name)
--> 687         super(Widget, self).notify_change(change)
    688 
    689     def __repr__(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

~/.local/lib/python3.9/site-packages/aiidalab_widgets_base/process.py in _observe_tree_selected_nodes(self, change)
    813 
    814     def _observe_tree_selected_nodes(self, change):
--> 815         self.set_trait("selected_nodes", change["new"])
    816 
    817     def update(self, _=None):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set_trait(self, name, value)
   1740             raise TraitError(f"Class {cls.__name__} does not have a trait named {name}")
   1741         else:
-> 1742             getattr(cls, name).set(self, value)
   1743 
   1744     @classmethod

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

~/.local/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in notify_change(self, change)
    685                 # Send new state to front-end
    686                 self.send_state(key=name)
--> 687         super(Widget, self).notify_change(change)
    688 
    689     def __repr__(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

~/apps/quantum-espresso/src/aiidalab_qe/app/result/components/status/status.py in _on_node_selection_change(self, change)
    131 
    132     def _on_node_selection_change(self, change):
--> 133         self._update_node_view(change["new"])
    134 
    135     def _switch_to_advanced_view(self, _):

~/apps/quantum-espresso/src/aiidalab_qe/app/result/components/status/status.py in _update_node_view(self, nodes, refresh)
    167             self.node_view = ipw.HTML("No viewer available for this node.")
    168 
--> 169         self.node_view_container.children = [self.node_view]
    170 
    171     def _reset_process_tree(self, _):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    730             raise TraitError('The "%s" trait is read-only.' % self.name)
    731         else:
--> 732             self.set(obj, value)
    733 
    734     def _validate(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    704 
    705     def set(self, obj, value):
--> 706         new_value = self._validate(obj, value)
    707         try:
    708             old_value = obj._trait_values[self.name]

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _validate(self, obj, value)
    736             return value
    737         if hasattr(self, "validate"):
--> 738             value = self.validate(obj, value)
    739         if obj._cross_validation_lock is False:
    740             value = self._cross_validate(obj, value)

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in validate(self, obj, value)
   2869             return value
   2870 
-> 2871         value = self.validate_elements(obj, value)
   2872 
   2873         return value

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in validate_elements(self, obj, value)
   2881                 v = self._trait._validate(obj, v)
   2882             except TraitError as error:
-> 2883                 self.error(obj, v, error)
   2884             else:
   2885                 validated.append(v)

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in error(self, obj, value, error, info)
    821                         ),
    822                     )
--> 823             raise error
    824         else:
    825             # this trait caused an error

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in validate_elements(self, obj, value)
   2879         for v in value:
   2880             try:
-> 2881                 v = self._trait._validate(obj, v)
   2882             except TraitError as error:
   2883                 self.error(obj, v, error)

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _validate(self, obj, value)
    736             return value
    737         if hasattr(self, "validate"):
--> 738             value = self.validate(obj, value)
    739         if obj._cross_validation_lock is False:
    740             value = self._cross_validate(obj, value)

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in validate(self, obj, value)
   2149             return value
   2150         else:
-> 2151             self.error(obj, value)
   2152 
   2153     def info(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in error(self, obj, value, error, info)
    826             if self.name is None:
    827                 # this is not the root trait
--> 828                 raise TraitError(value, info or self.info(), self)
    829             else:
    830                 # this is the root trait

TraitError: The 'children' trait of a VBox instance contains an Instance of a TypedTuple which expected a Widget, not the Dict <Dict: uuid: 3d674a27-f36e-47fe-9d30-ea9fc2d0097c (pk: 37032)>.

@AndresOrtegaGuerrero
Copy link
Member Author

After updating the app and aiidalab-widget-base is.

Image

@edan-bainglass
Copy link
Member

@AndresOrtegaGuerrero can you please retest on main? This should now be resolved

@AndresOrtegaGuerrero
Copy link
Member Author

Is is still the same, do i need to re-install the app ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants