Skip to main content

aiida-firecrest

Coverage Status Code style: black


Repository Logo

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:


Repository Logo

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.


Repository Logo

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)

Source distribution for aiida_firecrest 1.0.0
File Size Uploaded
aiida_firecrest-1.0.0.tar.gz 201.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiida_firecrest 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page