Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 2.55 KB

README.md

File metadata and controls

72 lines (49 loc) · 2.55 KB

AiiDA plugin cutter

Cookie cutter recipe for AiiDA plugins.

The fastest most convenient way for getting started with developing AiiDA plugins.

For the default output of the plugin cutter, see the aiida-diff demo plugin.

Usage

pip install cookiecutter yapf
cookiecutter https://github.com/aiidateam/aiida-plugin-cutter.git

Demo

This will produce the files and folder structure for your plugin, already adjusted for the name of your plugin.

Features

Plugins templated using the plugin cutter

  • can be directly pip-installed (and are prepared for submisson to PyPI
  • include basic regression tests (submitting a calculation)
  • include a documentation template ready for Read the Docs
  • come with Travis CI configuration - enable it to run tests and check test coverage at every commit
  • come with pre-commit hooks that sanitize coding style and check for syntax errors - enable via pre-commit install

For more information on how to take advantage of these features, see the developer guide of your plugin.

Developing the plugin cutter

The plugin cutter comes with rather strict continuous integration tests which

  • test that the cookiecutter recipe works
  • test that the plugin can be pip-installed
  • test that the unit tests of the plugin pass
  • test that the documentation of the plugin builds
  • test that the code of the plugin confirms to coding standards

Particularly the last test is easy to break. In order to check your syntax run

cookiecutter --no-input -f .
pip install -e aiida-diff[docs,pre-commit,testing]
cd aiida-diff
git init && git add -A
pre-commit install
pre-commit run

or simply: ./check-syntax.sh

License

MIT

Contact

Please report issues to the GitHub issue tracker. Other inquiries may be directed to the AiiDA mailinglist.

Acknowledgements

This work is supported by the MARVEL National Centre for Competency in Research funded by the Swiss National Science Foundation, as well as by the MaX European Centre of Excellence funded by the Horizon 2020 EINFRA-5 program, Grant No. 676598.

MARVEL MaX