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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| aiida_firecrest-1.0.0.tar.gz | 201.0 kB | Without provenance | Details for aiida_firecrest-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aiida_firecrest-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for aiida_firecrest-1.0.0-py3-none-any.whl |
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
|
Security for aiida_firecrest 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.