You have a code and would like to use it from AiiDA? You need a special data type, parser, scheduler, … that is not available? Then you’ll need to write an AiiDA plugin.

Let’s get started with creating a new plugin packacge aiida-mycode.

  1. At least once, install an existing aiida plugin package to make sure this works.

  2. Check on the aiida plugin registry that your desired plugin name is still available

  3. Use the AiiDA plugin cutter to jumpstart your plugin package:

    pip install cookiecutter
    cookiecutter https://github.com/aiidateam/aiida-plugin-cutter.git
    # follow instructions ...
    cd aiida-mycode
  4. Install your new plugin package:

    workon <name_of_your_virtualenv> # if you have one
    pip install -e .
    reentry scan -r aiida

That’s it - now you can import aiida_mycode and start developing your plugin

A few things to keep in mind:
  • Be sure to update the setup.json, in particular the license and version number

  • Get your plugin package listed as soon as possible to reserve your plugin name and to inform others of your ongoing development