Observed since 21 Oct, 10:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aiida_firecrest
AiiDA Transport/Scheduler plugins for interfacing with FirecREST.
AiiDA transport and scheduler plugins for interfacing with FirecREST via pyfirecrest.
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.
Clone and install the package in development mode:
git clone https://github.com/aiidateam/aiida-firecrest.git
cd aiida-firecrest
pip install -e .[dev]
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 │
└─────────────────┘◄───└─────────────┘◄───└────────────────────────────────┘
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/
Before committing any changes, ensure the code is properly formatted and linted:
pre-commit run --all-files
This project is supported by SwissTwins project.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
aiida-coreEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | aiida-core>=2.7.0 | runtime |
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | click | runtime |
pyfirecrestEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pyfirecrest>=3.6.0 | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pyyaml | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-cov; extra == "dev" | runtime |
pytest-regressionsEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-regressions; extra == "dev" | runtime |
pytest-timeoutEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-timeout; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio; extra == "dev" | runtime |
pgtestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | pgtest; extra == "dev" | runtime |
furoEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | furo==2024.8.6; extra == "docs" | runtime |
bdist_wheel · 26.08 KB · Python py3
sdist · 196.31 KB · Python source
Observed since 21 Oct, 10:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:6a78ab8959f071bd002591d9e834dc2727492ae7e56f2cdcb289e7bbc73387f7