ipyvasp 0.9.95__py2.py3-none-any.whl → 0.9.97__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 +1 -1
- ipyvasp/widgets.py +18 -28
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/METADATA +7 -2
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/RECORD +8 -8
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/LICENSE +0 -0
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/WHEEL +0 -0
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/entry_points.txt +0 -0
- {ipyvasp-0.9.95.dist-info → ipyvasp-0.9.97.dist-info}/top_level.txt +0 -0
ipyvasp/_version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.9.
|
|
1
|
+
__version__ = "0.9.97"
|
ipyvasp/widgets.py
CHANGED
|
@@ -87,13 +87,6 @@ def summarize(files, func, **kwargs):
|
|
|
87
87
|
)
|
|
88
88
|
|
|
89
89
|
|
|
90
|
-
_progress_svg = """<svg xmlns="http://www.w3.org/2000/svg" height="5em" viewBox="0 0 50 50">
|
|
91
|
-
<path fill="skyblue" d="M25,5A20.14,20.14,0,0,1,45,22.88a2.51,2.51,0,0,0,2.49,2.26h0A2.52,2.52,0,0,0,50,22.33a25.14,25.14,0,0,0-50,0,2.52,2.52,0,0,0,2.5,2.81h0A2.51,2.51,0,0,0,5,22.88,20.14,20.14,0,0,1,25,5Z">
|
|
92
|
-
<animateTransform attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.2s" repeatCount="indefinite"/>
|
|
93
|
-
</path>
|
|
94
|
-
</svg>"""
|
|
95
|
-
|
|
96
|
-
|
|
97
90
|
def fix_signature(cls):
|
|
98
91
|
# VBox ruins signature of subclass, let's fix it
|
|
99
92
|
cls.__signature__ = inspect.signature(cls.__init__)
|
|
@@ -598,7 +591,7 @@ class _ThemedFigureInteract(ei.InteractBase):
|
|
|
598
591
|
self.observe(self._autosize_figs, names = 'isfullscreen') # fix figurewidget problem
|
|
599
592
|
|
|
600
593
|
def _autosize_figs(self, change):
|
|
601
|
-
for w in self.
|
|
594
|
+
for w in self.params:
|
|
602
595
|
# don't know yet about these without importing
|
|
603
596
|
if re.search('plotly.*FigureWidget', str(type(w).__mro__)):
|
|
604
597
|
w.layout.autosize = False # Double trigger is important
|
|
@@ -620,15 +613,14 @@ class _ThemedFigureInteract(ei.InteractBase):
|
|
|
620
613
|
self.set_css() # automatically sets dark/light, ensure after icon set
|
|
621
614
|
fig.layout.autosize = True # must
|
|
622
615
|
|
|
623
|
-
|
|
624
|
-
def set_css(self, main=None, center=None):
|
|
616
|
+
def _set_css(self, main=None, center=None): # allowed overriding, but not set_css
|
|
625
617
|
# This is after setting icon above, so logic is fliipped
|
|
626
618
|
style = _get_css("light" if self._theme.icon == 'sun' else 'dark') # infer from icon to match
|
|
627
619
|
if isinstance(main, dict):
|
|
628
620
|
style = {**style, **main} # main should allow override
|
|
629
621
|
elif main is not None:
|
|
630
622
|
raise TypeError("main must be a dict or None, got: {}".format(type(main)))
|
|
631
|
-
super().
|
|
623
|
+
super()._set_css(style, center)
|
|
632
624
|
|
|
633
625
|
@property
|
|
634
626
|
def files(self):
|
|
@@ -799,7 +791,7 @@ class BandsWidget(_ThemedFigureInteract):
|
|
|
799
791
|
|
|
800
792
|
@ei.callback
|
|
801
793
|
def _toggle_footer(self, showft):
|
|
802
|
-
self.
|
|
794
|
+
self.pane_heights = [0,100 - showft, showft]
|
|
803
795
|
|
|
804
796
|
@ei.callback
|
|
805
797
|
def _set_krange(self, krange):
|
|
@@ -1038,25 +1030,23 @@ class KPathWidget(_ThemedFigureInteract):
|
|
|
1038
1030
|
|
|
1039
1031
|
@ei.callback
|
|
1040
1032
|
def _update_theme(self, fig, theme):
|
|
1041
|
-
super()._update_theme(fig, theme)
|
|
1042
|
-
|
|
1033
|
+
return super()._update_theme(fig, theme)
|
|
1043
1034
|
|
|
1044
1035
|
@ei.callback
|
|
1045
|
-
def
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1036
|
+
def _respond_click(self, lock, delp):
|
|
1037
|
+
if lock.clicked:
|
|
1038
|
+
self.params.lock.icon = 'lock' if self.params.lock.icon == 'unlock' else 'unlock'
|
|
1039
|
+
self._show_info(f"{self.params.lock.icon}ed adding/deleting kpoints!")
|
|
1040
|
+
elif delp.clicked:
|
|
1041
|
+
if self.params.lock.icon == 'unlock': # Do not delete locked
|
|
1042
|
+
sm = self.params.sm
|
|
1043
|
+
for v in sm.value: # for loop here is important to update selection properly
|
|
1044
|
+
sm.options = [opt for opt in sm.options if opt[1] != v]
|
|
1045
|
+
self._update_selection() # update plot as well
|
|
1046
|
+
else:
|
|
1047
|
+
self._show_info("Select point(s) to delete")
|
|
1056
1048
|
else:
|
|
1057
|
-
self._show_info("
|
|
1058
|
-
else:
|
|
1059
|
-
self._show_info("cannot delete point when locked!", 'red')
|
|
1049
|
+
self._show_info("cannot delete point when locked!", 'red')
|
|
1060
1050
|
|
|
1061
1051
|
def _add_point(self, kpt):
|
|
1062
1052
|
sm = self.params.sm
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ipyvasp
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.97
|
|
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
|
|
@@ -34,6 +34,7 @@ Requires-Dist: nglview >=3.0.4 ; extra == 'extra'
|
|
|
34
34
|
# IPyVASP
|
|
35
35
|
|
|
36
36
|
[](https://doi.org/10.5281/zenodo.15482350)
|
|
37
|
+
[](https://mybinder.org/v2/gh/asaboor-gh/ipyvasp/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Fsource%2Fnotebooks%2Fquickstart.ipynb)
|
|
37
38
|
[](https://pepy.tech/projects/ipyvasp)
|
|
38
39
|
|
|
39
40
|
An VASP-based DFT pre and post processing tool.
|
|
@@ -46,6 +47,10 @@ cd ipyvasp
|
|
|
46
47
|
pip install -e .
|
|
47
48
|
```
|
|
48
49
|
|
|
50
|
+
## Documentataion
|
|
51
|
+
- [Latest at Github Pages](https://asaboor-gh.github.io/ipyvasp/)
|
|
52
|
+
- [Read the Docs](https://ipyvasp.readthedocs.io/)
|
|
53
|
+
|
|
49
54
|
## Showcase Examples
|
|
50
55
|
Plot 2D BZ layer on top of 3D!
|
|
51
56
|
|
|
@@ -77,4 +82,4 @@ Apply operations on POSCAR and simultaneously view using plotly's `FigureWidget`
|
|
|
77
82
|

|
|
78
83
|
|
|
79
84
|

|
|
80
|
-
More coming soon!
|
|
85
|
+
More coming soon! You can test these examples on [](https://mybinder.org/v2/gh/asaboor-gh/ipyvasp/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Fsource%2Fnotebooks%2Fquickstart.ipynb).
|
|
@@ -2,7 +2,7 @@ ipyvasp/__init__.py,sha256=pzTqeKuf6sN2GQmaexmMgG677ggT3sxIFyQDXq_2whU,1422
|
|
|
2
2
|
ipyvasp/__main__.py,sha256=eJV1TZSiT8mC_VqAeksNnBI2I8mKMiPkEIlwikbtOjI,216
|
|
3
3
|
ipyvasp/_enplots.py,sha256=gJ7S9WBmrxvDEbmoccDRaJG01kpx9oNlRf7mozigbgY,37872
|
|
4
4
|
ipyvasp/_lattice.py,sha256=6KOenMyIy675EUXlVSxt9RUyv4EcExk1tm0_mANSFLQ,105935
|
|
5
|
-
ipyvasp/_version.py,sha256=
|
|
5
|
+
ipyvasp/_version.py,sha256=3mbfPNn2OE30U1nJyP64w2Hmfgil6P1tEUzYHhbpH_E,24
|
|
6
6
|
ipyvasp/bsdos.py,sha256=omEiQrdbyZDI0Vd39bktzEyw2Il_w9rFsmYR_jEF-Xk,32180
|
|
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=
|
|
14
|
+
ipyvasp/widgets.py,sha256=aJqWD7XkGB7RMYKIJpa8drGd4K1iGEojb-Xdh0dKjVo,53159
|
|
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=XUB8VYBjv81WowafgLEyHELmzQn-PT36KwLJZKXIx_c,36304
|
|
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.
|
|
21
|
-
ipyvasp-0.9.
|
|
22
|
-
ipyvasp-0.9.
|
|
23
|
-
ipyvasp-0.9.
|
|
24
|
-
ipyvasp-0.9.
|
|
25
|
-
ipyvasp-0.9.
|
|
20
|
+
ipyvasp-0.9.97.dist-info/LICENSE,sha256=F3SO5RiAZOMfmMGf1KOuk2g_c4ObvuBJhd9iBLDgXoQ,1263
|
|
21
|
+
ipyvasp-0.9.97.dist-info/METADATA,sha256=s-GsgwmM9daSaTKoG6Ft-EJiX1LyL9Co_yDjHxuDdr0,3193
|
|
22
|
+
ipyvasp-0.9.97.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
|
|
23
|
+
ipyvasp-0.9.97.dist-info/entry_points.txt,sha256=C7m0Sjmr14wFjflCkWXLzr5N6-cQj8uJC9n82mUtzt8,44
|
|
24
|
+
ipyvasp-0.9.97.dist-info/top_level.txt,sha256=ftziWlMWu_1VpDP1sRTFrkfBnWxAi393HYDVu4wRhUk,8
|
|
25
|
+
ipyvasp-0.9.97.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|