Skip to content

Commit

Permalink
Merge pull request #241 from GeoStat-Framework/202205_build_update
Browse files Browse the repository at this point in the history
Build: update setuptools config and CI
  • Loading branch information
MuellerSeb committed Jun 13, 2022
2 parents ff16ae5 + c79cd08 commit 5583a03
Show file tree
Hide file tree
Showing 50 changed files with 121 additions and 268 deletions.
12 changes: 7 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ jobs:

steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'

- name: Set up Python 3.8
uses: actions/setup-python@v2
Expand All @@ -31,15 +33,15 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install black 'pylint<3' 'isort[colors]<6'
pip install --editable .
pip install -v --editable .
- name: black check
run: |
python -m black --check --diff --color .
- name: pylint check
run: |
python -m pylint gstools/
python -m pylint src/gstools/
- name: isort check
run: |
Expand All @@ -66,7 +68,7 @@ jobs:
fetch-depth: '0'

- name: Build wheels
uses: pypa/cibuildwheel@v2.3.1
uses: pypa/cibuildwheel@v2.6.0
env:
CIBW_ARCHS: ${{ matrix.cfg.arch }}
with:
Expand All @@ -83,7 +85,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
python-version: ['3.7', '3.8', '3.9', '3.10']

steps:
- uses: actions/checkout@v2
Expand All @@ -101,7 +103,7 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install build coveralls>=3.0.0
pip install --editable .[test]
pip install -v --editable .[test]
- name: Run tests
env:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ info/
*.cpp

# generated version file
gstools/_version.py
src/gstools/_version.py

