Catalog PyPI
Back to packageRELEASE DETAILS

1.0.0

PyPI

aiida_firecrest

AiiDA Transport/Scheduler plugins for interfacing with FirecREST.

aiidafirecrest
Published14 Jan 2026
Direct dependencies11
Transitive dependenciesNot calculated

README

Version 1.0.0 documentation

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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 11

Native requirements
11 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
aiida-core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
aiida-core>=2.7.0runtime
click
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
clickruntime
pyfirecrest
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pyfirecrest>=3.6.0runtime
pyyaml
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pyyamlruntime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov; extra == "dev"runtime
pytest-regressions
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest-regressions; extra == "dev"runtime
pytest-timeout
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest-timeout; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio; extra == "dev"runtime
pgtest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pgtest; extra == "dev"runtime
furo
Environment
{
  "extras": "",
  "marker": "extra == \"docs\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
furo==2024.8.6; extra == "docs"runtime

Distribution files

2 collected
aiida_firecrest-1.0.0-py3-none-any.whl

bdist_wheel · 26.08 KB · Python py3

Source file
aiida_firecrest-1.0.0.tar.gz

sdist · 196.31 KB · Python source

Source file

Repository

PENDING
aiidateam/aiida-firecrest

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:57 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:6a78ab8959f071bd002591d9e834dc2727492ae7e56f2cdcb289e7bbc73387f7

Other collected versions

View all collected versions →