AiiDA plugin that wraps the `kcw' executable.
This plugin is the default output of the AiiDA plugin cutter, intended to help developers get started with their AiiDA plugins.
.github/
: Github Actions configurationci.yml
: runs tests, checks test coverage and builds documentation at every new commitpublish-on-pypi.yml
: automatically deploy git tags to PyPI - just generate a PyPI API token for your PyPI account and add it to thepypi_token
secret of your github repository
aiida_koopmans/
: The main source code of the plugin packagedata/
: A newDiffParameters
data class, used as input to theDiffCalculation
CalcJob
classcalculations.py
: A newDiffCalculation
CalcJob
classcli.py
: Extensions of theverdi data
command line interface for theDiffParameters
classhelpers.py
: Helpers for setting up an AiiDA code fordiff
automaticallyparsers.py
: A newParser
for theDiffCalculation
docs/
: A documentation template ready for publication on Read the Docsexamples/
: An example of how to submit a calculation using this plugintests/
: Basic regression tests using the pytest framework (submitting a calculation, ...). Installpip install -e .[testing]
and runpytest
..gitignore
: Telling git which files to ignore.pre-commit-config.yaml
: Configuration of pre-commit hooks that sanitize coding style and check for syntax errors. Enable viapip install -e .[pre-commit] && pre-commit install
.readthedocs.yml
: Configuration of documentation build for Read the DocsLICENSE
: License for your pluginREADME.md
: This fileconftest.py
: Configuration of fixtures for pytestpyproject.toml
: Python package metadata for registration on PyPI and the AiiDA plugin registry (including entry points)
See also the following video sequences from the 2019-05 AiiDA tutorial:
- run aiida-diff example calculation
- aiida-diff CalcJob plugin
- aiida-diff Parser plugin
- aiida-diff computer/code helpers
- aiida-diff input data (with validation)
- aiida-diff cli
- aiida-diff tests
- Adding your plugin to the registry
- pre-commit hooks
For more information, see the developer guide of your plugin.
-
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('koopmans') inputs['parameters'] = DiffParameters(dict=d)
-
DiffParameters
dictionaries are validated using voluptuous. Find out about supported options:DiffParameters = DataFactory('koopmans') print(DiffParameters.schema.schema)
pip install aiida-koopmans
verdi quicksetup # better to set up a new profile
verdi plugin list aiida.calculations # should now show your calclulation plugins
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 koopmans list
verdi data koopmans export <PK>
git clone https://github.com/mikibonacci/aiida-koopmans .
cd aiida-koopmans
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.
MIT