# IPyVASP
[](https://doi.org/10.5281/zenodo.15482350)
[](https://mybinder.org/v2/gh/asaboor-gh/ipyvasp/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Fsource%2Fnotebooks%2Fquickstart.ipynb)
[](https://pepy.tech/projects/ipyvasp)
An VASP-based DFT pre and post processing tool.
## Install
Currently the package is being built and not stable. If you want to use development version, install this way:(recommended to install in a virtual environment)
```
git clone https://github.com/massgh/ipyvasp.git
cd ipyvasp
pip install -e .
```
## Documentataion
- [Latest at Github Pages](https://asaboor-gh.github.io/ipyvasp/)
- [Read the Docs](https://ipyvasp.readthedocs.io/)
## Showcase Examples
Plot 2D BZ layer on top of 3D!
```python
import ipyvasp as ipv
pos = ipv.POSCAR('FCC POSACR FILE').set_zdir([1,1,1])
ax = pos.splot_bz(vectors = None,color='skyblue',lw=0.2,alpha=0.2,fill=True)
kpts = [[0,-1/2,0],[0,0,0]]
pos.splot_kpath(kpts,labels=[str(k) for k in kpts],zorder=-1) # At 3D BZ
pos2 = pos.transform(lambda a,b,c: (a-c, b-c, a+b+c)) # 111 plane
pos2.splot_bz('xy',ax=ax,zoffset=0.15,vectors=None,color='navy')
kp2 = pos.bz.map_kpoints(pos2.bz, kpts)
pos2.splot_kpath(kp2,labels=[str(k) for k in kp2.round(1).tolist()],color='navy',fmt_label=lambda lab: (lab+'\n', dict(va='center',color='navy')),zorder=3)
ax.set_axis_off()
```

Interactively select bandstructure path by clicking on high symmetry points on plot!

Apply operations on POSCAR and simultaneously view using plotly's `FigureWidget` in Jupyterlab side by side.


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).
Raw data
{
"_id": null,
"home_page": "https://github.com/massgh/ipyvasp",
"name": "ipyvasp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "Jupyter, Widgets, IPython, VASP, DFT",
"author": "Abdul Saboor",
"author_email": "mass_qau@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/d5/2a/4aa1179929e3f6844f9e2baab0664913b3baf311052b915518951b9b31f9/ipyvasp-1.0.1.tar.gz",
"platform": null,
"description": "\r\n# IPyVASP\r\n\r\n[](https://doi.org/10.5281/zenodo.15482350)\r\n[](https://mybinder.org/v2/gh/asaboor-gh/ipyvasp/HEAD?urlpath=%2Fdoc%2Ftree%2Fdocs%2Fsource%2Fnotebooks%2Fquickstart.ipynb)\r\n[](https://pepy.tech/projects/ipyvasp)\r\n\r\nAn VASP-based DFT pre and post processing tool.\r\n\r\n## Install\r\nCurrently the package is being built and not stable. If you want to use development version, install this way:(recommended to install in a virtual environment)\r\n```\r\ngit clone https://github.com/massgh/ipyvasp.git\r\ncd ipyvasp\r\npip install -e .\r\n```\r\n\r\n## Documentataion\r\n- [Latest at Github Pages](https://asaboor-gh.github.io/ipyvasp/) \r\n- [Read the Docs](https://ipyvasp.readthedocs.io/)\r\n\r\n## Showcase Examples\r\nPlot 2D BZ layer on top of 3D!\r\n\r\n```python\r\nimport ipyvasp as ipv\r\npos = ipv.POSCAR('FCC POSACR FILE').set_zdir([1,1,1])\r\nax = pos.splot_bz(vectors = None,color='skyblue',lw=0.2,alpha=0.2,fill=True)\r\n\r\nkpts = [[0,-1/2,0],[0,0,0]]\r\npos.splot_kpath(kpts,labels=[str(k) for k in kpts],zorder=-1) # At 3D BZ\r\n\r\npos2 = pos.transform(lambda a,b,c: (a-c, b-c, a+b+c)) # 111 plane\r\npos2.splot_bz('xy',ax=ax,zoffset=0.15,vectors=None,color='navy')\r\n\r\nkp2 = pos.bz.map_kpoints(pos2.bz, kpts)\r\npos2.splot_kpath(kp2,labels=[str(k) for k in kp2.round(1).tolist()],color='navy',fmt_label=lambda lab: (lab+'\\n', dict(va='center',color='navy')),zorder=3) \r\n\r\nax.set_axis_off()\r\n```\r\n\r\n\r\n\r\nInteractively select bandstructure path by clicking on high symmetry points on plot!\r\n\r\n\r\n\r\nApply operations on POSCAR and simultaneously view using plotly's `FigureWidget` in Jupyterlab side by side.\r\n\r\n\r\n\r\n\r\nMore 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).\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A processing tool for VASP DFT input/output processing in Jupyter Notebook.",
"version": "1.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/massgh/ipyvasp/issues",
"Homepage": "https://github.com/massgh/ipyvasp"
},
"split_keywords": [
"jupyter",
" widgets",
" ipython",
" vasp",
" dft"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3be4ffd8c20ad38ca9eb7dc2deb908bdd9ea12b5141c0aec096043c74b69868f",
"md5": "1aaac3eb3c0f6726a248a14967384ee0",
"sha256": "2e8e940a3e7683d25625d471c8457fae6b54ea63fc426303c7ce6ed169ecb122"
},
"downloads": -1,
"filename": "ipyvasp-1.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "1aaac3eb3c0f6726a248a14967384ee0",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.9",
"size": 145045,
"upload_time": "2025-07-20T19:46:38",
"upload_time_iso_8601": "2025-07-20T19:46:38.511558Z",
"url": "https://files.pythonhosted.org/packages/3b/e4/ffd8c20ad38ca9eb7dc2deb908bdd9ea12b5141c0aec096043c74b69868f/ipyvasp-1.0.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d52a4aa1179929e3f6844f9e2baab0664913b3baf311052b915518951b9b31f9",
"md5": "149d4b79bbfffd97e1fc52a6d230e2f2",
"sha256": "5bc07e5f23226f12829c3cb66f70e2e31c372d4a045152308298144a221a5a2f"
},
"downloads": -1,
"filename": "ipyvasp-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "149d4b79bbfffd97e1fc52a6d230e2f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 132927,
"upload_time": "2025-07-20T19:46:39",
"upload_time_iso_8601": "2025-07-20T19:46:39.930647Z",
"url": "https://files.pythonhosted.org/packages/d5/2a/4aa1179929e3f6844f9e2baab0664913b3baf311052b915518951b9b31f9/ipyvasp-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 19:46:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "massgh",
"github_project": "ipyvasp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "ipython",
"specs": [
[
"==",
"8.7.0"
]
]
},
{
"name": "ipywidgets",
"specs": [
[
">=",
"8.0.4"
]
]
},
{
"name": "matplotlib",
"specs": [
[
">=",
"3.7.5"
]
]
},
{
"name": "numpy",
"specs": [
[
">=",
"1.23.2"
]
]
},
{
"name": "pandas",
"specs": [
[
">=",
"1.4.4"
]
]
},
{
"name": "Pillow",
"specs": [
[
">=",
"9.3.0"
]
]
},
{
"name": "plotly",
"specs": [
[
">=",
"6.2.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.28.1"
]
]
},
{
"name": "scipy",
"specs": [
[
">=",
"1.9.1"
]
]
},
{
"name": "typer",
"specs": [
[
">=",
"0.9.0"
]
]
},
{
"name": "weas-widget",
"specs": [
[
">=",
"0.1.26"
]
]
},
{
"name": "einteract",
"specs": []
},
{
"name": "sympy",
"specs": []
}
],
"lcname": "ipyvasp"
}