Skip to content
AiiDA demo plugin that computes the difference between two files.
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci
.github/workflows
aiida_diff
docs
examples
.coveragerc
.gitignore
.pre-commit-config.yaml
.readthedocs.yml
.travis.yml
LICENSE
MANIFEST.in
README.md
conftest.py
pytest.ini
setup.json
setup.py

README.md

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.

Plugins templated using the plugin cutter

  • include a calculation, parser and data type as well as an example of how to submit a calculation
  • include basic regression tests using the pytest framework ( (submitting a calculation, ...)
  • can be directly pip-installed (and are prepared for submisson to PyPI
  • include a documentation template ready for Read the Docs
  • come with Github Actions configuration - enable it to run tests and check test coverage at every commit
  • come with pre-commit hooks that sanitize coding style and check for syntax errors - enable via pre-commit install

For more information on how to take advantage of these features, see the developer guide of your plugin.

Features

  • Add input files using SinglefileData:

    SinglefileData = DataFactory('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
verdi run submit.py        # submit test calculation
verdi process list -a  # check status 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 -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

You can’t perform that action at this time.