/alc-ux

alc ux project

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

ALC Logo

AiiDAlab ALC Application

Release PyPI Version Pipeline Status Coverage Status Docs status DOI

This is an AiiDAlab application plugin for scientific workflows maintained by the Ada Lovelace Center (ALC). The app is still in early development stage and any input/contributions are welcome.

For Developers

Style Checking

This package uses pre-commit hooks to check for style consistency, to use these the pre-commit tool is required. This can be installed alongside the base package by running,

pip install .[dev]

or separately via,

pip install pre-commit 

Once installed run,

pre-commit install 

in the base repository to enable the pre-commit hooks. This will now run style and formatting checks on every commit.

Testing

This package uses pytest to run all unit tests which is included in the [dev] optional package dependencies. Once installed it can be run from the project root directory. The CI workflows are configured to ensure all tests pass before a pull request can be accepted into the main repository. It is important that any new additions to the code base are accompanied by appropriate testing, maintaining a high code coverage. The coverage can be checked via,

pytest --cov=aiidalab_alc 

Documentation

The documentation, including a User Guide, Developer Guide and an API reference, is built using sphinx. The source for which is contained in the docs/ directory. At present only the html generator has been fully tested. All required packages can be installed alongside the core package via,

pip install .[docs]

and then the documentation can be built using sphinx-build,

sphinx-build -b html docs/source/ docs/build/html 

from the root directory.