{"id":24231,"library":"perturbopy","title":"PerturboPy","description":"Suite of Python scripts for Perturbo (first-principles electron-phonon coupling) testing and postprocessing. Version 0.7.2, requires Python >=3.7.12. Development appears slow/infrequent.","status":"active","version":"0.7.2","language":"python","source_language":"en","source_url":"https://github.com/perturbo-code/perturbopy","tags":["perturbo","electron-phonon","first-principles","material-science","hdf5"],"install":[{"cmd":"pip install perturbopy","lang":"bash","label":"PyPI"},{"cmd":"conda install -c conda-forge perturbopy","lang":"bash","label":"Conda"}],"dependencies":[{"reason":"Reading HDF5 output from Perturbo","package":"h5py","optional":false},{"reason":"Numerical operations","package":"numpy","optional":false},{"reason":"Plotting","package":"matplotlib","optional":false},{"reason":"Data handling","package":"pandas","optional":false},{"reason":"Reading/writing HDF5 with pandas","package":"pytables","optional":true}],"imports":[{"wrong":"from perturbopy.calculator import PerturboCalc","symbol":"PerturboCalc","correct":"from perturbopy import PerturboCalc"}],"quickstart":{"code":"from perturbopy.calculator import PerturboCalc\n\ncalc = PerturboCalc.from_yaml('perturbo_input.yaml')\ncalc.run()\nresults = calc.results\nprint(results.keys())","lang":"python","description":"Initialize a Perturbo calculation from a YAML input file, run it, and print available result keys."},"warnings":[{"fix":"Use correct submodule paths: from perturbopy.calculator import PerturboCalc","message":"Top-level imports of classes/functions may fail. Always import from specific submodules (e.g., perturbopy.calculator, perturbopy.io_utils).","severity":"gotcha","affected_versions":"all"},{"fix":"Use io_utils to load data and matplotlib directly for plotting.","message":"Some plotting functions (e.g., plot_bands) are deprecated in favor of more flexible methods. Check documentation for latest API.","severity":"deprecated","affected_versions":"<=0.7.2"},{"fix":"Install Perturbo from https://perturbo.epfl.ch or build from source.","message":"The library interacts with the external 'Perturbo' binary (C++). Ensure Perturbo is installed and in PATH. perturbopy alone will not compute anything.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.7.2':19 '3.7.12':22 'appear':24 'coupl':14 'develop':23 'electron':12,28 'electron-phonon':11,27 'first':9,31 'first-principl':8,30 'hdf5':36 'materi':34 'material-sci':33 'perturbo':7,26 'perturbopi':1 'phonon':13,29 'postprocess':17 'principl':10,32 'python':4,21 'requir':20 'scienc':35 'script':5 'slow/infrequent':25 'suit':2 'test':15 'version':18","created_at":"2026-05-01T08:11:59.139713+00:00","updated_at":"2026-05-01T08:11:59.139713+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'PerturboCalc' from 'perturbopy' (/tmp/tmpzal68lwb/venv/lib/python3.12/site-packages/perturbopy/__init__.py)"},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.7.2","cli_name":"","cli_version":null,"type":"library","homepage":"https://perturbo.lassp.cornell.edu","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/perturbopy/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}