GithubHelp home page GithubHelp logo

lkangming / phonopy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from phonopy/phonopy

0.0 0.0 0.0 45.56 MB

Phonon code

Home Page: http://phonopy.github.io/phonopy/

License: BSD 3-Clause "New" or "Revised" License

Shell 0.34% Python 90.43% C 9.08% CMake 0.13% Batchfile 0.01%

phonopy's Introduction

Version Badge Downloads Badge PyPI codecov

Phonopy

Phonon code. Phonopy user documentation is found at http://phonopy.github.io/phonopy/

Installation

See https://phonopy.github.io/phonopy/install.html.

Dependency

  • python>=3.8
  • numpy>=1.17.0
  • PyYAML>=5.3
  • matplotlib>=2.2.2
  • h5py>=3.0
  • spglib>=2.3
  • scipy (optional)
  • seekpath (optional)

Mailing list for questions

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

Development

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

  • Github issues is the place to discuss about phonopy issues.
  • Github pull request is the place to request merging source code.

Formatting

Formatting rule is written in pyproject.toml.

pre-commit

Pre-commit (https://pre-commit.com/) is mainly used for applying the formatting rule automatically. Therefore, the use is strongly encouraged at or before git-commit. Pre-commit is set-up and used in the following way:

  • 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.

Unless running pre-commit, pre-commit.ci may push the fix at PR by github action. In this case, the fix should be merged by the contributor's repository.

VSCode setting

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

    "python.linting.flake8Enabled": true,
    "python.linting.flake8Args": ["--max-line-length=88", "--ignore=E203,W503"],
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": false,
    "python.linting.mypyEnabled": true,
    "python.linting.pycodestyleEnabled": false,
    "python.linting.pydocstyleEnabled": true,
    "python.formatting.provider": "black",
    "python.formatting.blackArgs": ["--line-length=88"],
    "python.sortImports.args": ["--profile", "black"],
    "[python]": {
        "editor.codeActionsOnSave": {
        "source.organizeImports": true
      },
    }

Documentation

Phonopy 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.

Tests

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

% pytest

phonopy's People

Contributors

atztogo avatar jochym avatar pre-commit-ci[bot] avatar pjcon avatar liang-jianxin avatar neukirchen-212 avatar 1041176461 avatar exphp avatar bhourahine avatar rehnd avatar anttikarttunen avatar shyuep avatar matk86 avatar dev-zero avatar kgmat avatar hongritianqi avatar erikfransson avatar jageo avatar dependabot[bot] avatar ladyteam avatar lebecki avatar chazeon avatar cloudiiink avatar quantifiedcode-bot avatar henriquemiranda avatar shanghui avatar zerothi avatar shibu778 avatar ab5424 avatar ezanardi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.