# generated docs
docs/source/examples/
Expand Down
11 changes: 4 additions & 7 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
prune *
graft tests
recursive-include gstools *.py *.pyx
recursive-exclude gstools *.c *.cpp
include LICENSE README.md pyproject.toml setup.py setup.cfg
exclude CHANGELOG.md CONTRIBUTING.md AUTHORS.md
global-exclude __pycache__ *.py[cod] .*
prune **
recursive-include tests *.py
recursive-include src/gstools *.py *.pyx
include AUTHORS.md LICENSE README.md pyproject.toml setup.py
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ in memory for immediate 3D plotting in Python.
- [hankel >= 1.0.0](https://github.com/steven-murray/hankel)
- [emcee >= 3.0.0](https://github.com/dfm/emcee)
- [pyevtk >= 1.1.1](https://github.com/pyscience-projects/pyevtk)
- [meshio >= 4.0.0](https://github.com/nschloe/meshio)
- [meshio >= 5.1.0](https://github.com/nschloe/meshio)

### Optional

Expand Down
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ You can cite the Zenodo code publication of GSTools by:

Sebastian Müller & Lennart Schüler. GeoStat-Framework/GSTools. Zenodo. https://doi.org/10.5281/zenodo.1313628

If you want to cite a specific version, have a look at the `Zenodo site <https://doi.org/10.5281/zenodo.1313628)>`__.
If you want to cite a specific version, have a look at the `Zenodo site <https://doi.org/10.5281/zenodo.1313628>`__.


Tutorials and Examples
Expand Down Expand Up @@ -417,7 +417,7 @@ Requirements
- `hankel >= 1.0.0 <https://github.com/steven-murray/hankel>`_
- `emcee >= 3.0.0 <https://github.com/dfm/emcee>`_
- `pyevtk >= 1.1.1 <https://github.com/pyscience-projects/pyevtk>`_
- `meshio >= 4.0.0 <https://github.com/nschloe/meshio>`_
- `meshio >= 5.1.0 <https://github.com/nschloe/meshio>`_


Optional
Expand Down
97 changes: 89 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,93 @@
[build-system]
requires = [
"setuptools>=42",
"setuptools>=62",
"wheel",
"setuptools_scm[toml]>=3.5",
"setuptools_scm[toml]>=6.4",
"oldest-supported-numpy",
"Cython>=0.28.3,<3.0",
"extension-helpers",
]
build-backend = "setuptools.build_meta"

[project]
requires-python = ">=3.7"
name = "gstools"
description = "GSTools: A geostatistical toolbox."
authors = [
{name = "Sebastian Müller", email = "sebastian@geostat-framework.org"},
{name = "Lennart Schüler", email = "lennart@geostat-framework.org"},
]
maintainers = [
{name = "Sebastian Müller", email = "sebastian@geostat-framework.org"},
{name = "Lennart Schüler", email = "lennart@geostat-framework.org"},
]
readme = "README.md"
license = {file = "LICENSE"}
dynamic = ["version"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Science/Research",
"Intended Audience :: Education",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Natural Language :: English",
"Operating System :: Unix",
"Operating System :: Microsoft",
"Operating System :: MacOS",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Hydrology",
"Topic :: Scientific/Engineering :: Mathematics",
"Topic :: Scientific/Engineering :: Physics",
"Topic :: Utilities",
]
dependencies = [
"emcee>=3.0.0",
"hankel>=1.0.0",
"meshio>=5.1.0",
"numpy>=1.14.5",
"pyevtk>=1.1.1",
"scipy>=1.1.0",
]

[project.optional-dependencies]
doc = [
"m2r2>=0.2.8",
"matplotlib>=3",
"meshzoo>=0.7",
"numpydoc>=1.1",
"pykrige>=1.5,<2",
"pyvista>=0.29",
"sphinx>=4",
"sphinx-gallery>=0.8",
"sphinx-rtd-theme>=1",
"sphinxcontrib-youtube>=1.1",
]
plotting = [
"matplotlib>=3",
"pyvista>=0.29",
]
rust = ["gstools_core>=0.2.0,<1"]
test = ["pytest-cov>=3"]

[project.urls]
Changelog = "https://github.com/GeoStat-Framework/GSTools/blob/main/CHANGELOG.md"
Conda-Forge = "https://anaconda.org/conda-forge/gstools"
Documentation = "https://gstools.readthedocs.io"
Homepage = "https://geostat-framework.org/#gstools"
Source = "https://github.com/GeoStat-Framework/GSTools"
Tracker = "https://github.com/GeoStat-Framework/GSTools/issues"

[tool.setuptools_scm]
write_to = "gstools/_version.py"
write_to = "src/gstools/_version.py"
write_to_template = "__version__ = '{version}'"
local_scheme = "no-local-version"
fallback_version = "0.0.0.dev0"
Expand All @@ -34,8 +112,8 @@ target-version = [
"*docs*",
"*examples*",
"*tests*",
"*/gstools/covmodel/plot.py",
"*/gstools/field/plot.py",
"*/src/gstools/covmodel/plot.py",
"*/src/gstools/field/plot.py",
]

[tool.coverage.report]
Expand All @@ -46,12 +124,15 @@ target-version = [
]

[tool.pylint]
[tool.pylint.master]
[tool.pylint.main]
extension-pkg-whitelist = [
"numpy",
"scipy",
]
ignore = "_version.py"
load-plugins = [
"pylint.extensions.no_self_use",
]

[tool.pylint.message_control]
disable = [
Expand All @@ -72,8 +153,8 @@ target-version = [
[tool.cibuildwheel]
# Switch to using build
build-frontend = "build"
# Disable building PyPy wheels on all platforms, 32bit for py3.10 and musllinux builds
skip = "pp* cp310-win32 cp310-manylinux_i686 *-musllinux_*"
# Disable building PyPy wheels on all platforms, 32bit for py3.10 and musllinux builds, py3.6
skip = ["cp36-*", "pp*", "cp310-win32", "cp310-manylinux_i686", "*-musllinux_*"]
# Run the package tests using `pytest`
test-extras = "test"
test-command = "pytest -v {package}/tests"
Expand Down
82 changes: 0 additions & 82 deletions setup.cfg

This file was deleted.

0 comments on commit 5583a03

Please sign in to comment.