<div align="center">
<img src="./assets/logo.svg" alt="Kallisto" width="300">
</div>
##
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kallisto)
[![Documentation](https://img.shields.io/badge/GitBook-Docu-lightgrey)](https://ehjc.gitbook.io/kallisto/)
[![Maturity Level](https://img.shields.io/badge/Maturity%20Level-Under%20Development-orange)](https://img.shields.io/badge/Maturity%20Level-Under%20Development-orange)
[![Tests](https://github.com/AstraZeneca/kallisto/workflows/Tests/badge.svg)](https://github.com/AstraZeneca/kallisto/actions?workflow=Tests)
[![codecov](https://codecov.io/gh/AstraZeneca/kallisto/branch/master/graph/badge.svg?token=HI0U0R96X8)](https://codecov.io/gh/AstraZeneca/kallisto)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/AstraZeneca/kallisto.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/AstraZeneca/kallisto/context:python)
[![status](https://joss.theoj.org/papers/16126cbcfb826bf4810d243a009a6b02/status.svg)](https://joss.theoj.org/papers/16126cbcfb826bf4810d243a009a6b02)
# Table of Contents
- Full Author List
- Introduction
- Installation
- Testing suite
- Reference
# Full Author List
- Developer [Eike Caldeweyher](https://scholar.google.com/citations?user=25n8C3wAAAAJ&hl)
- Developer [Rocco Meli](https://scholar.google.com/citations?hl=de&user=s8cVcvYAAAAJ)
- Developer [Philipp Pracht](https://scholar.google.com/citations?user=PJiGPk0AAAAJ&hl)
# Introduction
We developed the `kallisto` program for the efficient and robust calculation of atomic features using molecular geometries either in a `xmol` or a `Turbomole` format.
Furthermore, several modelling tools are implemented, e.g., to calculate root-mean squared deviations via quaternions (including rotation matrices), sorting of molecular geometries and many more. All features of `kallisto` are described in detail within our [documentation](https://ehjc.gitbook.io/kallisto/) ([GitBook repository](https://github.com/f3rmion/gitbook-kallisto)).
## Main dependencies
```bash
click 7.1.2 Composable command line interface toolkit
numpy 1.20.1 NumPy is the fundamental package for array computing with Python.
scipy 1.6.0 SciPy: Scientific Library for Python
└── numpy >=1.16.5
```
For a list of all dependencies have a look at the pyproject.toml file.
## Installation from PyPI
To install `kallisto` via `pip` use our published PyPI package
```bash
pip install kallisto
```
## Installation from Source
Requirements to install `kallisto`from sources:
- [poetry](https://python-poetry.org/docs/#installation)
- [pyenv](https://github.com/pyenv/pyenv#installation) or [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html)
- python >=3.7
First check that `poetry` is running correctly (v1.0.10 at the time of writing)
```bash
> poetry --version
Poetry version 1.0.10
```
Create a virtual environment (via `pyenv` or `conda`) and activate it. Afterwards, clone the `kallisto` project from GitHub and install it using `poetry`
```bash
> git clone git@github.com:AstraZeneca/kallisto.git
> cd kallisto
> poetry install
```
## Testing suite
The `kallisto` project uses [nox](https://nox.thea.codes/en/stable/tutorial.html#installation) as an automated unit test suite, which is therefore an additional dependency.
### Default nox session
The default session includes: linting (lint), type checks (mypy, pytype), and unit tests (tests).
```bash
> nox
```
When everything runs smoothly through, you are ready to go! After one successful nox run, we can reuse the created virtual environment via the `-r` flag.
```bash
> nox -r
```
Different unit test sessions are implemented (check the noxfile.py). They can be called separately via the run session `-rs` flag.
### Tests
Run all unit tests that are defined in the /tests directory.
```bash
> nox -rs tests
```
### Lint
`kallisto` uses the [flake8](https://flake8.pycqa.org/en/latest/) linter (check the .flake8 config file).
```bash
> nox -rs lint
```
### Black
`kallisto` uses the [black](https://github.com/psf/black) code formatter.
```bash
> nox -rs black
```
### Safety
`kallisto` checks the security of dependencies via [safety](https://pyup.io/safety/).
```bash
> nox -rs safety
```
### Mypy
`kallisto` checks for static types via [mypy](https://github.com/python/mypy) (check the mypy.ini config file).
```bash
> nox -rs mypy
```
### Pytype
`kallisto` furthermore uses [pytype](https://github.com/google/pytype) for type checks.
```bash
> nox -rs pytype
```
### Coverage
Unit test [coverage](https://coverage.readthedocs.io/en/coverage-5.4/) can be checked as well.
```bash
> nox -rs coverage
```
## Reference
Always cite:
Eike Caldeweyher, J. Open Source Softw., _2021_, 6, 3050. DOI: [10.21105/joss.03050](https://doi.org/10.21105/joss.03050)
```
@article{Caldeweyher2021,
doi = {10.21105/joss.03050},
url = {https://doi.org/10.21105/joss.03050},
year = {2021},
volume = {6},
number = {60},
pages = {3050},
author = {Eike Caldeweyher},
title = {kallisto: A command-line interface to simplify computational modelling and the generation of atomic features},
journal = {J. Open Source Softw.}
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/AstraZeneca/kallisto",
"name": "kallisto",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<3.13",
"maintainer_email": "",
"keywords": "chemistry,computational-chemistry,quantum-chemistry,machinelearning",
"author": "Eike Caldeweyher",
"author_email": "hello@eikecaldeweyher.de",
"download_url": "https://files.pythonhosted.org/packages/ee/a6/ff2e65d9c53695ec4488fe7757d848d0b1f151479f68cec658fa91a5ac39/kallisto-1.0.10.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n<img src=\"./assets/logo.svg\" alt=\"Kallisto\" width=\"300\">\n</div>\n\n##\n\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kallisto)\n[![Documentation](https://img.shields.io/badge/GitBook-Docu-lightgrey)](https://ehjc.gitbook.io/kallisto/)\n[![Maturity Level](https://img.shields.io/badge/Maturity%20Level-Under%20Development-orange)](https://img.shields.io/badge/Maturity%20Level-Under%20Development-orange)\n[![Tests](https://github.com/AstraZeneca/kallisto/workflows/Tests/badge.svg)](https://github.com/AstraZeneca/kallisto/actions?workflow=Tests)\n[![codecov](https://codecov.io/gh/AstraZeneca/kallisto/branch/master/graph/badge.svg?token=HI0U0R96X8)](https://codecov.io/gh/AstraZeneca/kallisto)\n[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/AstraZeneca/kallisto.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/AstraZeneca/kallisto/context:python)\n[![status](https://joss.theoj.org/papers/16126cbcfb826bf4810d243a009a6b02/status.svg)](https://joss.theoj.org/papers/16126cbcfb826bf4810d243a009a6b02)\n\n# Table of Contents\n\n- Full Author List\n- Introduction\n- Installation\n- Testing suite\n- Reference\n\n# Full Author List\n\n- Developer [Eike Caldeweyher](https://scholar.google.com/citations?user=25n8C3wAAAAJ&hl)\n- Developer [Rocco Meli](https://scholar.google.com/citations?hl=de&user=s8cVcvYAAAAJ)\n- Developer [Philipp Pracht](https://scholar.google.com/citations?user=PJiGPk0AAAAJ&hl)\n\n# Introduction\n\nWe developed the `kallisto` program for the efficient and robust calculation of atomic features using molecular geometries either in a `xmol` or a `Turbomole` format.\nFurthermore, several modelling tools are implemented, e.g., to calculate root-mean squared deviations via quaternions (including rotation matrices), sorting of molecular geometries and many more. All features of `kallisto` are described in detail within our [documentation](https://ehjc.gitbook.io/kallisto/) ([GitBook repository](https://github.com/f3rmion/gitbook-kallisto)).\n\n## Main dependencies\n\n```bash\nclick 7.1.2 Composable command line interface toolkit\nnumpy 1.20.1 NumPy is the fundamental package for array computing with Python.\nscipy 1.6.0 SciPy: Scientific Library for Python\n\u2514\u2500\u2500 numpy >=1.16.5\n```\n\nFor a list of all dependencies have a look at the pyproject.toml file.\n\n## Installation from PyPI\n\nTo install `kallisto` via `pip` use our published PyPI package\n\n```bash\npip install kallisto\n```\n\n## Installation from Source\n\nRequirements to install `kallisto`from sources:\n\n- [poetry](https://python-poetry.org/docs/#installation)\n- [pyenv](https://github.com/pyenv/pyenv#installation) or [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html)\n- python >=3.7\n\nFirst check that `poetry` is running correctly (v1.0.10 at the time of writing)\n\n```bash\n> poetry --version\nPoetry version 1.0.10\n```\n\nCreate a virtual environment (via `pyenv` or `conda`) and activate it. Afterwards, clone the `kallisto` project from GitHub and install it using `poetry`\n\n```bash\n> git clone git@github.com:AstraZeneca/kallisto.git\n> cd kallisto\n> poetry install\n```\n\n## Testing suite\n\nThe `kallisto` project uses [nox](https://nox.thea.codes/en/stable/tutorial.html#installation) as an automated unit test suite, which is therefore an additional dependency.\n\n### Default nox session\n\nThe default session includes: linting (lint), type checks (mypy, pytype), and unit tests (tests).\n\n```bash\n> nox\n```\n\nWhen everything runs smoothly through, you are ready to go! After one successful nox run, we can reuse the created virtual environment via the `-r` flag.\n\n```bash\n> nox -r\n```\n\nDifferent unit test sessions are implemented (check the noxfile.py). They can be called separately via the run session `-rs` flag.\n\n### Tests\n\nRun all unit tests that are defined in the /tests directory.\n\n```bash\n> nox -rs tests\n```\n\n### Lint\n\n`kallisto` uses the [flake8](https://flake8.pycqa.org/en/latest/) linter (check the .flake8 config file).\n\n```bash\n> nox -rs lint\n```\n\n### Black\n\n`kallisto` uses the [black](https://github.com/psf/black) code formatter.\n\n```bash\n> nox -rs black\n```\n\n### Safety\n\n`kallisto` checks the security of dependencies via [safety](https://pyup.io/safety/).\n\n```bash\n> nox -rs safety\n```\n\n### Mypy\n\n`kallisto` checks for static types via [mypy](https://github.com/python/mypy) (check the mypy.ini config file).\n\n```bash\n> nox -rs mypy\n```\n\n### Pytype\n\n`kallisto` furthermore uses [pytype](https://github.com/google/pytype) for type checks.\n\n```bash\n> nox -rs pytype\n```\n\n### Coverage\n\nUnit test [coverage](https://coverage.readthedocs.io/en/coverage-5.4/) can be checked as well.\n\n```bash\n> nox -rs coverage\n```\n\n## Reference\n\nAlways cite:\n\nEike Caldeweyher, J. Open Source Softw., _2021_, 6, 3050. DOI: [10.21105/joss.03050](https://doi.org/10.21105/joss.03050)\n\n```\n@article{Caldeweyher2021,\n doi = {10.21105/joss.03050},\n url = {https://doi.org/10.21105/joss.03050},\n year = {2021},\n volume = {6},\n number = {60},\n pages = {3050},\n author = {Eike Caldeweyher},\n title = {kallisto: A command-line interface to simplify computational modelling and the generation of atomic features},\n journal = {J. Open Source Softw.}\n}\n```\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "The Kallisto software enables the efficient calculation of atomic features that can be used within a quantitative structure-activity relationship (QSAR) approach. Furthermore, several modelling helpers are implemented.",
"version": "1.0.10",
"project_urls": {
"Homepage": "https://github.com/AstraZeneca/kallisto",
"Repository": "https://github.com/AstraZeneca/kallisto"
},
"split_keywords": [
"chemistry",
"computational-chemistry",
"quantum-chemistry",
"machinelearning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7a90e90f62d1d8d315c50119d183b663c87d8ea14b6084c143fdf5a5ec7f82d5",
"md5": "ecd545ededcf7e1e10c608ee16ad07ec",
"sha256": "d7e908f909f65d57552c6fb7f2948eb5db6aaf6c5019b77d06c8c2cdc1123b71"
},
"downloads": -1,
"filename": "kallisto-1.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ecd545ededcf7e1e10c608ee16ad07ec",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<3.13",
"size": 104667,
"upload_time": "2023-09-14T12:23:11",
"upload_time_iso_8601": "2023-09-14T12:23:11.444765Z",
"url": "https://files.pythonhosted.org/packages/7a/90/e90f62d1d8d315c50119d183b663c87d8ea14b6084c143fdf5a5ec7f82d5/kallisto-1.0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eea6ff2e65d9c53695ec4488fe7757d848d0b1f151479f68cec658fa91a5ac39",
"md5": "f3438bd3563e06cb69af0c86cd02c706",
"sha256": "cf0541129bfebb5a778f1ac1edc8f7d2c4788490f41aa239f7b8e9d65b0a6778"
},
"downloads": -1,
"filename": "kallisto-1.0.10.tar.gz",
"has_sig": false,
"md5_digest": "f3438bd3563e06cb69af0c86cd02c706",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<3.13",
"size": 104471,
"upload_time": "2023-09-14T12:23:14",
"upload_time_iso_8601": "2023-09-14T12:23:14.869079Z",
"url": "https://files.pythonhosted.org/packages/ee/a6/ff2e65d9c53695ec4488fe7757d848d0b1f151479f68cec658fa91a5ac39/kallisto-1.0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-14 12:23:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AstraZeneca",
"github_project": "kallisto",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kallisto"
}