# sphericart
[![Test](https://github.com/lab-cosmo/sphericart/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/lab-cosmo/sphericart/actions/workflows/tests.yml)
This is sphericart, a multi-language library for the efficient calculation of the
spherical harmonics and their derivatives in Cartesian coordinates.
For instructions and examples on the usage of the library, please refer to our
[documentation](https://sphericart.readthedocs.io/en/latest/).
## Installation
### Python API
From source
```bash
git clone https://github.com/lab-cosmo/sphericart
pip install .
# if you also want the torch bindings
pip install .[torch]
# torch bindings, CPU-only version
pip install --extra-index-url https://download.pytorch.org/whl/cpu .[torch]
```
Pre-built (https://pypi.org/project/sphericart/).
```bash
pip install sphericart # numpy version
pip install sphericart[torch] # including also the torch bindings
```
### C and C++ API
From source
```bash
git clone https://github.com/lab-cosmo/sphericart
cd sphericart
mkdir build && cd build
cmake .. <cmake configuration options>
cmake --build . --target install
```
The following cmake configuration options are available:
- `-DSPHERICART_BUILD_TORCH=ON/OFF`: build the torch bindings in addition to the main library
- `-DSPHERICART_BUILD_TESTS=ON/OFF`: build C++ unit tests
- `-DSPHERICART_OPENMP=ON/OFF`: enable OpenMP parallelism
- `-DCMAKE_INSTALL_PREFIX=<where/you/want/to/install>` set the root path for installation
### Running tests and documentation
Tests and the local build of the documentation can be run with `tox`.
The default tests, which are also run on the CI, can be executed by simply running
```bash
tox
```
in the main folder of the repository.
To run tests in a CPU-only environment you can set the environment variable
`PIP_EXTRA_INDEX_URL` before calling tox, e.g.
```bash
PIP_EXTRA_INDEX_URL=https://download.pytorch.org/whl/cpu tox -e docs
```
will build the documentation in a CPU-only environment.
Raw data
{
"_id": null,
"home_page": "",
"name": "sphericart",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "spherical harmonics",
"author": "Filippo Bigi, Guillaume Fraux, Nicholas Browning, Michele Ceriotti",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/16/e8/05c92598fd8118e30e19bc0ee964ca2533ca6fc0bd5ea6f159fe4c0900f5/sphericart-0.3.0.tar.gz",
"platform": null,
"description": "# sphericart\n\n[![Test](https://github.com/lab-cosmo/sphericart/actions/workflows/tests.yml/badge.svg?branch=main)](https://github.com/lab-cosmo/sphericart/actions/workflows/tests.yml)\n\nThis is sphericart, a multi-language library for the efficient calculation of the\nspherical harmonics and their derivatives in Cartesian coordinates.\n\nFor instructions and examples on the usage of the library, please refer to our\n[documentation](https://sphericart.readthedocs.io/en/latest/).\n\n\n## Installation\n\n### Python API\n\nFrom source\n\n```bash\ngit clone https://github.com/lab-cosmo/sphericart\npip install .\n\n# if you also want the torch bindings\npip install .[torch]\n\n# torch bindings, CPU-only version\npip install --extra-index-url https://download.pytorch.org/whl/cpu .[torch]\n```\n\nPre-built (https://pypi.org/project/sphericart/).\n\n```bash\npip install sphericart # numpy version\npip install sphericart[torch] # including also the torch bindings\n```\n\n### C and C++ API\n\nFrom source\n\n```bash\ngit clone https://github.com/lab-cosmo/sphericart\ncd sphericart\n\nmkdir build && cd build\n\ncmake .. <cmake configuration options>\ncmake --build . --target install\n```\n\nThe following cmake configuration options are available:\n- `-DSPHERICART_BUILD_TORCH=ON/OFF`: build the torch bindings in addition to the main library\n- `-DSPHERICART_BUILD_TESTS=ON/OFF`: build C++ unit tests\n- `-DSPHERICART_OPENMP=ON/OFF`: enable OpenMP parallelism\n- `-DCMAKE_INSTALL_PREFIX=<where/you/want/to/install>` set the root path for installation\n\n\n### Running tests and documentation\n\nTests and the local build of the documentation can be run with `tox`.\nThe default tests, which are also run on the CI, can be executed by simply running\n```bash\ntox\n```\nin the main folder of the repository.\n\nTo run tests in a CPU-only environment you can set the environment variable\n`PIP_EXTRA_INDEX_URL` before calling tox, e.g.\n```bash\nPIP_EXTRA_INDEX_URL=https://download.pytorch.org/whl/cpu tox -e docs\n```\nwill build the documentation in a CPU-only environment.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Fast calculation of spherical harmonics",
"version": "0.3.0",
"split_keywords": [
"spherical",
"harmonics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "379e82b6e56bf5e9d3a32f48e23496bf1ceb7e07e000c657c8128c05642b6128",
"md5": "9dd7ef3cc5f3b222c8c59fb80b25ffac",
"sha256": "a4c81fa22a4a90df4a47054546a0fa4bb2b0570365cc5b8a0339be4887912fdc"
},
"downloads": -1,
"filename": "sphericart-0.3.0-py3-none-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9dd7ef3cc5f3b222c8c59fb80b25ffac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 256940,
"upload_time": "2023-04-27T09:37:49",
"upload_time_iso_8601": "2023-04-27T09:37:49.172090Z",
"url": "https://files.pythonhosted.org/packages/37/9e/82b6e56bf5e9d3a32f48e23496bf1ceb7e07e000c657c8128c05642b6128/sphericart-0.3.0-py3-none-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe60cf0d206585431f504e265cbdd24e711106a11e2498e4bdb661efe16a33be",
"md5": "a96cdb5db3218366e82fe8faea45c7ca",
"sha256": "3288156b8ffbb93c47f9116c4826eee613674b2e7f9e3a6d2d369a631c9feb40"
},
"downloads": -1,
"filename": "sphericart-0.3.0-py3-none-macosx_11_0_x86_64.whl",
"has_sig": false,
"md5_digest": "a96cdb5db3218366e82fe8faea45c7ca",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 284091,
"upload_time": "2023-04-27T09:37:52",
"upload_time_iso_8601": "2023-04-27T09:37:52.075837Z",
"url": "https://files.pythonhosted.org/packages/fe/60/cf0d206585431f504e265cbdd24e711106a11e2498e4bdb661efe16a33be/sphericart-0.3.0-py3-none-macosx_11_0_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3dcb644aa150caad0aba934bfebd9eb8206b23ab267f55f9010f089edd12fd98",
"md5": "1d8a3c6f6486c64ba924256c8cd1d1c6",
"sha256": "a28d1c64e6eb4ebc37f6f8aac42481f2a17985fe984ea9feda6b3246e994353d"
},
"downloads": -1,
"filename": "sphericart-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1d8a3c6f6486c64ba924256c8cd1d1c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 800129,
"upload_time": "2023-04-27T09:37:54",
"upload_time_iso_8601": "2023-04-27T09:37:54.304050Z",
"url": "https://files.pythonhosted.org/packages/3d/cb/644aa150caad0aba934bfebd9eb8206b23ab267f55f9010f089edd12fd98/sphericart-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "16e805c92598fd8118e30e19bc0ee964ca2533ca6fc0bd5ea6f159fe4c0900f5",
"md5": "4f9bedb7d5eb580a1885bf397c825280",
"sha256": "a3e04c62b41532a3aae200c2930678c3f019a51206031265d8e6da63614acea2"
},
"downloads": -1,
"filename": "sphericart-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "4f9bedb7d5eb580a1885bf397c825280",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 29063,
"upload_time": "2023-04-27T09:37:56",
"upload_time_iso_8601": "2023-04-27T09:37:56.335445Z",
"url": "https://files.pythonhosted.org/packages/16/e8/05c92598fd8118e30e19bc0ee964ca2533ca6fc0bd5ea6f159fe4c0900f5/sphericart-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-27 09:37:56",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "sphericart"
}