polyharmonics


Namepolyharmonics JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/ComicIvans/polyharmonics
SummaryOrtogonal polynomials in the unit sphere
upload_time2024-05-06 13:44:05
maintainerNone
docs_urlNone
authorIván Salido Cobo
requires_python<4.0,>=3.9
licenseBSD-3-Clause
keywords python polynomials unit sphere orthogonal polynomials mathematics math legendre polynomials associated legendre functions spherical harmonics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Polyharmonics

<div align="center">

![PyPI](https://img.shields.io/pypi/v/polyharmonics)
[![Python Version](https://img.shields.io/pypi/pyversions/polyharmonics.svg)](https://pypi.org/project/polyharmonics/)
[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/ComicIvans/polyharmonics/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)

[![Code style: ruff](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/astral-sh/ruff)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/ComicIvans/polyharmonics/blob/main/.pre-commit-config.yaml)
[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/ComicIvans/polyharmonics/releases)
[![License](https://img.shields.io/github/license/ComicIvans/polyharmonics)](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE)
![Coverage Report](assets/images/coverage.svg)

Ortogonal Polynomials in the unit sphere.

</div>

## Quick start

Conda package manager is recommended. Create a conda environment.

```bash
conda create -n polyharmonics python==3.10
```

Activate conda environment

```bash
conda activate polyharmonics
```

Install the package

```bash
pip install polyharmonics
```

Then you can run the client using the following command:

```bash
polyharmonics --help
```

Or with `Poetry`:

```bash
poetry run polyharmonics --help
```

### Makefile usage

[`Makefile`](https://github.com/ComicIvans/polyharmonics/blob/main/Makefile) contains a lot of functions for faster development.

<details>
<summary>Install all dependencies and pre-commit hooks</summary>
<p>

Install requirements:

```bash
make install
```

Pre-commit hooks coulb be installed after `git init` via

```bash
make pre-commit-install
```

</p>
</details>

<details>
<summary>Codestyle and type checks</summary>
<p>

Automatic formatting uses `ruff`.

```bash
make polish-codestyle

# or use synonym
make formatting
```

Codestyle checks only, without rewriting files:

```bash
make check-codestyle
```

> Note: `check-codestyle` uses `ruff` and `darglint` library

</p>
</details>

<details>
<summary>Code security</summary>
<p>

> If this command is not selected during installation, it cannnot be used.

```bash
make check-safety
```

This command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.

```bash
make check-safety
```

</p>
</details>

<details>
<summary>Tests with coverage badges</summary>
<p>

Run `pytest`

```bash
make test
```

</p>
</details>

<details>
<summary>All linters</summary>
<p>

Of course there is a command to run all linters in one:

```bash
make lint
```

the same as:

```bash
make check-codestyle && make test && make check-safety
```

</p>
</details>

<details>
<summary>Docker</summary>
<p>

```bash
make docker-build
```

which is equivalent to:

```bash
make docker-build VERSION=latest
```

Remove docker image with

```bash
make docker-remove
```

More information [about docker](https://github.com/Undertone0809/python-package-template/tree/main/%7B%7B%20cookiecutter.project_name%20%7D%7D/docker).

</p>
</details>

<details>
<summary>Cleanup</summary>
<p>
Delete pycache files

```bash
make pycache-remove
```

Remove package build

```bash
make build-remove
```

Delete .DS_STORE files

```bash
make dsstore-remove
```

Remove .mypycache

```bash
make mypycache-remove
```

Or to remove all above run:

```bash
make cleanup
```

</p>
</details>

## 📈 Releases

You can see the list of available releases on the [GitHub Releases](https://github.com/ComicIvans/polyharmonics/releases) page.

We follow [Semantic Versions](https://semver.org/) specification.

We use [`Release Drafter`](https://github.com/marketplace/actions/release-drafter). As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready. With the categories option, you can categorize pull requests in release notes using labels.

### List of labels and corresponding titles

|               **Label**               |  **Title in Releases**  |
| :-----------------------------------: | :---------------------: |
|       `enhancement`, `feature`        |       🚀 Features       |
| `bug`, `refactoring`, `bugfix`, `fix` | 🔧 Fixes & Refactoring  |
|       `build`, `ci`, `testing`        | 📦 Build System & CI/CD |
|              `breaking`               |   💥 Breaking Changes   |
|            `documentation`            |    📝 Documentation     |
|            `dependencies`             | ⬆️ Dependencies updates |

You can update it in [`release-drafter.yml`](https://github.com/ComicIvans/polyharmonics/blob/main/.github/release-drafter.yml).

GitHub creates the `bug`, `enhancement`, and `documentation` labels for you. Dependabot creates the `dependencies` label. Create the remaining labels on the Issues tab of your GitHub repository, when you need them.

## 🛡 License

[![License](https://img.shields.io/github/license/ComicIvans/polyharmonics)](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE)

This project uses the `BSD-3-Clause` license. See [LICENSE](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE) for more details.

## 📃 Citation

```bibtex
@misc{polyharmonics,
  author = {Iván Salido Cobo},
  title = {Ortogonal Polynomials in the unit sphere.},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/ComicIvans/polyharmonics}}
}
```

## Credits [![🚀 Your next Python package needs a bleeding-edge project structure.](https://img.shields.io/badge/python--package--template-%F0%9F%9A%80-brightgreen)](https://github.com/Undertone0809/python-package-template)

This project was generated with [`python-package-template`](https://github.com/Undertone0809/python-package-template)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ComicIvans/polyharmonics",
    "name": "polyharmonics",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "python, polynomials, unit sphere, orthogonal polynomials, mathematics, math, legendre polynomials, associated legendre functions, spherical harmonics",
    "author": "Iv\u00e1n Salido Cobo",
    "author_email": "isalidocobo@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b1/91/c094c1d914e2d15a4c93d2845e4de5fe56ef7dc32421ed9d375e7c48d518/polyharmonics-0.2.0.tar.gz",
    "platform": null,
    "description": "# Polyharmonics\n\n<div align=\"center\">\n\n![PyPI](https://img.shields.io/pypi/v/polyharmonics)\n[![Python Version](https://img.shields.io/pypi/pyversions/polyharmonics.svg)](https://pypi.org/project/polyharmonics/)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/ComicIvans/polyharmonics/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n\n[![Code style: ruff](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/astral-sh/ruff)\n[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)\n[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/ComicIvans/polyharmonics/blob/main/.pre-commit-config.yaml)\n[![Semantic Versions](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--versions-e10079.svg)](https://github.com/ComicIvans/polyharmonics/releases)\n[![License](https://img.shields.io/github/license/ComicIvans/polyharmonics)](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE)\n![Coverage Report](assets/images/coverage.svg)\n\nOrtogonal Polynomials in the unit sphere.\n\n</div>\n\n## Quick start\n\nConda package manager is recommended. Create a conda environment.\n\n```bash\nconda create -n polyharmonics python==3.10\n```\n\nActivate conda environment\n\n```bash\nconda activate polyharmonics\n```\n\nInstall the package\n\n```bash\npip install polyharmonics\n```\n\nThen you can run the client using the following command:\n\n```bash\npolyharmonics --help\n```\n\nOr with `Poetry`:\n\n```bash\npoetry run polyharmonics --help\n```\n\n### Makefile usage\n\n[`Makefile`](https://github.com/ComicIvans/polyharmonics/blob/main/Makefile) contains a lot of functions for faster development.\n\n<details>\n<summary>Install all dependencies and pre-commit hooks</summary>\n<p>\n\nInstall requirements:\n\n```bash\nmake install\n```\n\nPre-commit hooks coulb be installed after `git init` via\n\n```bash\nmake pre-commit-install\n```\n\n</p>\n</details>\n\n<details>\n<summary>Codestyle and type checks</summary>\n<p>\n\nAutomatic formatting uses `ruff`.\n\n```bash\nmake polish-codestyle\n\n# or use synonym\nmake formatting\n```\n\nCodestyle checks only, without rewriting files:\n\n```bash\nmake check-codestyle\n```\n\n> Note: `check-codestyle` uses `ruff` and `darglint` library\n\n</p>\n</details>\n\n<details>\n<summary>Code security</summary>\n<p>\n\n> If this command is not selected during installation, it cannnot be used.\n\n```bash\nmake check-safety\n```\n\nThis command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.\n\n```bash\nmake check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>Tests with coverage badges</summary>\n<p>\n\nRun `pytest`\n\n```bash\nmake test\n```\n\n</p>\n</details>\n\n<details>\n<summary>All linters</summary>\n<p>\n\nOf course there is a command to run all linters in one:\n\n```bash\nmake lint\n```\n\nthe same as:\n\n```bash\nmake check-codestyle && make test && make check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>Docker</summary>\n<p>\n\n```bash\nmake docker-build\n```\n\nwhich is equivalent to:\n\n```bash\nmake docker-build VERSION=latest\n```\n\nRemove docker image with\n\n```bash\nmake docker-remove\n```\n\nMore information [about docker](https://github.com/Undertone0809/python-package-template/tree/main/%7B%7B%20cookiecutter.project_name%20%7D%7D/docker).\n\n</p>\n</details>\n\n<details>\n<summary>Cleanup</summary>\n<p>\nDelete pycache files\n\n```bash\nmake pycache-remove\n```\n\nRemove package build\n\n```bash\nmake build-remove\n```\n\nDelete .DS_STORE files\n\n```bash\nmake dsstore-remove\n```\n\nRemove .mypycache\n\n```bash\nmake mypycache-remove\n```\n\nOr to remove all above run:\n\n```bash\nmake cleanup\n```\n\n</p>\n</details>\n\n## \ud83d\udcc8 Releases\n\nYou can see the list of available releases on the [GitHub Releases](https://github.com/ComicIvans/polyharmonics/releases) page.\n\nWe follow [Semantic Versions](https://semver.org/) specification.\n\nWe use [`Release Drafter`](https://github.com/marketplace/actions/release-drafter). As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you\u2019re ready. With the categories option, you can categorize pull requests in release notes using labels.\n\n### List of labels and corresponding titles\n\n|               **Label**               |  **Title in Releases**  |\n| :-----------------------------------: | :---------------------: |\n|       `enhancement`, `feature`        |       \ud83d\ude80 Features       |\n| `bug`, `refactoring`, `bugfix`, `fix` | \ud83d\udd27 Fixes & Refactoring  |\n|       `build`, `ci`, `testing`        | \ud83d\udce6 Build System & CI/CD |\n|              `breaking`               |   \ud83d\udca5 Breaking Changes   |\n|            `documentation`            |    \ud83d\udcdd Documentation     |\n|            `dependencies`             | \u2b06\ufe0f Dependencies updates |\n\nYou can update it in [`release-drafter.yml`](https://github.com/ComicIvans/polyharmonics/blob/main/.github/release-drafter.yml).\n\nGitHub creates the `bug`, `enhancement`, and `documentation` labels for you. Dependabot creates the `dependencies` label. Create the remaining labels on the Issues tab of your GitHub repository, when you need them.\n\n## \ud83d\udee1 License\n\n[![License](https://img.shields.io/github/license/ComicIvans/polyharmonics)](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE)\n\nThis project uses the `BSD-3-Clause` license. See [LICENSE](https://github.com/ComicIvans/polyharmonics/blob/main/LICENSE) for more details.\n\n## \ud83d\udcc3 Citation\n\n```bibtex\n@misc{polyharmonics,\n  author = {Iv\u00e1n Salido Cobo},\n  title = {Ortogonal Polynomials in the unit sphere.},\n  year = {2024},\n  publisher = {GitHub},\n  journal = {GitHub repository},\n  howpublished = {\\url{https://github.com/ComicIvans/polyharmonics}}\n}\n```\n\n## Credits [![\ud83d\ude80 Your next Python package needs a bleeding-edge project structure.](https://img.shields.io/badge/python--package--template-%F0%9F%9A%80-brightgreen)](https://github.com/Undertone0809/python-package-template)\n\nThis project was generated with [`python-package-template`](https://github.com/Undertone0809/python-package-template)\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Ortogonal polynomials in the unit sphere",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/ComicIvans/polyharmonics",
        "Repository": "https://github.com/ComicIvans/polyharmonics"
    },
    "split_keywords": [
        "python",
        " polynomials",
        " unit sphere",
        " orthogonal polynomials",
        " mathematics",
        " math",
        " legendre polynomials",
        " associated legendre functions",
        " spherical harmonics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b225b70958acc017206f6a32f5232346ae9b44d979b55e14374a37cc9f1a729",
                "md5": "6b47d0b8bc7a1e1da7fdfe3d9daeeb37",
                "sha256": "3c6756d305f77cd4963b2bea056f7084ae9f7f3e3ffcbd04470345c024c85c1f"
            },
            "downloads": -1,
            "filename": "polyharmonics-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6b47d0b8bc7a1e1da7fdfe3d9daeeb37",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 17747,
            "upload_time": "2024-05-06T13:44:03",
            "upload_time_iso_8601": "2024-05-06T13:44:03.967865Z",
            "url": "https://files.pythonhosted.org/packages/5b/22/5b70958acc017206f6a32f5232346ae9b44d979b55e14374a37cc9f1a729/polyharmonics-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b191c094c1d914e2d15a4c93d2845e4de5fe56ef7dc32421ed9d375e7c48d518",
                "md5": "808e7146a224ccdb93bd7f6056c0ab62",
                "sha256": "cc7d502883b2a3f99f9c437b284c575be29832f58669fb3dad23f93b9127d91b"
            },
            "downloads": -1,
            "filename": "polyharmonics-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "808e7146a224ccdb93bd7f6056c0ab62",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 15066,
            "upload_time": "2024-05-06T13:44:05",
            "upload_time_iso_8601": "2024-05-06T13:44:05.819472Z",
            "url": "https://files.pythonhosted.org/packages/b1/91/c094c1d914e2d15a4c93d2845e4de5fe56ef7dc32421ed9d375e7c48d518/polyharmonics-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-06 13:44:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ComicIvans",
    "github_project": "polyharmonics",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "polyharmonics"
}
        
Elapsed time: 0.24778s