Skip to content

Commit

Permalink
Merge branch 'release-v0.2.0-alpha' into 'main'
Browse files Browse the repository at this point in the history
Release 0.2.0-alpha

See merge request interpol/minterpy!58
  • Loading branch information
Uwe Hernandez Acosta committed Jan 6, 2023
2 parents 75d8976 + 57f00ca commit 7205332
Show file tree
Hide file tree
Showing 48 changed files with 2,462 additions and 5,635 deletions.
86 changes: 86 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml

# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: python:3.8

# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/


stages:
- test
- docs

before_script:
- uname -a
- python --version # For debugging
- cat setup.cfg
- apt-get update -y && apt-get upgrade -y
- pip install --upgrade pip
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate

unittest:
stage: test
script:
- pip install pytest pytest-cov
- pip install -e .
- pytest --junitxml=report.xml -vvv
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'dev'
- if: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == 'main'
artifacts:
when: always
reports:
junit: report.xml

coverage:
stage: test
script:
- pip install pytest pytest-cov
- pip install -e .
- export NUMBA_DISABLE_JIT=1
- pytest --junitxml=report.xml tests --cov-report xml --cov=src -vvv
coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/'
only:
- main
- dev
artifacts:
when: always
reports:
junit: report.xml

pages:
stage: docs
script:
- apt-get install -y pandoc
- rm -rf public
- mkdir public
- pip install -e .[docs]
- pip install jupyter
- cd docs ; make html
- cd ..
- cp -r docs/build/html/* public/
artifacts:
paths:
- public
only:
- dev
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,29 @@
# Changelog

# Version 0.2.0-alpha
This is the next alpha release of `minterpy`, which adds several new functionalities and enhances code quality and performance.

## new features
* partial derivatives for canonical and Newton polynomials
* support of arbitrary positive `lp_degree`
* ordinary regression based on multivariate polynomials as the first extra feature

## maintenance
* bug fixes
* adding API documentation
* improvement of user documentations
* clean-up: deletion of code/comments, which are no longer used
* introduction of a corporate design including logo and banner to docs, repository, README etc.


This code is still marked as experimental and there is no issuance, that neither everything works as expected, nor if further releases will break the current API.


# Version 0.1.0-alpha
This is the initial alpha release of `minterpy`. It contains general structures to perform the polynomial interpolation task in multiple dimensions:
* Multivariate polynomial bases (ABC + concrete implementations)
* Base transformations
* Interpolation schemes

This code is still highly experimental and there is no issuance, that neither everything works as expected, nor if further releases will break the current API.

46 changes: 13 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
![](./docs/assets/Wordmark-color.png)

[![Code style: black][black-badge]][black-link]
# minterpy

<figure class="quote">
<blockquote>
to minterpy *sth.* (transitive verb) -- to produce a multivariate polynomial representation of *sth.* .
</blockquote>
<figcaption>
&mdash; The minterpy developers in <cite>["Lifting the curse of dimensionality"](link-to-math-intro)</cite>
&mdash; The minterpy developers in <cite>["Lifting the curse of dimensionality"](https://interpol.pages.hzdr.de/minterpy/fundamentals/introduction.html)</cite>
</figcaption>
</figure>

Expand Down Expand Up @@ -38,7 +41,7 @@ to a broad field of computational challenges, including but not limited to:

Since this implementation is a prototype,
we currently only provide the installation by self-building from source.
We recommend to use `git` to get the `minterpy` source:
We recommend to using `git` to get the `minterpy` source:

```bash
git clone https://gitlab.hzdr.de/interpol/minterpy.git
Expand Down Expand Up @@ -114,7 +117,7 @@ the number of dimensions (`spatial_dimension`),
and the degree of the underlying polynomial (`poly_degree`).

You may adjust this parameter in order to get higher accuracy.
For the example above, a degree of 64 produces an interpolant which reproduces
For the example above, a degree of 64 produces an interpolant that reproduces
the `test_function` almost up to machine precision:

```python
Expand All @@ -127,9 +130,10 @@ the `test_function` almost up to machine precision:
plt.legend()
plt.show()
```
<img src="./docs/assets/images/test-function1D.png" alt="Compare test function with its interpolant" width="400"/>

![Compare test function with its interpolant](docs/assets/test_function1D.png)
For a more comprehensive examples, see the [getting started guides](link-to-tutorials)

For more comprehensive examples, see the [getting started guides](https://interpol.pages.hzdr.de/minterpy/getting-started/index.html)
section of the ``minterpy`` docs.

## Testing
Expand All @@ -148,7 +152,7 @@ from within the `minterpy` source directory.
## Contributing to `minterpy`

Contributions to the `minterpy` packages are highly welcome.
We recommend you to have a look at the [CONTRIBUTING.md](./CONTRIBUTING.md) first.
We recommend you have a look at the [CONTRIBUTING.md](./CONTRIBUTING.md) first.
For a more comprehensive contribution guide visit
the [Contributors section](link-to-developer-section) of the documentation.

Expand All @@ -168,6 +172,7 @@ namely
- Uwe Hernandez Acosta ([HZDR]/[CASUS]) ([email protected])
- Sachin Krishnan Thekke Veettil ([HZDR]/[CASUS]) ([email protected])
- Damar Wicaksono ([HZDR]/[CASUS]) ([email protected])
- Janina Schreiber ([HZDR]/[CASUS]) ([email protected])

### Mathematical foundation

Expand All @@ -193,13 +198,10 @@ namely

This package would not be possible without many contributions done
from the community as well.
For that we want to send big thanks to:
For that, we want to send big thanks to:

- the guy who will show me how to include a list of contributors on github/gitlab

## Citing

:construction: Add here the informations how to cite ``minterpy``.

## License

Expand All @@ -223,30 +225,8 @@ For that we want to send big thanks to:
[MPI-CBG]: https://www.mpi-cbg.de
[CSBD]: https://www.csbdresden.de

## :construction: :construction: Useful badges:

[![Actions Status][actions-badge]][actions-link]
[![Documentation Status][rtd-badge]][rtd-link]
[![Code style: black][black-badge]][black-link]

[![PyPI version][pypi-version]][pypi-link]
[![Conda-Forge][conda-badge]][conda-link]
[![PyPI platforms][pypi-platforms]][pypi-link]


[black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
[black-link]: https://github.com/psf/black
[conda-badge]: https://img.shields.io/conda/vn/conda-forge/minterpy
[conda-link]: https://github.com/conda-forge/minterpy-feedstock
[pypi-link]: https://pypi.org/project/minterpy/
[pypi-platforms]: https://img.shields.io/pypi/pyversions/minterpy
[pypi-version]: https://badge.fury.io/py/minterpy.svg
[rtd-badge]: https://readthedocs.org/projects/minterpy/badge/?version=latest
[rtd-link]: https://minterpy.readthedocs.io/en/latest/?badge=latest

## :construction: :construction: Todos
- insert missing links
- add sponsor logos (CASUS, HZDR, CSBD?, MPI-CBG?)
- write shorter installation section
- write more comprehensive quickstart (maybe higher dimensionality)
- discuss the License we want to use

Binary file added docs/assets/Wordmark-color.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 7205332

Please sign in to comment.