aiida_diff package#



aiida_diff.calculations module#

Calculations provided by aiida_diff.

Register calculations via the “aiida.calculations” entry point in setup.json.

class aiida_diff.calculations.DiffCalculation(*args: Any, **kwargs: Any)[source]#

Bases: aiida.engine.processes.calcjobs.calcjob.CalcJob

AiiDA calculation plugin wrapping the diff executable.

Simple AiiDA plugin wrapper for ‘diffing’ two files.

__abstractmethods__ = frozenset({})#
__module__ = 'aiida_diff.calculations'#
_abc_impl = <_abc_data object>#
classmethod define(spec)[source]#

Define inputs and outputs of the calculation.


Create input files.


folder – an aiida.common.folders.Folder where the plugin should temporarily place all files needed by the calculation.


aiida.common.datastructures.CalcInfo instance

aiida_diff.cli module#

Command line interface (cli) for aiida_diff.

Register new commands either via the “console_scripts” entry point or plug them directly into the ‘verdi’ command by using AiiDA-specific entry points like “” (both in the setup.json file).

aiida_diff.helpers module#

Helper functions for automatically setting up computer & code. Helper functions for setting up

  1. An AiiDA localhost computer

  2. A “diff” code on localhost

Note: Point 2 is made possible by the fact that the diff executable is available in the PATH on almost any UNIX system.

aiida_diff.helpers.get_code(entry_point, computer)[source]#

Get local code. Sets up code for given entry point on given computer.

  • entry_point – Entry point of calculation plugin

  • computer – (local) AiiDA computer


The code node

Return type

aiida_diff.helpers.get_computer(name='localhost-test', workdir=None)[source]#

Get AiiDA computer. Loads computer ‘name’ from the database, if exists. Sets up local computer ‘name’, if it isn’t found in the DB.

  • name – Name of computer to load or set up.

  • workdir – path to work directory Used only when creating a new computer.


The computer node

Return type



Get path to local executable. :param executable: Name of executable in the $PATH variable :type executable: str :return: path to executable :rtype: str

aiida_diff.parsers module#

Parsers provided by aiida_diff.

Register parsers via the “aiida.parsers” entry point in setup.json.

class aiida_diff.parsers.DiffParser(node)[source]#

Bases: aiida.parsers.parser.Parser

Parser class for parsing output of calculation.

__abstractmethods__ = frozenset({})#

Initialize Parser instance

Checks that the ProcessNode being passed was produced by a DiffCalculation.

__module__ = 'aiida_diff.parsers'#
_abc_impl = <_abc_data object>#

Parse outputs, store results in database.


an exit code, if parsing fails (or nothing if parsing succeeds)

Module contents#


AiiDA demo plugin that wraps the diff executable for computing the difference between two files.