aiida-abacus


Nameaiida-abacus JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryAiiDA plugin for ABACUS
upload_time2025-09-05 18:04:22
maintainerNone
docs_urlNone
authoraiida-abacus team
requires_python>=3.10
licenseMIT License Copyright (c) 2024 aiida-abacus team. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords aiida plugin
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build Status][ci-badge]][ci-link]
[![Coverage Status][cov-badge]][cov-link]
[![Docs status][docs-badge]][docs-link]
[![PyPI version][pypi-badge]][pypi-link]
[![Binder][binder-badge]][binder-link]

# aiida-abacus

This is the [AiiDA](https://www.aiida.net/) plugin for the ab-initio software package [ABACUS](https://abacus.ustc.edu.cn/main.htm).

## Quick start

Try this plugin with a live JupyterLab server with Binder!

Click the Binder badge [![Binder][binder-badge]][binder-link] to launch a **zero-install** JupyterLab.  
In two minutes you’ll have AiiDA + ABACUS fully set-up—complete with ready-to-run notebooks that let you submit calculations, track provenance, and visualize results right in your browser.

See [Tutorials](https://aiida-abacus.readthedocs.io/en/latest/tutorials/index.html) for installation locally.

## Installation

<!-- Install using pip:

```shell
pip install aiida-abacus
``` -->

Install from source:
### install using `pip`
```bash
git clone https://github.com/MCresearch/aiida-abacus.git
cd aiida-abacus
pip install .
# or pip install -e .
# if you want to make a change to the plugin
```
### install using `uv`
```bash
uv sync
```

We recommend using `aiida-abacus` with [ABACUS LTS (`v3.10.0`)](https://github.com/deepmodeling/abacus-develop/releases/tag/LTSv3.10.0).
This is a Long-Term Supported stable release. The LTS version will only receive essential bug fixes and performance optimization PRs, without introducing code modifications that might affect computational accuracy and precision, nor changes to input parameter names & output formats.
Note that output format changes introduced by the rapidly iterating `develop` branch (for example, `v3.9.0.3` and later `v3.9.0.x` released after `v3.10.0`) are currently not supported by the `aiida-abacus` parser. It is preferable to use ABACUS LTSv3.10.0 rather than `develop` release to produce data and work with `aiida-abacus`.



### Pseudopotentials
We use the [`aiida-pseudo` plugin](https://pypi.org/project/aiida-pseudo/) to install and manage pseudopotentials.
It is easy to install pseudopotentials by `aiida-pseudo` CLI:
```bash
aiida-pseudo install pseudo-dojo -f upf -v 0.4 -x PBE -r SR -p standard 
```
and load the pseudopotential family installed by calling
`load_group` in the launch script.
```py
pseudo_family = load_group('PseudoDojo/0.4/PBE/SR/standard/upf')
```

At least one pseudo potential family should be installed. For more information on pseudo family, please refer to [AiiDA pseudo plugin Documentation](https://aiida-pseudo.readthedocs.io/en/latest/).

## Documentation

See [our online docs](https://aiida-abacus.readthedocs.io/).

- Quick start

We ofter a [quick start tutorial](https://aiida-abacus.readthedocs.io/en/latest/tutorials/index.html) that provides two ways to get started: try Aiida-ABACUS instantly with our live JupyterLab environment powered by Binder, or follow the step-by-step guide to quickly set up a local installation and begin using the plugin.

See the `examples` directory to learn about how to run this plugin with scripts.

- Get started with [AiiDA](https://aiida-tutorials.readthedocs.io/en/latest/sections/getting_started/index.html). It is strongly recommended that the AiiDA setup and basics tutorials should be read and followed to ensure that the environment is set up correctly, while acquiring the relevant basic knowledge and basic concepts in AiiDA & getting to learn about using `verdi` CLI/APIs.

- Documentation for [ABACUS](https://abacus.deepmodeling.com/en/latest/index.html).


## Usage

Here goes a quick demo of how to submit a calculation using this plugin:
```shell
verdi daemon start      # make sure the daemon is running
cd examples
verdi run example_pw_Si2.py     # run example calculation
verdi process list -a   # check record of calculation
```
* Running calculations on a cluster is essentially the same, except that you need to configure the remote computer.
- We provide simple setup demo config files `remote-slurm-ssh-setup.yml` and `localhost-direct-local-setup.yml` in the `examples` dir. You can follow the guide in [How to set up a computer](https://aiida.readthedocs.io/projects/aiida-core/en/latest/howto/run_codes.html#how-to-set-up-a-computer) to configure a computational resource. Please configure `prepend_text` according to your remote environment if [Intel® oneAPI Toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html) is used to build ABACUS.

- You can also run the interactive Jupyter notebook `binder-example.ipynb` in the `examples` directory locally for a glimpse into `aiida-abacus`.

The plugin also includes verdi commands to inspect its data types:
```shell
verdi data abacus list
verdi data abacus export <PK>
```

## Development

```shell
git clone https://github.com/MCresearch/aiida-abacus .
cd aiida-abacus
pip install --upgrade pip
pip install -e .[pre-commit,testing]  # install extra dependencies
pre-commit install  # install pre-commit hooks
pytest -v  # discover and run all tests
```

### Repository contents

- `src/aiida_abacus`: Main source code of `aiida-abacus` plugin
    - `calculations.py`: The `AbacusCalculation` calcjob class.
    - `parsers.py`: The `abacus.abacus` default parser for `AbacusCalculation`.
- `examples/`: Example of how to submit a calculation using this plugin via a script.
<!-- See [Features](#features) for details. -->
- `tests/`: Basic tests supported by [pytest](https://docs.pytest.org/en/latest/). Install by `pip install -e .[testing]` and run `pytest`.

<!-- See the [developer guide](http://aiida-abacus.readthedocs.io/en/latest/developer_guide/index.html) for more information. -->

<!-- ## Features -->


## License

MIT


[ci-badge]: https://github.com/MCresearch/aiida-abacus/workflows/ci/badge.svg?branch=master
[ci-link]: https://github.com/MCresearch/aiida-abacus/actions
[cov-badge]: https://coveralls.io/repos/github/MCresearch/aiida-abacus/badge.svg?branch=master
[cov-link]: https://coveralls.io/github/MCresearch/aiida-abacus?branch=master
[docs-badge]: https://readthedocs.org/projects/aiida-abacus/badge
[docs-link]: http://aiida-abacus.readthedocs.io/
[pypi-badge]: https://badge.fury.io/py/aiida-abacus.svg
[pypi-link]: https://badge.fury.io/py/aiida-abacus
[binder-badge]: https://mybinder.org/badge_logo.svg
[binder-link]: https://mybinder.org/v2/gh/MCresearch/aiida-abacus/HEAD?urlpath=%2Fdoc%2Ftree%2Fexamples%2Fbinder-example.ipynb

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aiida-abacus",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "aiida, plugin",
    "author": "aiida-abacus team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/75/7a/237c5705e605605af343cba9873a6757bc17ab807a9159e5d7deec5b1cd1/aiida_abacus-0.3.0.tar.gz",
    "platform": null,
    "description": "[![Build Status][ci-badge]][ci-link]\n[![Coverage Status][cov-badge]][cov-link]\n[![Docs status][docs-badge]][docs-link]\n[![PyPI version][pypi-badge]][pypi-link]\n[![Binder][binder-badge]][binder-link]\n\n# aiida-abacus\n\nThis is the [AiiDA](https://www.aiida.net/) plugin for the ab-initio software package [ABACUS](https://abacus.ustc.edu.cn/main.htm).\n\n## Quick start\n\nTry this plugin with a live JupyterLab server with Binder!\n\nClick the Binder badge [![Binder][binder-badge]][binder-link] to launch a **zero-install** JupyterLab.  \nIn two minutes you\u2019ll have AiiDA + ABACUS fully set-up\u2014complete with ready-to-run notebooks that let you submit calculations, track provenance, and visualize results right in your browser.\n\nSee [Tutorials](https://aiida-abacus.readthedocs.io/en/latest/tutorials/index.html) for installation locally.\n\n## Installation\n\n<!-- Install using pip:\n\n```shell\npip install aiida-abacus\n``` -->\n\nInstall from source:\n### install using `pip`\n```bash\ngit clone https://github.com/MCresearch/aiida-abacus.git\ncd aiida-abacus\npip install .\n# or pip install -e .\n# if you want to make a change to the plugin\n```\n### install using `uv`\n```bash\nuv sync\n```\n\nWe recommend using `aiida-abacus` with [ABACUS LTS (`v3.10.0`)](https://github.com/deepmodeling/abacus-develop/releases/tag/LTSv3.10.0).\nThis is a Long-Term Supported stable release. The LTS version will only receive essential bug fixes and performance optimization PRs, without introducing code modifications that might affect computational accuracy and precision, nor changes to input parameter names & output formats.\nNote that output format changes introduced by the rapidly iterating `develop` branch (for example, `v3.9.0.3` and later `v3.9.0.x` released after `v3.10.0`) are currently not supported by the `aiida-abacus` parser. It is preferable to use ABACUS LTSv3.10.0 rather than `develop` release to produce data and work with `aiida-abacus`.\n\n\n\n### Pseudopotentials\nWe use the [`aiida-pseudo` plugin](https://pypi.org/project/aiida-pseudo/) to install and manage pseudopotentials.\nIt is easy to install pseudopotentials by `aiida-pseudo` CLI:\n```bash\naiida-pseudo install pseudo-dojo -f upf -v 0.4 -x PBE -r SR -p standard \n```\nand load the pseudopotential family installed by calling\n`load_group` in the launch script.\n```py\npseudo_family = load_group('PseudoDojo/0.4/PBE/SR/standard/upf')\n```\n\nAt least one pseudo potential family should be installed. For more information on pseudo family, please refer to [AiiDA pseudo plugin Documentation](https://aiida-pseudo.readthedocs.io/en/latest/).\n\n## Documentation\n\nSee [our online docs](https://aiida-abacus.readthedocs.io/).\n\n- Quick start\n\nWe ofter a [quick start tutorial](https://aiida-abacus.readthedocs.io/en/latest/tutorials/index.html) that provides two ways to get started: try Aiida-ABACUS instantly with our live JupyterLab environment powered by Binder, or follow the step-by-step guide to quickly set up a local installation and begin using the plugin.\n\nSee the `examples` directory to learn about how to run this plugin with scripts.\n\n- Get started with [AiiDA](https://aiida-tutorials.readthedocs.io/en/latest/sections/getting_started/index.html). It is strongly recommended that the AiiDA setup and basics tutorials should be read and followed to ensure that the environment is set up correctly, while acquiring the relevant basic knowledge and basic concepts in AiiDA & getting to learn about using `verdi` CLI/APIs.\n\n- Documentation for [ABACUS](https://abacus.deepmodeling.com/en/latest/index.html).\n\n\n## Usage\n\nHere goes a quick demo of how to submit a calculation using this plugin:\n```shell\nverdi daemon start      # make sure the daemon is running\ncd examples\nverdi run example_pw_Si2.py     # run example calculation\nverdi process list -a   # check record of calculation\n```\n* Running calculations on a cluster is essentially the same, except that you need to configure the remote computer.\n- We provide simple setup demo config files `remote-slurm-ssh-setup.yml` and `localhost-direct-local-setup.yml` in the `examples` dir. You can follow the guide in [How to set up a computer](https://aiida.readthedocs.io/projects/aiida-core/en/latest/howto/run_codes.html#how-to-set-up-a-computer) to configure a computational resource. Please configure `prepend_text` according to your remote environment if [Intel\u00ae oneAPI Toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html) is used to build ABACUS.\n\n- You can also run the interactive Jupyter notebook `binder-example.ipynb` in the `examples` directory locally for a glimpse into `aiida-abacus`.\n\nThe plugin also includes verdi commands to inspect its data types:\n```shell\nverdi data abacus list\nverdi data abacus export <PK>\n```\n\n## Development\n\n```shell\ngit clone https://github.com/MCresearch/aiida-abacus .\ncd aiida-abacus\npip install --upgrade pip\npip install -e .[pre-commit,testing]  # install extra dependencies\npre-commit install  # install pre-commit hooks\npytest -v  # discover and run all tests\n```\n\n### Repository contents\n\n- `src/aiida_abacus`: Main source code of `aiida-abacus` plugin\n    - `calculations.py`: The `AbacusCalculation` calcjob class.\n    - `parsers.py`: The `abacus.abacus` default parser for `AbacusCalculation`.\n- `examples/`: Example of how to submit a calculation using this plugin via a script.\n<!-- See [Features](#features) for details. -->\n- `tests/`: Basic tests supported by [pytest](https://docs.pytest.org/en/latest/). Install by `pip install -e .[testing]` and run `pytest`.\n\n<!-- See the [developer guide](http://aiida-abacus.readthedocs.io/en/latest/developer_guide/index.html) for more information. -->\n\n<!-- ## Features -->\n\n\n## License\n\nMIT\n\n\n[ci-badge]: https://github.com/MCresearch/aiida-abacus/workflows/ci/badge.svg?branch=master\n[ci-link]: https://github.com/MCresearch/aiida-abacus/actions\n[cov-badge]: https://coveralls.io/repos/github/MCresearch/aiida-abacus/badge.svg?branch=master\n[cov-link]: https://coveralls.io/github/MCresearch/aiida-abacus?branch=master\n[docs-badge]: https://readthedocs.org/projects/aiida-abacus/badge\n[docs-link]: http://aiida-abacus.readthedocs.io/\n[pypi-badge]: https://badge.fury.io/py/aiida-abacus.svg\n[pypi-link]: https://badge.fury.io/py/aiida-abacus\n[binder-badge]: https://mybinder.org/badge_logo.svg\n[binder-link]: https://mybinder.org/v2/gh/MCresearch/aiida-abacus/HEAD?urlpath=%2Fdoc%2Ftree%2Fexamples%2Fbinder-example.ipynb\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2024 aiida-abacus team.  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "AiiDA plugin for ABACUS",
    "version": "0.3.0",
    "project_urls": {
        "Source": "https://github.com/MCresearch/aiida-abacus"
    },
    "split_keywords": [
        "aiida",
        " plugin"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "285a73825cbc28d34a327f7b7e67768fdb5b0bc153bf6b0345c73c784fc16ce2",
                "md5": "553de93377d8c10c7a00398be3a88a22",
                "sha256": "50701c4346f49d3aaa4de70e704b24bba297b260550ed344128073eaee2a12ce"
            },
            "downloads": -1,
            "filename": "aiida_abacus-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "553de93377d8c10c7a00398be3a88a22",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 48283,
            "upload_time": "2025-09-05T17:58:41",
            "upload_time_iso_8601": "2025-09-05T17:58:41.974386Z",
            "url": "https://files.pythonhosted.org/packages/28/5a/73825cbc28d34a327f7b7e67768fdb5b0bc153bf6b0345c73c784fc16ce2/aiida_abacus-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "757a237c5705e605605af343cba9873a6757bc17ab807a9159e5d7deec5b1cd1",
                "md5": "7901045be4fb52c27247b95dc48b8093",
                "sha256": "4db48eec8be4852b5403121565e34ea7a856ba24ca1de971eefd3bd738dc41ee"
            },
            "downloads": -1,
            "filename": "aiida_abacus-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7901045be4fb52c27247b95dc48b8093",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 468365,
            "upload_time": "2025-09-05T18:04:22",
            "upload_time_iso_8601": "2025-09-05T18:04:22.548884Z",
            "url": "https://files.pythonhosted.org/packages/75/7a/237c5705e605605af343cba9873a6757bc17ab807a9159e5d7deec5b1cd1/aiida_abacus-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-05 18:04:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MCresearch",
    "github_project": "aiida-abacus",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aiida-abacus"
}
        
Elapsed time: 3.97879s