https://github.com/aiidateam/aiida-firecrest

AiiDA Transport/Scheduler plugins for interfacing with FirecREST (https://products.cscs.ch/firecrest/)

https://github.com/aiidateam/aiida-firecrest

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary

Keywords

aiida-plugin firecrest

Keywords from Contributors

parallel distributed archiving mesh transformers energy-system-model pypi battery pipeline-testing yolov5s
Last synced: 9 months ago · JSON representation

Repository

AiiDA Transport/Scheduler plugins for interfacing with FirecREST (https://products.cscs.ch/firecrest/)

Basic Info
  • Host: GitHub
  • Owner: aiidateam
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 421 KB
Statistics
  • Stars: 3
  • Watchers: 3
  • Forks: 4
  • Open Issues: 12
  • Releases: 2
Topics
aiida-plugin firecrest
Created over 4 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog License

README.md

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:

```bash pip install git+https://github.com/aiidateam/aiida-firecrest.git

pip not yet available

pip install aiida-firecrest ```

Once installed, verify that the firecrest transport and scheduler plugins are available in AiiDA:

```bash $ 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:

bash $ verdi computer setup --transport firecrest --scheduler firecrest --hostname firecrest --label <YOUR_LABEL>

After completing the prompts, configure the computer with your credentials:

bash $ verdi -p <MY_PROFILE> computer configure firecrest <YOUR_LABEL>

Finally, test the setup:

bash $ 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:

bash 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:

bash 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:

plaintext ┌─────────────────┐───►┌─────────────┐───►┌──────────────────────────────┐ │ aiida_firecrest │ │ pyfirecrest │ │ FirecREST deployed on docker │ └─────────────────┘◄───└─────────────┘◄───└──────────────────────────────┘

You can also test against a real FirecREST server by supplying your own config file:

bash 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.

plaintext ┌─────────────────┐───►┌─────────────┐───►┌────────────────────────────────┐ │ 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:

bash $ firecrest ls /home/fireuser/


Code Style

Before committing any changes, ensure the code is properly formatted and linted:

bash pre-commit run --all-files


Acknowledgment:

This project is supported by SwissTwins project.


Repository Logo

Owner

  • Name: AiiDA team
  • Login: aiidateam
  • Kind: organization

The development team of AiiDA

GitHub Events

Total
  • Create event: 10
  • Issues event: 25
  • Watch event: 1
  • Delete event: 6
  • Member event: 1
  • Issue comment event: 32
  • Push event: 23
  • Pull request review comment event: 12
  • Pull request review event: 12
  • Pull request event: 29
Last Year
  • Create event: 10
  • Issues event: 25
  • Watch event: 1
  • Delete event: 6
  • Member event: 1
  • Issue comment event: 32
  • Push event: 23
  • Pull request review comment event: 12
  • Pull request review event: 12
  • Pull request event: 29

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 45
  • Total Committers: 4
  • Avg Commits per committer: 11.25
  • Development Distribution Score (DDS): 0.289
Past Year
  • Commits: 10
  • Committers: 3
  • Avg Commits per committer: 3.333
  • Development Distribution Score (DDS): 0.3
Top Committers
Name Email Commits
Chris Sewell c****l@h****m 32
Ali Khosravi k****i@g****m 7
dependabot[bot] 4****] 5
pre-commit-ci[bot] 6****] 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 20
  • Total pull requests: 43
  • Average time to close issues: 9 days
  • Average time to close pull requests: about 2 months
  • Total issue authors: 4
  • Total pull request authors: 5
  • Average comments per issue: 0.35
  • Average comments per pull request: 0.91
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 17
Past Year
  • Issues: 15
  • Pull requests: 14
  • Average time to close issues: 9 days
  • Average time to close pull requests: 14 days
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.47
  • Average comments per pull request: 1.64
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 6
Top Authors
Issue Authors
  • khsrali (22)
  • chrisjsewell (4)
  • agoscinski (4)
  • mikibonacci (1)
  • DropD (1)
Pull Request Authors
  • khsrali (25)
  • dependabot[bot] (21)
  • chrisjsewell (17)
  • pre-commit-ci[bot] (7)
  • agoscinski (5)
  • DropD (1)
Top Labels
Issue Labels
enhancement (2) upstream (2) bug (2) wontfix (1)
Pull Request Labels
dependencies (21) python (12) github_actions (9)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 112 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
pypi.org: aiida_firecrest

AiiDA Transport/Scheduler plugins for interfacing with FirecREST.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 112 Last month
Rankings
Dependent packages count: 6.6%
Downloads: 23.7%
Average: 25.1%
Forks count: 28.4%
Dependent repos count: 30.6%
Stargazers count: 35.9%
Maintainers (1)
Last synced: 9 months ago

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • actions/setup-python v2 composite
  • pre-commit/action v2.0.0 composite
.github/workflows/server-tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • jpribyl/action-docker-layer-caching v0.1.1 composite
  • rabbitmq 3.8.14-management docker
pyproject.toml pypi
  • aiida-core @git+https://github.com/chrisjsewell/aiida_core.git@aiida-firecrest#egg=aiida-core
  • click *
  • pyfirecrest ~=1.4.0
  • pyyaml *
  • requests *