Skip to content

Commit

Permalink
Merge pull request #287 from MuellerSeb/refactor_setup
Browse files Browse the repository at this point in the history
Refactor setup and modernize package structure as well as CI
  • Loading branch information
thouska authored Jul 15, 2022
2 parents 4dea9ce + 4e0becb commit 21862a0
Show file tree
Hide file tree
Showing 169 changed files with 9,526 additions and 7,061 deletions.
11 changes: 0 additions & 11 deletions .coveragerc

This file was deleted.

115 changes: 115 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: Continuous Integration

on:
push:
branches:
- "master"
tags:
- "*"
pull_request:
branches:
- "master"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

env:
# needed by coveralls
GITHUB_TOKEN: ${{ secrets.COVERALLS_TOKEN }}

jobs:
source_check:
name: source check
runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v2

- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install black 'isort[colors]<6'
pip install --editable .
- name: black check
run: |
python -m black --check --diff --color .
- name: isort check
run: |
python -m isort --check --diff --color .
build_sdist:
name: sdist on ${{ matrix.os }} with py ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.7', '3.8', '3.9', '3.10']

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 build coveralls>=3.0.0
pip install --editable .[test]
- name: Run tests
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python -m pytest --cov spotpy --cov-report term-missing -v tests/
python -m coveralls --service=github
- name: Build sdist
run: |
python -m build
- uses: actions/upload-artifact@v2
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.9'
with:
path: dist

upload_to_pypi:
needs: [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 master
if: github.ref == 'refs/heads/master'
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_TEST_TOKEN }}
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@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
39 changes: 0 additions & 39 deletions .github/workflows/python-app.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/python-publish.yml

This file was deleted.

16 changes: 11 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ __pycache__/
#other files
*.out
*.png
*.csv
test_DDS.csv
./*.csv
site/*
#mkdocs.yml

Expand All @@ -32,6 +33,9 @@ wheels/
.installed.cfg
*.egg

# generated version file
src/spotpy/_version.py

# Python Unittest tool `py.test`
.pytest_cache/*

Expand Down Expand Up @@ -98,6 +102,8 @@ ENV/
.spyderproject
# PyCharm
.idea/
# VSCode
.vscode/

# Rope project settings
.ropeproject
Expand All @@ -108,12 +114,12 @@ ENV/
.settings/

# hymod example
spotpy/examples/hymod/*
src/spotpy/examples/hymod/*

# Test Cases
spotpy/hymod/testHymod/*
spotpy/hymod/RunsWithNewHymod/*
spotpy/hymod/likelihood_test/*
src/spotpy/hymod/testHymod/*
src/spotpy/hymod/RunsWithNewHymod/*
src/spotpy/hymod/likelihood_test/*

# a doc folder for some notices
_doc
Expand Down
59 changes: 0 additions & 59 deletions .travis.yml

This file was deleted.

8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ There are 4 main ways of contributing to the SPOTPY project (in descending order

* Adding new or improved functionality to the existing codebase
* Fixing outstanding issues (bugs) with the existing codebase. They range from low-level software bugs to higher-level design problems.
* Contributing or improving the documentation (`docs`) or examples (`spotpy/examples`)
* Contributing or improving the documentation (`docs`) or examples (`src/spotpy/examples`)
* Submitting issues related to bugs or desired enhancements

# Opening issues
Expand Down Expand Up @@ -76,7 +76,7 @@ We recommended that your contribution complies with the following guidelines bef

* Please prefix the title of incomplete contributions with `[WIP]` (to indicate a work in progress). WIPs may be useful to (1) indicate you are working on something to avoid duplicated work, (2) request broad review of functionality or API, or (3) seek collaborators.

* When adding additional functionality, you may want to provide at least one example script in the ``spotpy/examples/`` folder. Have a look at other examples for reference. Examples should demonstrate why the new functionality is useful in practice and, if possible, compare it to other methods available in SPOTPY.
* When adding additional functionality, you may want to provide at least one example script in the ``src/spotpy/examples/`` folder. Have a look at other examples for reference. Examples should demonstrate why the new functionality is useful in practice and, if possible, compare it to other methods available in SPOTPY.

You can also check for common programming errors with the following
tools:
Expand Down Expand Up @@ -111,7 +111,7 @@ tools:

## Style guide

Follow [TensorFlow's style guide](https://www.tensorflow.org/versions/master/how_tos/style_guide.html) or the [Google style guide](https://google.github.io/styleguide/pyguide.html) for writing code, which more or less follows PEP 8.
Try to make sure to follow the [Black style guide](https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html) and [isort](https://pypi.org/project/isort/) for code submissions.


#### This guide was derived from the [scikit-learn guide to contributing](https://github.com/scikit-learn/scikit-learn/blob/master/CONTRIBUTING.md)
#### This guide was derived from the [scikit-learn guide to contributing](https://github.com/scikit-learn/scikit-learn/blob/master/CONTRIBUTING.md) and adopted to SPOTPY.
15 changes: 6 additions & 9 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
include README.md
include MANIFEST.in
include setup.py
include setup.cfg
recursive-include spotpy/examples/cmf_data *
recursive-include spotpy/examples/hymod_exe *
recursive-include spotpy/examples/hymod_unix *
recursive-include spotpy/examples/hymod_python *
include LICENSE
prune **
graft src/spotpy
graft tests
graft tutorials
include LICENSE README.md pyproject.toml setup.py
global-exclude __pycache__ *.py[co]
Loading

0 comments on commit 21862a0

Please sign in to comment.