AiiDA plugin for running the GULP code.
Documentation: https://readthedocs.org/projects/aiida-gulp
To install from Conda (recommended)::
>> conda install -c conda-forge aiida-gulp aiida-core.servicesTo install from pypi::
>> pip install aiida-gulpTo install the development version:
>> git clone https://github.com/chrisjsewell/aiida-gulp .
>> cd aiida-gulp
>> pip install -e . # also installs aiida, if missing (but not postgres)
>> #pip install -e .[pre-commit,testing] # install extras for more features
>> verdi quicksetup # set up a new profile
>> verdi calculation plugins # should now show the calculation plugins (with prefix gulp.)Because GULP is a licensed software, it is not possible to source a copy of the executable on Travis CI.
Therefore, a mock executable (gulp_mock) has been created for testing purposes (which also speeds up test runs).
This executable computes the md5 hash of the supplied input file and tries to match it against a dictionary of
precomputed hashes. If found, the executable will write the matching output (from test/output_files) to stdout.
The following will discover and run all unit test:
>> pip install -e .[testing]
>> reentry scan -r aiida
>> pytest -vTo omit tests which call external executables (like gulp):
>> pytest --gulp-skip-execTo call the actual executable (e.g. gulp instead of gulp_mock):
>> pytest --gulp-no-mockTo output the results of calcjob executions to a specific directory:
>> pytest --gulp-workdir "test_workdir"The code style is tested using flake8,
with the configuration set in .flake8, and code should be formatted with black.
Installing with aiida-gulp[code_style] makes the pre-commit
package available, which will ensure these tests are passed by reformatting the code
and testing for lint errors before submitting a commit.
It can be setup by:
>> cd aiida-gulp
>> pre-commit installOptionally you can run black and flake8 separately:
>> black . # recursively find and format files in-place
>> flake8Editors like VS Code also have automatic code reformat utilities, which can adhere to this standard.
See LICENSE file