Skip to main content

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

Project description

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 pre-commit hooks that sanitize coding style and check for syntax errors - enable via pre-commit install
  • come with Github Actions configuration - enable it to run tests and check test coverage at every commit
  • come with automatic deployment to PyPI - just generate a PyPI API token for your PyPI account and add it to the pypi_token secret of your github repository

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
./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 -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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida-diff-1.1.1.tar.gz (8.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page