From cf9fecc522428ec92c843f486272a5282a935724 Mon Sep 17 00:00:00 2001 From: MuellerSeb Date: Thu, 26 Mar 2020 14:51:52 +0100 Subject: [PATCH 1/4] add logos --- README.md | 4 ++++ docs/source/conf.py | 6 ++++-- docs/source/index.rst | 5 +++++ docs/source/pics/pentapy.ico | Bin 0 -> 4286 bytes docs/source/pics/pentapy.png | Bin 0 -> 59303 bytes docs/source/pics/pentapy_150.png | Bin 0 -> 11802 bytes 6 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 docs/source/pics/pentapy.ico create mode 100644 docs/source/pics/pentapy.png create mode 100644 docs/source/pics/pentapy_150.png diff --git a/README.md b/README.md index 0e2f12b..69bdb13 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ [![Documentation Status](https://readthedocs.org/projects/pentapy/badge/?version=stable)](https://geostat-framework.readthedocs.io/projects/pentapy/en/stable/?badge=stable) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black) +

+pentapy-LOGO +

+ ## Purpose diff --git a/docs/source/conf.py b/docs/source/conf.py index c4b8ab4..e06a03d 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -172,12 +172,14 @@ def setup(app): # Output file base name for HTML help builder. htmlhelp_basename = "pentapydoc" - +# logos for the page +html_logo = "pics/pentapy_150.png" +html_favicon = "pics/pentapy.ico" # -- Options for LaTeX output --------------------------------------------- # latex_engine = 'lualatex' # logo to big -# latex_logo = "pics/gstools_150.png" +latex_logo = "pics/pentapy_150.png" # latex_show_urls = 'footnote' # http://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output diff --git a/docs/source/index.rst b/docs/source/index.rst index 80915e9..e5133b5 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -2,6 +2,11 @@ pentapy Quickstart ================== +.. image:: /pics/pentapy.png + :width: 150px + :align: center + + pentapy is a toolbox to deal with pentadiagonal matrices in Python and solve the corresponding linear equation systems. diff --git a/docs/source/pics/pentapy.ico b/docs/source/pics/pentapy.ico new file mode 100644 index 0000000000000000000000000000000000000000..83a8146066b2dd7ca2ee4451bf4531e12904a5df GIT binary patch literal 4286 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

_)N9u<5aeeIfk#G=lUyYgT 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 literal 0 HcmV?d00001 diff --git a/docs/source/pics/pentapy_150.png b/docs/source/pics/pentapy_150.png new file mode 100644 index 0000000000000000000000000000000000000000..812c221bf2ad6f5d184ffa678c250229dfa82246 GIT binary patch literal 11802 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 literal 0 HcmV?d00001 From 36a74b88a9ee7660d380de5fa6e41c1e5480f3a8 Mon Sep 17 00:00:00 2001 From: MuellerSeb Date: Thu, 18 Feb 2021 14:03:51 +0100 Subject: [PATCH 2/4] CI switch to GH actions; add py39 --- .github/workflows/main.yml | 123 +++++++++++++++++++++++++++++++++++++ .travis.yml | 66 -------------------- 2 files changed, 123 insertions(+), 66 deletions(-) create mode 100644 .github/workflows/main.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..01c68b3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,123 @@ +name: Continuous Integration + +on: + push: + branches: + - "master" + - "develop" + tags: + - "*" + pull_request: + branches: + - "develop" + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +env: + # needed by coveralls + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CIBW_BUILD: "cp35-* cp36-* cp37-* cp38-* cp39-*" + CIBW_BEFORE_BUILD: "pip install numpy==1.17.3 cython>=0.29.14 setuptools" + CIBW_TEST_REQUIRES: "pytest" + CIBW_TEST_COMMAND: "pytest -v {project}/tests" + +jobs: + build_wheels: + name: wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: '0' + + - name: Set up Python + uses: actions\setup-python@v2 + with: + python-version: "3.8" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install cibuildwheel==1.7.0 + - name: Build wheels + run: | + python -m cibuildwheel --output-dir dist + + - uses: actions/upload-artifact@v2 + with: + path: ./dist/*.whl + + build_sdist: + name: sdist on ${{ matrix.os }} with py ${{ matrix.python-version }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + python-version: [3.9] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: '0' + + - name: Set up Python ${{ matrix.python-version }} + uses: actions\setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements_setup.txt + pip install -r requirements.txt + pip install -r requirements_test.txt + pip install coveralls>=3.0.0 + + - name: Build sdist + run: | + python setup.py sdist -d dist + python setup.py build_ext --inplace + + - name: Run tests + run: | + python -m pytest --cov pentapy --cov-report term-missing -v tests/ + python -m coveralls --service=github + + - uses: actions/upload-artifact@v2 + # if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9' + with: + path: dist/*.tar.gz + + upload_to_pypi: + needs: [build_wheels, build_sdist] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + + - name: Publish to Test PyPI + # only if working on develop + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop' + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.test_pypi_password }} + repository_url: https://test.pypi.org/legacy/ + skip_existing: true + + - name: Publish to PyPI + # only if tagged + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.pypi_password }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d95a277..0000000 --- a/.travis.yml +++ /dev/null @@ -1,66 +0,0 @@ -language: python -python: 3.8 - -# setuptools-scm needs all tags in order to obtain a proper version -git: - depth: false - -env: - global: - - TWINE_USERNAME=geostatframework - - CIBW_BEFORE_BUILD="pip install numpy==1.17.3 cython==0.29.14 setuptools" - - CIBW_TEST_REQUIRES=pytest - - CIBW_TEST_COMMAND="pytest -v {project}/tests" - - CIBW_BUILD="cp35-* cp36-* cp37-* cp38-*" - -before_install: - - | - if [[ "$TRAVIS_OS_NAME" = windows ]]; then - choco install python --version 3.8.0 - export PATH="/c/Python38:/c/Python38/Scripts:$PATH" - # make sure it's on PATH as 'python3' - ln -s /c/Python38/python.exe /c/Python38/python3.exe - fi - -install: - - python3 -m pip install cibuildwheel==1.3.0 - -script: - - python3 -m cibuildwheel --output-dir dist - -after_success: - - | - if [[ $TRAVIS_PULL_REQUEST == 'false' ]]; then - python3 -m pip install twine - python3 -m twine upload --verbose --skip-existing --repository-url https://test.pypi.org/legacy/ dist/* - if [[ $TRAVIS_TAG ]]; then python3 -m twine upload --verbose --skip-existing dist/*; fi - fi - -notifications: - email: - recipients: - - info@geostat-framework.org - -jobs: - include: - - name: "sdist and coverage" - services: docker - script: - - python3 -m pip install -U setuptools pytest-cov coveralls - - python3 -m pip install -U numpy==1.17.3 cython==0.29.14 - - python3 -m pip install -r requirements.txt - - python3 setup.py sdist -d dist - - python3 setup.py build_ext --inplace - - python3 -m pytest --cov pentapy --cov-report term-missing -v tests/ - - python3 -m coveralls - - - name: "Linux py35-py38" - services: docker - - - name: "MacOS py35-py38" - os: osx - language: shell - - - name: "Win py35-py38" - os: windows - language: shell From 5df695f491e30a64f8a757b861a4e136de832b3a Mon Sep 17 00:00:00 2001 From: MuellerSeb Date: Thu, 18 Feb 2021 14:07:02 +0100 Subject: [PATCH 3/4] Update README and LICENSE --- LICENSE | 2 +- README.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/LICENSE b/LICENSE index 16a02ab..34c1d90 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2019 Sebastian Mueller +Copyright (c) 2021 Sebastian Mueller Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 69bdb13..145246a 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ [![status](https://joss.theoj.org/papers/57c3bbdd7b7f3068dd1e669ccbcf107c/status.svg)](https://joss.theoj.org/papers/57c3bbdd7b7f3068dd1e669ccbcf107c) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2587158.svg)](https://doi.org/10.5281/zenodo.2587158) [![PyPI version](https://badge.fury.io/py/pentapy.svg)](https://badge.fury.io/py/pentapy) -[![Build Status](https://travis-ci.com/GeoStat-Framework/pentapy.svg?branch=master)](https://travis-ci.com/GeoStat-Framework/pentapy) -[![Coverage Status](https://coveralls.io/repos/github/GeoStat-Framework/pentapy/badge.svg?branch=master)](https://coveralls.io/github/GeoStat-Framework/pentapy?branch=master) -[![Documentation Status](https://readthedocs.org/projects/pentapy/badge/?version=stable)](https://geostat-framework.readthedocs.io/projects/pentapy/en/stable/?badge=stable) +[![Build Status](https://github.com/GeoStat-Framework/pentapy/workflows/Continuous%20Integration/badge.svg?branch=develop)](https://github.com/GeoStat-Framework/pentapy/actions) +[![Coverage Status](https://coveralls.io/repos/github/GeoStat-Framework/pentapy/badge.svg?branch=develop)](https://coveralls.io/github/GeoStat-Framework/pentapy?branch=develop) +[![Documentation Status](https://readthedocs.org/projects/pentapy/badge/?version=latest)](https://geostat-framework.readthedocs.io/projects/pentapy/en/latest/?badge=latest) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)

@@ -61,7 +61,7 @@ presented by [Askar et al. 2015][ref_link]. ## Documentation and Examples -You can find the documentation under [geostat-framework.readthedocs.io][doc_link]. +You can find the documentation under [https://pentapy.readthedocs.org][doc_link]. ### Solving a pentadiagonal linear equation system @@ -127,7 +127,7 @@ You can contact us via . ## License -[MIT][licence_link] © 2019 - 2020 +[MIT][licence_link] © 2019 - 2021 [ref_link]: http://dx.doi.org/10.1155/2015/232456 [pip_link]: https://pypi.org/project/pentapy From 38100050383e11a2539fbc526761c0243bb0d370 Mon Sep 17 00:00:00 2001 From: MuellerSeb Date: Thu, 18 Feb 2021 14:08:19 +0100 Subject: [PATCH 4/4] Update Changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index df61c68..8239cab 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,15 @@ All notable changes to **pentapy** will be documented in this file. +## [1.1.1] - 2021-02 + +### Enhancements +- Python 3.9 support + +### Changes +- GitHub Actions for CI + + ## [1.1.0] - 2020-03-22 ### Enhancements @@ -47,6 +56,7 @@ This is the first release of pentapy, a python toolbox for solving pentadiagonal The solver is implemented in cython, which makes it really fast. +[1.1.1]: https://github.com/GeoStat-Framework/gstools/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/GeoStat-Framework/gstools/compare/v1.0.3...v1.1.0 [1.0.3]: https://github.com/GeoStat-Framework/gstools/compare/v1.0.0...v1.0.3 [1.0.0]: https://github.com/GeoStat-Framework/gstools/compare/v0.1.1...v1.0.0