aiida-firecrest
AiiDA transport and scheduler plugins for interfacing with FirecREST via pyfirecrest.
Installation
You can install the package either from GitHub or PyPI:
pip install aiida-firecrest
Once installed, verify that the firecrest transport and scheduler plugins are available in AiiDA:
$ verdi plugin list aiida.transports firecrest
Transport interface for FirecREST.
Must be used in conjunction with the 'firecrest' scheduler plugin.
$ verdi plugin list aiida.schedulers firecrest
Scheduler interface for FirecREST.
Must be used in conjunction with the 'firecrest' transport plugin.
You can then setup a Computer in AiiDA:
$ verdi computer setup --transport firecrest --scheduler firecrest --hostname firecrest --label <YOUR_LABEL>
After completing the prompts, configure the computer with your credentials:
$ verdi -p <MY_PROFILE> computer configure firecrest <YOUR_LABEL>
Finally, test the setup:
$ verdi computer test <YOUR_LABEL> --print-traceback
Expected output:
After this, AiiDA should be able to interact with FirecREST seamlessly.
See tests/test_calculation.py for a working example using the plugin through the AiiDA API.
Also consider exploring the pyfirecrest CLI for direct interaction with a FirecREST server.
If you encounter any problems/bug, please don't hesitate to open an issue on this repository.
For developers
Development Installation
Clone and install the package in development mode:
git clone https://github.com/aiidateam/aiida-firecrest.git
cd aiida-firecrest
pip install -e .[dev]
Testing
To run the tests, you'll first need access to a FirecREST server. A simple way to do that locally, is to use the firecrest-v2 repo and spin up the Docker container --which is how we do it in the CI:
git clone https://github.com/eth-cscs/firecrest-v2
cd firecrest-v2
docker compose -f 'docker-compose.yml' up -d --build
By default, pytest will use the .firecrest-demo-config.json configuration file to connect to the the local Docker-based FirecREST server:
┌─────────────────┐───►┌─────────────┐───►┌──────────────────────────────┐
│ aiida_firecrest │ │ pyfirecrest │ │ FirecREST deployed on docker │
└─────────────────┘◄───└─────────────┘◄───└──────────────────────────────┘
You can also test against a real FirecREST server by supplying your own config file:
pytest --firecrest-config="MY_CONFIGURATION.json"
Make sure the configuration is similarly structured as in .firecrest-demo-config.json. Note that tests involving job submission may experience timeouts due to actual HPC queue wait times.
┌─────────────────┐───►┌─────────────┐───►┌────────────────────────────────┐
│ aiida_firecrest │ │ pyfirecrest │ │ FirecREST on a real HPC server │
└─────────────────┘◄───└─────────────┘◄───└────────────────────────────────┘
Debugging and CLI Access
For debugging or direct file system access, consider using the pyfirecrest CLI.
For example, after setting the appropriate environment variables, you can run:
$ firecrest ls /home/fireuser/
Code Style
Before committing any changes, ensure the code is properly formatted and linted:
pre-commit run --all-files
Acknowledgment:
This project is supported by SwissTwins project.
Release files for aiida_firecrest 1.0.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_firecrest-1.0.0.tar.gz | 201.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiida_firecrest-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 227.7 kB
Release files / aiida_firecrest-1.0.0.tar.gz
| Download URL | aiida_firecrest-1.0.0.tar.gz |
|---|---|
| Size | 201.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51cb3ad9699e532cde8776823963b045985dc15d10eed68227604971e6eb7732
|
|
BLAKE2b-256 checksum How to use checksums |
ba4993b30fa2a8509764c7db30ecd7b170a25810df232644575d1a4f6be8a9c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|
Release files / aiida_firecrest-1.0.0-py3-none-any.whl
| Download URL | aiida_firecrest-1.0.0-py3-none-any.whl |
|---|---|
| Size | 26.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
483cd94e7d9e0f22885c373f11a4615827ca9b0bc8f67b05cee297ce24c846b6
|
|
BLAKE2b-256 checksum How to use checksums |
3df34f2af5c3083388de189f91a3d79efdfa59fc5d1321c4d20f65a8273a9abb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.32.5
|