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.