/phono3py

A simulation package of phonon-phonon interaction related properties

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Version Badge Downloads Badge PyPI version PyPI codecov

phono3py

A simulation package of phonon-phonon interaction related properties mainly written in python. Phono3py user documentation is found at http://phonopy.github.io/phono3py/.

Mailing list for questions

Usual phono3py questions should be sent to phonopy mailing list (https://sourceforge.net/p/phonopy/mailman/).

Dependency

See requirements.txt. Optionally symfc and scipy are required for using additional features.

Development

The development of phono3py is managed on the develop branch of github phono3py repository.

  • Github issues is the place to discuss about phono3py issues.

  • Github pull request is the place to request merging source code.

  • Formatting rules are found in pyproject.toml.

  • Not strictly, but VSCode's settings.json may be written like below

    "ruff.lint.args": [
        "--config=${workspaceFolder}/pyproject.toml",
    ],
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff",
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
        }
    },
  • Use of pre-commit (https://pre-commit.com/) is encouraged.

    • Installed by pip install pre-commit, conda install pre_commit or see https://pre-commit.com/#install.
    • pre-commit hook is installed by pre-commit install.
    • pre-commit hook is run by pre-commit run --all-files.

Documentation

Phono3py user documentation is written using python sphinx. The source files are stored in doc directory. Please see how to write the documentation at doc/README.md.

How to run tests

Tests are written using pytest. To run tests, pytest has to be installed. The tests can be run by

% pytest