https://github.com/aiidaplugins/aiida-gulp
AiiDA plugin for use with GULP
https://github.com/aiidaplugins/aiida-gulp
Last synced: 6 months ago
JSON representation
AiiDA plugin for use with GULP
- Host: GitHub
- URL: https://github.com/aiidaplugins/aiida-gulp
- Owner: aiidaplugins
- License: lgpl-3.0
- Created: 2018-09-19T15:37:08.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2019-10-30T20:18:50.000Z (over 6 years ago)
- Last Synced: 2025-04-13T15:16:40.114Z (about 1 year ago)
- Language: Python
- Size: 682 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/chrisjsewell/aiida-gulp)
[](https://coveralls.io/github/chrisjsewell/aiida-gulp?branch=master)
[](http://aiida-gulp.readthedocs.io/)
[](https://pypi.python.org/pypi/aiida-gulp/)
[](https://anaconda.org/conda-forge/aiida-gulp)
[](https://github.com/ambv/black)
# aiida-gulp
AiiDA plugin for running the [GULP](http://gulp.curtin.edu.au) code.
**Documentation**: https://readthedocs.org/projects/aiida-gulp
## Installation
To install from Conda (recommended)::
```shell
>> conda install -c conda-forge aiida-gulp aiida-core.services
```
To install from pypi::
```shell
>> pip install aiida-gulp
```
To install the development version:
```shell
>> 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.)
```
## Development
### Testing against mock GULP executables
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:
```shell
>> pip install -e .[testing]
>> reentry scan -r aiida
>> pytest -v
```
To omit tests which call external executables (like `gulp`):
```shell
>> pytest --gulp-skip-exec
```
To call the actual executable (e.g. `gulp` instead of `gulp_mock`):
```shell
>> pytest --gulp-no-mock
```
To output the results of calcjob executions to a specific directory:
```shell
>> pytest --gulp-workdir "test_workdir"
```
### Coding Style Requirements
The code style is tested using [flake8](http://flake8.pycqa.org),
with the configuration set in `.flake8`, and code should be formatted with [black](https://github.com/ambv/black).
Installing with `aiida-gulp[code_style]` makes the [pre-commit](https://pre-commit.com/)
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:
```shell
>> cd aiida-gulp
>> pre-commit install
```
Optionally you can run `black` and `flake8` separately:
```shell
>> black . # recursively find and format files in-place
>> flake8
```
Editors like VS Code also have automatic code reformat utilities, which can adhere to this standard.
## License
See ``LICENSE`` file
## Contact
chrisj_sewell@hotmail.com