<div align="center">
<img width="200" src="docs/source/_static/logo_dark.png#gh-dark-mode-only">
<img width="200" src="docs/source/_static/logo.png#gh-light-mode-only">
</div>
-------
![PyPI - Version](https://img.shields.io/pypi/v/ramannoodle?color=dark%20green) [![python](https://img.shields.io/badge/python-3.10|3.11|3.12-3776AB.svg?style=flat&logo=python&logoColor=white)](https://www.python.org) ![Tests](docs/tests-badge.svg) ![Coverage](docs/coverage-badge.svg) [![Documentation Status](https://readthedocs.org/projects/ramannoodle/badge/?version=latest)](https://ramannoodle.readthedocs.io/en/latest/?badge=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/license/mit)
## About
**Ramannoodle** is a Python API for efficiently calculating Raman spectra from first principles calculations. Ramannoodle supports molecular-dynamics- and phonon-based Raman calculations. It includes interfaces with VASP but can easily be used with other codes using IO from external libraries, such as [pymatgen](https://pymatgen.org/) or [ase](https://wiki.fysik.dtu.dk/ase/).
Ramannoodle aims to be:
1. **EFFICIENT**
Ramannoodle provides `PolarizabilityModel`'s to reduce the required number of first-principles polarizability calculations.
2. **FLEXIBLE**
Ramannoodle provides a simple, object-oriented API that makes calculations a breeze while offering plenty of flexibility to carry out advanced analyses and add new functionality.
3. **TRANSPARENT**
Ramannoodle is designed to give the user a good understanding of what is being calculated at varying levels of abstraction.
## Installation
The base version of ramannoodle can be installed with pip:
```
$ pip install ramannoodle
```
Ramannoodle's machine learning modules are implemented with PyTorch. To use these modules:
1. Install [PyTorch](https://pytorch.org/get-started/locally/).
2. Install [torch-scatter](https://pypi.org/project/torch-scatter/) and [torch-sparse](https://pypi.org/project/torch-sparse/) corresponding to the PyTorch version/implementation.
3. Install ramannoodle using the `torch` options group.
For example, installation on a Linux system using PyTorch 2.4.1 (cpu implementation) is done as follows:
```
$ pip install torch==2.4.1+cpu --index-url https://download.pytorch.org/whl/cpu
$ pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
$ pip install ramannoodle[torch]
```
## Documentation
[https://ramannoodle.readthedocs.io/](https://ramannoodle.readthedocs.io/)
## Contributing
Contributions in the form of bug reports, feature suggestions, and pull requests are always welcome! Those contributing code should check out the [dev guide](https://ramannoodle.readthedocs.io/en/latest/development.html).
## Citing
To acknowledge use of ramannoodle, please cite
>> **Rapid Characterization of Point Defects in Solid-State Ion Conductors Using Raman Spectroscopy, Machine-Learning Force Fields, and Atomic Raman Tensors** <br>
W. O’Leary, M. Grumet, W. Kaiser, T. Bučko, J.L.M. Rupp, D.A. Egger <br>
Journal of the American Chemical Society (2024) <br>
doi: [10.1021/jacs.4c07812](https://pubs.acs.org/doi/10.1021/jacs.4c07812)
Raw data
{
"_id": null,
"home_page": null,
"name": "ramannoodle",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "raman, spectrum, vasp, dft, phonons, molecular, dynamics, polarizability",
"author": null,
"author_email": "Willis O'Leary <wolearyc@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/94/3c/d270cbbe0c476161db23987513455cef0004673cda4f2538d059cf8ab85d/ramannoodle-0.4.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img width=\"200\" src=\"docs/source/_static/logo_dark.png#gh-dark-mode-only\">\n <img width=\"200\" src=\"docs/source/_static/logo.png#gh-light-mode-only\">\n</div>\n\n-------\n![PyPI - Version](https://img.shields.io/pypi/v/ramannoodle?color=dark%20green) [![python](https://img.shields.io/badge/python-3.10|3.11|3.12-3776AB.svg?style=flat&logo=python&logoColor=white)](https://www.python.org) ![Tests](docs/tests-badge.svg) ![Coverage](docs/coverage-badge.svg) [![Documentation Status](https://readthedocs.org/projects/ramannoodle/badge/?version=latest)](https://ramannoodle.readthedocs.io/en/latest/?badge=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/license/mit)\n\n## About\n\n**Ramannoodle** is a Python API for efficiently calculating Raman spectra from first principles calculations. Ramannoodle supports molecular-dynamics- and phonon-based Raman calculations. It includes interfaces with VASP but can easily be used with other codes using IO from external libraries, such as [pymatgen](https://pymatgen.org/) or [ase](https://wiki.fysik.dtu.dk/ase/).\n\nRamannoodle aims to be:\n\n1. **EFFICIENT**\n\n Ramannoodle provides `PolarizabilityModel`'s to reduce the required number of first-principles polarizability calculations.\n\n2. **FLEXIBLE**\n\n Ramannoodle provides a simple, object-oriented API that makes calculations a breeze while offering plenty of flexibility to carry out advanced analyses and add new functionality.\n\n3. **TRANSPARENT**\n\n Ramannoodle is designed to give the user a good understanding of what is being calculated at varying levels of abstraction.\n\n## Installation\n\nThe base version of ramannoodle can be installed with pip:\n\n```\n$ pip install ramannoodle\n```\n\nRamannoodle's machine learning modules are implemented with PyTorch. To use these modules:\n1. Install [PyTorch](https://pytorch.org/get-started/locally/).\n2. Install [torch-scatter](https://pypi.org/project/torch-scatter/) and [torch-sparse](https://pypi.org/project/torch-sparse/) corresponding to the PyTorch version/implementation.\n3. Install ramannoodle using the `torch` options group.\n\nFor example, installation on a Linux system using PyTorch 2.4.1 (cpu implementation) is done as follows:\n\n```\n$ pip install torch==2.4.1+cpu --index-url https://download.pytorch.org/whl/cpu\n$ pip install torch-scatter torch-sparse -f https://data.pyg.org/whl/torch-2.4.0+cpu.html\n$ pip install ramannoodle[torch]\n```\n\n## Documentation\n\n[https://ramannoodle.readthedocs.io/](https://ramannoodle.readthedocs.io/)\n\n## Contributing\n\nContributions in the form of bug reports, feature suggestions, and pull requests are always welcome! Those contributing code should check out the [dev guide](https://ramannoodle.readthedocs.io/en/latest/development.html).\n\n## Citing\n\nTo acknowledge use of ramannoodle, please cite\n\n>> **Rapid Characterization of Point Defects in Solid-State Ion Conductors Using Raman Spectroscopy, Machine-Learning Force Fields, and Atomic Raman Tensors** <br>\n W. O\u2019Leary, M. Grumet, W. Kaiser, T. Bu\u010dko, J.L.M. Rupp, D.A. Egger <br>\n Journal of the American Chemical Society (2024) <br>\n doi: [10.1021/jacs.4c07812](https://pubs.acs.org/doi/10.1021/jacs.4c07812)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Calculate Raman spectra from first-principles calculations.",
"version": "0.4.0",
"project_urls": {
"Documentation": "https://ramannoodle.readthedocs.io/en/latest/",
"Issues": "https://github.com/wolearyc/ramannoodle/issues",
"Repository": "https://github.com/wolearyc/ramannoodle"
},
"split_keywords": [
"raman",
" spectrum",
" vasp",
" dft",
" phonons",
" molecular",
" dynamics",
" polarizability"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2327009253968297992548b7823daac42cf23ba502949dbdf045e296ae77dd30",
"md5": "62ab54ccab2234c1eed392cad30f9823",
"sha256": "0eb19b3c73bfc2f654c45b6634ab5f0a709836dc6528d9bcd1696215fc23dabd"
},
"downloads": -1,
"filename": "ramannoodle-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "62ab54ccab2234c1eed392cad30f9823",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 59130,
"upload_time": "2024-09-26T21:04:29",
"upload_time_iso_8601": "2024-09-26T21:04:29.535067Z",
"url": "https://files.pythonhosted.org/packages/23/27/009253968297992548b7823daac42cf23ba502949dbdf045e296ae77dd30/ramannoodle-0.4.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "943cd270cbbe0c476161db23987513455cef0004673cda4f2538d059cf8ab85d",
"md5": "a93b3b9fa0dd11c185a3be13186d714a",
"sha256": "76c7d26ce5ac02efe2dbcd4384627aa2cfc3bf59a9595fe1ee54e9ca3a0ed5db"
},
"downloads": -1,
"filename": "ramannoodle-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "a93b3b9fa0dd11c185a3be13186d714a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 44758,
"upload_time": "2024-09-26T21:04:30",
"upload_time_iso_8601": "2024-09-26T21:04:30.936426Z",
"url": "https://files.pythonhosted.org/packages/94/3c/d270cbbe0c476161db23987513455cef0004673cda4f2538d059cf8ab85d/ramannoodle-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-26 21:04:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wolearyc",
"github_project": "ramannoodle",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ramannoodle"
}