Skip to main content

AiiDA Transport/Scheduler plugins for interfacing with FirecREST.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida_firecrest-1.0.0.tar.gz (201.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiida_firecrest-1.0.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

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

Hashes for aiida_firecrest-1.0.0.tar.gz
Algorithm Hash digest
SHA256 51cb3ad9699e532cde8776823963b045985dc15d10eed68227604971e6eb7732
MD5 ee6298dc21ca4a6857593871e7bb689a
BLAKE2b-256 ba4993b30fa2a8509764c7db30ecd7b170a25810df232644575d1a4f6be8a9c8

See more details on using hashes here.

File details

Details for the file aiida_firecrest-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aiida_firecrest-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 483cd94e7d9e0f22885c373f11a4615827ca9b0bc8f67b05cee297ce24c846b6
MD5 d4a53ebb6398eb304722883345eccf0e
BLAKE2b-256 3df34f2af5c3083388de189f91a3d79efdfa59fc5d1321c4d20f65a8273a9abb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page