polyharmonics

Ortogonal polynomials in the unit sphere


Keywords
python, polynomials, unit, sphere, orthogonal, mathematics, math, legendre, associated, functions, spherical, harmonics
License
BSD-3-Clause
Install
pip install polyharmonics==0.8.1

Documentation

Polyharmonics

PyPI Python Version Dependencies Status

Code style: ruff Security: bandit Pre-commit Semantic Versions License Coverage Report

Ortogonal Polynomials in the unit sphere.

Quick start

Conda package manager is recommended. Create a conda environment.

conda create -n polyharmonics python==3.10

Activate conda environment

conda activate polyharmonics

Install the package

pip install polyharmonics

Then you can run the client using the following command:

polyharmonics --help

Or with Poetry:

poetry run polyharmonics --help

Makefile usage

Makefile contains a lot of functions for faster development.

Install all dependencies and pre-commit hooks

Install requirements:

make install

Pre-commit hooks coulb be installed after git init via

make pre-commit-install

Codestyle and type checks

Automatic formatting uses ruff.

make polish-codestyle

# or use synonym
make formatting

Codestyle checks only, without rewriting files:

make check-codestyle

Note: check-codestyle uses ruff and darglint library

Tests with coverage badges

Run pytest

make test

All linters

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

make lint

the same as:

make check-codestyle && make test && make check-safety

Cleanup

Delete pycache files

make pycache-remove

Remove package build

make build-remove

Delete .DS_STORE files

make dsstore-remove

Remove .mypycache

make mypycache-remove

Or to remove all above run:

make cleanup

๐Ÿ“ˆ Releases

You can see the list of available releases on the GitHub Releases page.

We follow Semantic Versions specification.

We use 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.

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

This project uses the BSD-3-Clause license. See LICENSE for more details.

๐Ÿ“ƒ Citation

@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.

This project was generated with python-package-template