excitingworkflow
exctingworkflow is a repository to collect scripts for automatically setting up exciting calculations and performing convergence series.
All workflows are written in the workflow language of jobflow. excitingworklow can be used
to execute dependent exciting calculations (WORKFLOWS) or simply many independent calculations (HIGH-THROUGHPUT).
Workflows
Currently supported workflows are:
- groundstate convergence of the parameters
rgkmax,nemptyandngridkwith respect to the total energy - GW convergence of the parameters
nemptyandngridq, and the HELO's (high energy local orbitals) in the species file(s) with respect to the Quasiparticle energies CBm and VBM, and the bandgap - BSE convergence of the parameters
gqmaxandngridk/ngridqwith respect to the exciton energy, and/or the spectral similarity (measured by spearman coefficient, or the tanimoto coefficient) - species workflow to find a maximal local orbital basis and local orbital hierarchy
- GW workflow: automated workflow to execute a GW calculation using the task-based GW implementation
Installation
For innstructions on how to install excitingworkflow, please refer to the INSTALL file.
Remote execution
If you want to execute your workflows on a remote machine, for instance on a supercomputer using slurm as a queue
manager, you can achieve this using jobflow-remote. You should read the remote_execution.md file
to get started.
Command line interface
excitingworkflow provides a command line interface (CLI) written with typer. It contains mainly helper commands
that should simplify your daily work. After the installation of excitingworkflow, you can invoke the CLI with:
ew
This is similar to calling ew -h or ew --help. You will see a list of all available commands. You can learn more
about each command by calling ew <command> -h. Either you see the description of the command or you get a list of
all available subcommands.
For a complete overview of all commands, you can call:
ew --tree
Note that all commands using jobflow-remote will use the default project.
Tests
Tests are written and executed with pytest. Overall code coverage is
also measured in the git pipeline and displayed on the webpage. You can run the test suite from the root directory via
pip install pytest
pytest tests/
This package is developed to execute exciting calculations. It's not possible to run exciting in the regular unit
test suite.
There are still tests covering the whole workflow, and actually running exciting. Those integration tests can be
additionally triggered via:
pytest --run-exciting tests/
Note, in order for the test cases to find the exciting binary, the value for exciting_binary from the config file
will be used, so it needs to be set.
Tutorials
We provide basic and advanced tutorials, as well as various example files for setting up and running this package. Refer to this README to get started.
Are you a SOL member?
Make sure to also read the SOL-specific information: SOL_info.md.
License
excitingworkflow is distributed under the GNU General Public License
Version 3 (GPLv3) or any later version.
See the LICENSE file for details.
Contributing
We welcome contributions to this repository. Please refer to the CONTRIBUTING file for more information.
Compatibility
This package has been extensively tested and used on both Linux and macOS. Some of the standard paths given in the tutorials might need to be adjusted if you are using a different operating system. The plain usage of Windows is not recommended. Instead, you want to use a virtual machine or a docker-like environment.
Authors and acknowledgment
Fabian Peschel: main developer and maintainer
Hannah Kleine: contributed idea and parts of the implementation of the species workflow
Alexander Buccheri: thanks for supervision and guideline in writing the workflows
Metadata
Release files for excitingworkflow 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| excitingworkflow-0.1.2.tar.gz | 217.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| excitingworkflow-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 473.3 kB
Release files / excitingworkflow-0.1.2.tar.gz
| Download URL | excitingworkflow-0.1.2.tar.gz |
|---|---|
| Size | 217.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bec464e820f120380cd2b52901293bcd60473a592c84c2779f6953215e3622b1
|
|
BLAKE2b-256 checksum How to use checksums |
6ad2f49384a2b84c1fa7fb653a295ffa61ba049ad04cb674462ff9ee6b5f6ac9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / excitingworkflow-0.1.2-py3-none-any.whl
| Download URL | excitingworkflow-0.1.2-py3-none-any.whl |
|---|---|
| Size | 256.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d3b2a862f5e2d5ef3a87590209128fce077f6f2fd83e977fc081c41e4112919c
|
|
BLAKE2b-256 checksum How to use checksums |
715d2a0422b39d3e909c765ac6f5ce9ce7a963a4e8c69cf72303b4043bd40e48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for excitingworkflow 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.