ipyvasp 0.9.90__py2.py3-none-any.whl → 0.9.91__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ipyvasp/_version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.9.90"
1
+ __version__ = "0.9.91"
ipyvasp/widgets.py CHANGED
@@ -100,6 +100,7 @@ def fix_signature(cls):
100
100
  cls.__signature__ = inspect.signature(cls.__init__)
101
101
  return cls
102
102
 
103
+ @fix_signature
103
104
  class Files:
104
105
  """Creates a Batch of files in a directory recursively based on glob pattern or given list of files.
105
106
  This is a boilerplate abstraction to do analysis in multiple calculations simultaneously.
@@ -675,8 +676,9 @@ class BandsWidget(VBox):
675
676
  description="Style", options=["plotly_white", "plotly_dark"]
676
677
  )
677
678
  self._click = Dropdown(description="Click", options=["None", "vbm", "cbm"])
678
- self._ktcicks = Text(description="kticks")
679
+ self._ktcicks = Text(description="kticks", tooltip="0 index maps to minimum value of kpoints slider.")
679
680
  self._brange = ipw.IntRangeSlider(description="bands",min=1, max=1) # number, not index
681
+ self._krange = ipw.IntRangeSlider(description="kpoints",min=0, max=1,value=[0,1], tooltip="Includes non-zero weight kpoints")
680
682
  self._ppicks = PropsPicker(
681
683
  on_button_click=self._update_graph, on_selection_changed=self._warn_update
682
684
  )
@@ -690,6 +692,7 @@ class BandsWidget(VBox):
690
692
  free_widgets=[
691
693
  self._tsd,
692
694
  self._brange,
695
+ self._krange,
693
696
  self._ktcicks,
694
697
  ipw.HTML("<hr/>"),
695
698
  self._ppicks,
@@ -702,6 +705,7 @@ class BandsWidget(VBox):
702
705
  self._tsd.observe(self._change_theme, "value")
703
706
  self._click.observe(self._click_save_data, "value")
704
707
  self._ktcicks.observe(self._warn_update, "value")
708
+ self._krange.observe(self._set_krange, "value")
705
709
  self._brange.observe(self._warn_update, "value")
706
710
 
707
711
  @property
@@ -722,9 +726,17 @@ class BandsWidget(VBox):
722
726
  vp.Vasprun(path) if path.parts[-1].endswith('xml') else vp.Vaspout(path)
723
727
  ).bands
724
728
  self._ppicks.update(self.bands.source.summary)
725
- self._ktcicks.value = ", ".join(
729
+
730
+ self._krange.max = self.bands.source.summary.NKPTS - 1
731
+ self._krange.tooltip = f"Includes {self.bands.source.get_skipk()} non-zero weight kpoints"
732
+ self.bands.source.set_skipk(0) # full range to view for slider flexibility after fix above
733
+
734
+ self._kwargs['kpairs'] = [self._krange.value,]
735
+ if (ticks := ", ".join(
726
736
  f"{k}:{v}" for k, v in self.bands.get_kticks()
727
- )
737
+ )): # Do not overwrite if empty
738
+ self._ktcicks.value = ticks
739
+
728
740
  self._brange.max = self.bands.source.summary.NBANDS
729
741
  if self.bands.source.summary.LSORBIT:
730
742
  self._click.options = ["None", "vbm", "cbm", "so_max", "so_min"]
@@ -781,7 +793,7 @@ class BandsWidget(VBox):
781
793
  for vs in self._ktcicks.value.split(",")
782
794
  ]
783
795
  kticks = [(int(vs[0]), vs[1]) for vs in hsk if len(vs) == 2] or None
784
- self._kwargs = {"kticks": kticks, # below numbers instead of index and full shown range
796
+ self._kwargs = {**self._kwargs, "kticks": kticks, # below numbers instead of index and full shown range
785
797
  "bands": range(self._brange.value[0] - 1, self._brange.value[1]) if self._brange.value else None}
786
798
 
787
799
  if self._ppicks.projections:
@@ -814,6 +826,10 @@ class BandsWidget(VBox):
814
826
  def _change_theme(self, change):
815
827
  self._fig.layout.template = self._tsd.value
816
828
 
829
+ def _set_krange(self, change):
830
+ self._kwargs["kpairs"] = [self._krange.value,]
831
+ self._warn_update(None) # Update warning
832
+
817
833
  def _click_save_data(self, change=None):
818
834
  def _show_and_save(data_dict):
819
835
  self._interact.output_widget.clear_output(wait=True) # Why need again?
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ipyvasp
3
- Version: 0.9.90
3
+ Version: 0.9.91
4
4
  Summary: A processing tool for VASP DFT input/output processing in Jupyter Notebook.
5
5
  Home-page: https://github.com/massgh/ipyvasp
6
6
  Author: Abdul Saboor
@@ -20,7 +20,7 @@ Requires-Dist: scipy ==1.9.1
20
20
  Requires-Dist: ipywidgets >=8.0.4
21
21
  Requires-Dist: pillow >=9.3.0
22
22
  Requires-Dist: pandas ==1.4.4
23
- Requires-Dist: plotly ==5.14.1
23
+ Requires-Dist: plotly ==6.0.1
24
24
  Requires-Dist: requests ==2.28.1
25
25
  Requires-Dist: typer ==0.9.0
26
26
  Provides-Extra: extra
@@ -2,7 +2,7 @@ ipyvasp/__init__.py,sha256=5kXMrPVov-R2ljnMgmUSkvIGUx1jf-tSyq64DVh-eXM,1422
2
2
  ipyvasp/__main__.py,sha256=eJV1TZSiT8mC_VqAeksNnBI2I8mKMiPkEIlwikbtOjI,216
3
3
  ipyvasp/_enplots.py,sha256=D38paN8zqZgluNAwmCwcocd7-_h_T0HTGolI1eBkDes,37484
4
4
  ipyvasp/_lattice.py,sha256=kOseNCIWt-VCnkhFQZEcsXhyNYobjfqNfAl3seXHiVU,105584
5
- ipyvasp/_version.py,sha256=-vxeP0sT-Zg0mRA7M5aH5lK8OpRm7KaoSVz_pS7RxtA,24
5
+ ipyvasp/_version.py,sha256=UDaEZasuen4In5EhCaJLf6DzeM_GV9fv3tICx6s5Yuk,24
6
6
  ipyvasp/bsdos.py,sha256=m7hVs4xfDZeRO1wBniOUHCP1MiPI1X09gvuDfKGUBt8,32143
7
7
  ipyvasp/cli.py,sha256=aWFEVhNmnW8eSOp5uh95JaDwLQ9K9nlCQcbnOSuhWgw,6844
8
8
  ipyvasp/evals_dataframe.py,sha256=KWbkvQJSyXeTSG6LJGcZKs0s5-tor5uPee2P8FJd7vs,20759
@@ -11,15 +11,15 @@ ipyvasp/misc.py,sha256=ItSsG_aWiQZNRXM2F23atmNVdedyXFYtoShflYRvzOU,2645
11
11
  ipyvasp/potential.py,sha256=tzA73c5lkp6ahLSJchMrU043-QWaOV0nIOUA7VMmfKQ,11408
12
12
  ipyvasp/surface.py,sha256=MjE5oB0wW6Pca_C-xu8rN6OMH7lUEeNPNyM7Kz_Im-8,23766
13
13
  ipyvasp/utils.py,sha256=joImNDyjpe4T3lrw738X3I3qA1-RysyYotJwlN9_z0w,17510
14
- ipyvasp/widgets.py,sha256=6YnEqa92N9GRpzMmVa5L8lb-Ai30ErEAIuGr_1y0vzA,49202
14
+ ipyvasp/widgets.py,sha256=RUp9K6GOA7lOCJYJkpuUmje5e9bL5Z-nNG_XpqxsAq0,50083
15
15
  ipyvasp/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  ipyvasp/core/parser.py,sha256=0EySeY5tIqJr-aBK_tJn4GfybV_-3OTBchXBj_cv7-k,39811
17
17
  ipyvasp/core/plot_toolkit.py,sha256=V-IQo7MrOhmNCGpWHIMtV04TmmubgFvGgH_yd4YmoX4,36158
18
18
  ipyvasp/core/serializer.py,sha256=v0ma4htirybtQo_wFhIEjkRoZMQk9ETDz85iloaq3YY,38427
19
19
  ipyvasp/core/spatial_toolkit.py,sha256=dXowREhiFzBvvr5f_bApzFhf8IzjH2E2Ix90oCBUetY,14885
20
- ipyvasp-0.9.90.dist-info/LICENSE,sha256=F3SO5RiAZOMfmMGf1KOuk2g_c4ObvuBJhd9iBLDgXoQ,1263
21
- ipyvasp-0.9.90.dist-info/METADATA,sha256=GUOab5OA1BJtmiwE0Pe2XcLpAzLABhh8i3KrOXvhgCc,2421
22
- ipyvasp-0.9.90.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
23
- ipyvasp-0.9.90.dist-info/entry_points.txt,sha256=C7m0Sjmr14wFjflCkWXLzr5N6-cQj8uJC9n82mUtzt8,44
24
- ipyvasp-0.9.90.dist-info/top_level.txt,sha256=ftziWlMWu_1VpDP1sRTFrkfBnWxAi393HYDVu4wRhUk,8
25
- ipyvasp-0.9.90.dist-info/RECORD,,
20
+ ipyvasp-0.9.91.dist-info/LICENSE,sha256=F3SO5RiAZOMfmMGf1KOuk2g_c4ObvuBJhd9iBLDgXoQ,1263
21
+ ipyvasp-0.9.91.dist-info/METADATA,sha256=fHckxNKxE3zz13QQtPgxbfxJ8v2jZ7T30ZRMkhJP4OU,2420
22
+ ipyvasp-0.9.91.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
23
+ ipyvasp-0.9.91.dist-info/entry_points.txt,sha256=C7m0Sjmr14wFjflCkWXLzr5N6-cQj8uJC9n82mUtzt8,44
24
+ ipyvasp-0.9.91.dist-info/top_level.txt,sha256=ftziWlMWu_1VpDP1sRTFrkfBnWxAi393HYDVu4wRhUk,8
25
+ ipyvasp-0.9.91.dist-info/RECORD,,