aiida-crystal17
AiiDA plugin for running the CRYSTAL17 code. The code is principally tested against CRYSTAL17, but the output parsing has also been tested against CRYSTAL14.
Documentation: https://readthedocs.org/projects/aiida-crystal17
Installation
To install from Conda (recommended)::
>> conda install -c conda-forge aiida-crystal17 aiida-core.services
To install from pypi::
>> pip install aiida-crystal17
To install the development version:
>> git clone https://github.com/aiidaplugins/aiida-crystal17 .
>> cd aiida-crystal17
>> 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 calclulation plugins (with prefix crystal17.)
Development
Testing against mock CRYSTAL17 executables
Because CRYSTAL17 is a licensed software, it is not possible to source a copy of the executable on Travis CI.
Therefore, a mock executable (mock_runcry17) 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 -v
To omit tests which call external executables (like crystal17):
>> pytest --cry17-skip-exec
To call the actual executables (e.g. crystal17 instead of mock_crystal17):
>> pytest --cry17-no-mock
To output the results of calcjob executions to a specific directory:
>> pytest --cry17-workdir "test_workdir"
Coding Style Requirements
The code style is tested using flake8,
with the configuration set in .flake8, and code should be formatted with yapf (configuration set in .style.yapf).
Installing with aiida-crystal17[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-crystal17
>> pre-commit install
Optionally you can run yapf and flake8 separately:
>> yapf -r -i . # recrusively find and format files in-place
>> flake8
Editors like VS Code also have automatic code reformat utilities, which can adhere to this standard.
Setting up CRYSTAL17 locally
To set up local version of CRYSTAL17 on a mac (after downloading a copy from the distributor), I had to:
-
Remove the quarantine from the executable permissions:
xattr -c crystal xattr -c properties
-
Create versions of the lapack/blas libraries in the expected folders:
sudo port install lapack sudo cp /opt/local/lib/lapack/liblapack.3.dylib /usr/local/opt/lapack/lib/liblapack.3.dylib sudo cp /opt/local/lib/lapack/libblas.3.dylib /usr/local/opt/lapack/lib/libblas.3.dylib
-
Define environmental variables in
~/.bashrc, as detailed incry17_scripts/cry17.bashrc -
Copy or symlink the
cry17_scripts/runcry17script into/usr/local/bin/
License
See LICENSE file
Contact
Release files for aiida-crystal17 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiida-crystal17-0.11.0.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiida_crystal17-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / aiida-crystal17-0.11.0.tar.gz
| Download URL | aiida-crystal17-0.11.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a21dcf6137092ebb3e1e35c3385debbb7f8e5d29986dd2754944bf84af1ee81
|
|
BLAKE2b-256 checksum How to use checksums |
0051111a37f747b0ee580f8a51530d2eee0ca62781dcb0b506ecd9d3a0efd32e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.9
|
Release files / aiida_crystal17-0.11.0-py3-none-any.whl
| Download URL | aiida_crystal17-0.11.0-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4ac5747a206ad332060bdd391ee5ba35e090d3ec2a49fc2314207b62b494635d
|
|
BLAKE2b-256 checksum How to use checksums |
c041c2e82efd35a75055300ae390628b6268fe285f2e4855b9c548662af93acf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.9
|