Skip to main content

Yambopy: a pre/post-processing tool for Yambo

Project description

yambopy_text

yambopy

Create automatic workflows for yambo and quantum espresso using python. Work directly with netCDF databases. Do pre/post-processing, data analysis and plotting for yambo and quantum espresso.

Yambopy is distributed under the GPL 2.0 license (same as the Yambo code).

Documentation

The main usage of yambopy is by importing its modules in the user's own scripts, such as:

from yambopy import *
from qepy import *

There is also a command line interface feature. Just type

yambopy 

on terminal to see the options. Typing yambopy [option] will show the related help message.

You can find explained tutorials and a partial documentation on the Yambo wiki page: https://wiki.yambo-code.eu/index.php/First_steps_in_Yambopy

The tutorials contain examples scripts illustrating how to use some of the features: they are intended to be copied, modified and adapted to other use cases and to your ideas and needs.

Additional information about capabilities and usage are available inside the tutorial folder and by reading the docstrings of the various classes. Keep in mind that a basic knowledge of python (numpy and matplotlib packages) will greatly help while using yambopy.

Features

  • Create Yambo and Quantum Espresso input files from python
  • Collect and manipulate the human-readable output data for analysis
  • Automatic submissions of calculations (e.g., custom workflows for convergence or multi-executable runs)
  • Access Yambo netCDF databases and Quantum Espresso xml files
  • Analyse, interpolate and plot the results in various ways using matplotlib
  • Analise real-time non-linear response from Yambo-nl
  • Visualize advanced quantities such as:
    • dielectric function, exciton weights in k and q-space, electron-phonon matrix elements...
  • Aiida plugin for Yambo-Aiida workflows
  • Tutorials

Installation

Make sure that you have a suitable python environment (created for example with conda or venv).

Use python version >=3.8.

If you never used an environment just type python -m venv MYPATH/yamboenv/ (you can replace MYPATH with any path you prefer, e.g. ~/) source MYPATH/yamboenv/bin/activate (for bash users, you can add to your .bashrt the line . MYPATH/yamboenv/bin/activate)

Regular installation of released version

Type pip install yambopy

Local installation from this repository (for latest patches)

Clone this repository in your local machine or cluster, enter the directory and type pip install .

More information

Follow the installation steps on the Yambo wiki.

Requirements

Yambopy works for the following DFT/MBPT codes:

Troubleshooting, bugs and questions

Please write a post in the yambopy subsection of the yambo forum.

Current development goals

  • General review and update of all features
  • Brillouin zone paths patch
  • Full support for finite-momentum BSE postprocessing
  • Full documentation & tutorials
  • Increase efficiency of I/O for large database sizes and numbers
  • Test suite
  • Make it easier to add new features

Authors

Original author:

Mantainer:

  • Fulvio Paleari (CNR - Nanoscience institute, Modena)

Active contributors:

  • Claudio Attaccalite
  • Miki Bonacci
  • José Castelo
  • Jorge Cervantes-Villanueva
  • Myrta Grüning
  • Riccardo Reho
  • Michele Re Fiorentin
  • Ali Esquembre-Kucukalic
  • Alejandro Molina-Sanchez
  • Anna Romani
  • You if you want to share your scripts!

Past contributors:

  • Alexandre Morlet
  • Davide Romanin
  • Daniel Murphy
  • Muralidhar Nalabothula
  • Mike Nico Pionteck
  • Yuncheng Mao
  • Martino Silvetti
  • Matteo Zanfrognini

The code is at an ongoing stage of development, help us by sending bug reports, patches and suggestions!

How to contribute

If you want to contribute, we suggest the following steps:

  1. Fork this repository
  2. Implement and test your new feature(s) in the forked repo
  3. Create a pull request in order to include your development in the official code

How to cite

If yambopy helped you with your data analysis, workflow management of figure preparation, you can consider citing us.

The way to do so in BibTeX format is the following (or simply type yambopy cite):

@misc{yambopy, 
      author = {Paleari, Fulvio and Molina-Sánchez, Alejandro and Nalabothula, Muralidhar and Reho, Riccardo and Bonacci, Miki and Castelo, José M. and Cervantes-Villanueva, Jorge and Pionteck, Mike and Silvetti, Martino and Attaccalite, Claudio and Pereira Coutada Miranda, Henrique},
      title = {Yambopy},
      month = mar,
      year = 2025,
      publisher = {Zenodo},
      version = {0.7.0}, 
      doi = {10.5281/zenodo.15012962},
      url = {https://doi.org/10.5281/zenodo.15012962}, }

Acknowledgements

  • The AbiPy library developed for the Abinit code was the original inspiration for Yambopy. In particular, AbiPy's SkwInterpolator module for band structure interpolations has been directly imported into yambopy.
  • The feature for the recognition of lattice point groups is based on the MolSym package.
  • Yambopy logos by Claudia Cardoso
  • University of Luxembourg
  • University of Valencia
  • Nanoscience Institute of the Italian National Research Council
  • MaX: Materials at the eXascale EU center of excellence
  • ICSC Spoke 7: Centro Nazionale di Ricerca in High Performance Computing, Big Data and Quantum Computing (Materials & Molecular Sciences)

yambopy_logo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yambopy-0.7.1.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yambopy-0.7.1-py3-none-any.whl (6.0 MB view details)

Uploaded Python 3

File details

Details for the file yambopy-0.7.1.tar.gz.

File metadata

  • Download URL: yambopy-0.7.1.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for yambopy-0.7.1.tar.gz
Algorithm Hash digest
SHA256 c9a003192aef8c95e62c872f05aa43d78b208a8292a0542768e1d2954b7539fb
MD5 8acd3a2870b4f151b9abcae270c4e801
BLAKE2b-256 ac45d6f8305b0a5119e4c592b7e9ad11fb971781e093657fac74d1f2d870e4cc

See more details on using hashes here.

File details

Details for the file yambopy-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: yambopy-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.10

File hashes

Hashes for yambopy-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 48e47c13985037411eecf7a168e1fcf8d0719b99ed0acb6133ce69c41b829afb
MD5 de06400fc94fbeeb087854555f6417fa
BLAKE2b-256 d99c2e03dd6f48c986fccff7a8b779d027906b11bea3ab2a9dd3148fee54e0b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page