Flexibility is key to meet the diversity of requests in the computational physics, chemistry and material science communities. The number of distributed codes is growing year by year, and many private codes exist. To remove any limitation, in AiiDA codes are managed by a plugin interface.
To be productive from day 1, we provide a simple plugin that allows you to create simple input files using templates, therefore supporting many existing codes. Using a dedicated plugin for your specific code will enable important advanced features, as for instance custom preparation of the input files and automatic parsing of the output data into database objects. Plugins for many codes are shipped with AiiDA: Quantum EPRESSO, Wannier90, YAMBO, GPAW, ASE calculators, Phonopy, NWChem and CODTools are already supported and several more plugins are under development. Many users and collaborators have contributed and are currently contributing to this development also thanks to the support from the European MaX project and the Swiss MARVEL project.
But the plugin framework is not limited to codes: most of the features of AiiDA have a plugin interface, including the connection to remote supercomputers (e.g. via a local transport of via ssh), the batch queue engine (the so-called job scheduler) and the object-relational mapper between database objects and actual AiiDA python objects.