A Jupyter widget to plot the 1st Brillouin zone of crystals. It is based on the corresponding Javascript library: https://github.com/materialscloud-org/brillouinzone-visualizer
The primary input is a crystal structure, which is parsed by seekpath and the result is displayed by the Javascript widget using anywidget.
This repo is bootstrapped with npm create anywidget@latest
.
pip install widget-bzvisualizer
For usage examples, see example/example.ipynb
.
Install the python code:
pip install -e .[dev]
You then need to install the JavaScript dependencies and run the development server.
npm install
npm run dev
Open example/example.ipynb
in JupyterLab, VS Code, or your favorite editor to start developing. Changes made in js/
will be reflected in the notebook.
In order to make a new release of the library and publish to PYPI, run
bumpver update --major/--minor/--patch
This will
- update version numbers, make a corresponding
git commit
and agit tag
; - push this commit and tag to Github, which triggers the Github Action that makes a new Github Release and publishes the package to PYPI.
We acknowledge support from the EPFL Open Science Fund via the OSSCAR project.