AiiDA Transport/Scheduler plugins for interfacing with FirecREST.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiida_firecrest-1.0.0.tar.gz.
File metadata
- Download URL: aiida_firecrest-1.0.0.tar.gz
- Upload date:
- Size: 201.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51cb3ad9699e532cde8776823963b045985dc15d10eed68227604971e6eb7732
|
|
| MD5 |
ee6298dc21ca4a6857593871e7bb689a
|
|
| BLAKE2b-256 |
ba4993b30fa2a8509764c7db30ecd7b170a25810df232644575d1a4f6be8a9c8
|
File details
Details for the file aiida_firecrest-1.0.0-py3-none-any.whl.
File metadata
- Download URL: aiida_firecrest-1.0.0-py3-none-any.whl
- Upload date:
- Size: 26.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
483cd94e7d9e0f22885c373f11a4615827ca9b0bc8f67b05cee297ce24c846b6
|
|
| MD5 |
d4a53ebb6398eb304722883345eccf0e
|
|
| BLAKE2b-256 |
3df34f2af5c3083388de189f91a3d79efdfa59fc5d1321c4d20f65a8273a9abb
|