Skip to content

aiidateam/aiida-diff

Repository files navigation

Build Status Coverage Status Docs status PyPI version

aiida-diff

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

This plugin is the default output of the AiiDA plugin cutter, intended to help developers get started with their AiiDA plugins.

Repository contents

See also the following video sequences from the 2019-05 AiiDA tutorial:

For more information, see the developer guide of your plugin.

Features

  • Add input files using SinglefileData:

    SinglefileData = DataFactory('core.singlefile')
    inputs['file1'] = SinglefileData(file='/path/to/file1')
    inputs['file2'] = SinglefileData(file='/path/to/file2')
  • Specify command line options via a python dictionary and DiffParameters:

    d = { 'ignore-case': True }
    DiffParameters = DataFactory('diff')
    inputs['parameters'] = DiffParameters(dict=d)
  • DiffParameters dictionaries are validated using voluptuous. Find out about supported options:

    DiffParameters = DataFactory('diff')
    print(DiffParameters.schema.schema)

Installation

pip install aiida-diff
verdi quicksetup  # better to set up a new profile
verdi plugin list aiida.calculations  # should now show your calclulation plugins

Usage

Here goes a complete example of how to submit a test calculation using this plugin.

A quick demo of how to submit a calculation:

verdi daemon start     # make sure the daemon is running
cd examples
./example_01.py        # run test calculation
verdi process list -a  # check record of calculation

The plugin also includes verdi commands to inspect its data types:

verdi data diff list
verdi data diff export <PK>

Development

git clone https://github.com/aiidateam/aiida-diff .
cd aiida-diff
pip install --upgrade pip
pip install -e .[pre-commit,testing]  # install extra dependencies
pre-commit install  # install pre-commit hooks
pytest -v  # discover and run all tests

See the developer guide for more information.

License

MIT