Skip to content

Commit 5583a03

Browse files
authored
Merge pull request #241 from GeoStat-Framework/202205_build_update
Build: update setuptools config and CI
2 parents ff16ae5 + c79cd08 commit 5583a03

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+121
-268
lines changed

.github/workflows/main.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ jobs:
2121

2222
steps:
2323
- uses: actions/checkout@v2
24+
with:
25+
fetch-depth: '0'
2426

2527
- name: Set up Python 3.8
2628
uses: actions/setup-python@v2
@@ -31,15 +33,15 @@ jobs:
3133
run: |
3234
python -m pip install --upgrade pip
3335
pip install black 'pylint<3' 'isort[colors]<6'
34-
pip install --editable .
36+
pip install -v --editable .
3537
3638
- name: black check
3739
run: |
3840
python -m black --check --diff --color .
3941
4042
- name: pylint check
4143
run: |
42-
python -m pylint gstools/
44+
python -m pylint src/gstools/
4345
4446
- name: isort check
4547
run: |
@@ -66,7 +68,7 @@ jobs:
6668
fetch-depth: '0'
6769

6870
- name: Build wheels
69-
uses: pypa/cibuildwheel@v2.3.1
71+
uses: pypa/cibuildwheel@v2.6.0
7072
env:
7173
CIBW_ARCHS: ${{ matrix.cfg.arch }}
7274
with:
@@ -83,7 +85,7 @@ jobs:
8385
fail-fast: false
8486
matrix:
8587
os: [ubuntu-latest, windows-latest, macos-latest]
86-
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
88+
python-version: ['3.7', '3.8', '3.9', '3.10']
8789

8890
steps:
8991
- uses: actions/checkout@v2
@@ -101,7 +103,7 @@ jobs:
101103
run: |
102104
python -m pip install --upgrade pip
103105
pip install build coveralls>=3.0.0
104-
pip install --editable .[test]
106+
pip install -v --editable .[test]
105107
106108
- name: Run tests
107109
env:

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ info/
112112
*.cpp
113113

114114
# generated version file
115-
gstools/_version.py
115+
src/gstools/_version.py
116116

117117
# generated docs
118118
docs/source/examples/

MANIFEST.in

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
prune *
2-
graft tests
3-
recursive-include gstools *.py *.pyx
4-
recursive-exclude gstools *.c *.cpp
5-
include LICENSE README.md pyproject.toml setup.py setup.cfg
6-
exclude CHANGELOG.md CONTRIBUTING.md AUTHORS.md
7-
global-exclude __pycache__ *.py[cod] .*
1+
prune **
2+
recursive-include tests *.py
3+
recursive-include src/gstools *.py *.pyx
4+
include AUTHORS.md LICENSE README.md pyproject.toml setup.py

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ in memory for immediate 3D plotting in Python.
350350
- [hankel >= 1.0.0](https://github.com/steven-murray/hankel)
351351
- [emcee >= 3.0.0](https://github.com/dfm/emcee)
352352
- [pyevtk >= 1.1.1](https://github.com/pyscience-projects/pyevtk)
353-
- [meshio >= 4.0.0](https://github.com/nschloe/meshio)
353+
- [meshio >= 5.1.0](https://github.com/nschloe/meshio)
354354

355355
### Optional
356356

docs/source/index.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ You can cite the Zenodo code publication of GSTools by:
137137

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

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

142142

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

422422

423423
Optional

pyproject.toml

Lines changed: 89 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,93 @@
11
[build-system]
22
requires = [
3-
"setuptools>=42",
3+
"setuptools>=62",
44
"wheel",
5-
"setuptools_scm[toml]>=3.5",
5+
"setuptools_scm[toml]>=6.4",
66
"oldest-supported-numpy",
77
"Cython>=0.28.3,<3.0",
8+
"extension-helpers",
89
]
910
build-backend = "setuptools.build_meta"
1011

12+
[project]
13+
requires-python = ">=3.7"
14+
name = "gstools"
15+
description = "GSTools: A geostatistical toolbox."
16+
authors = [
17+
{name = "Sebastian Müller", email = "[email protected]"},
18+
{name = "Lennart Schüler", email = "[email protected]"},
19+
]
20+
maintainers = [
21+
{name = "Sebastian Müller", email = "[email protected]"},
22+
{name = "Lennart Schüler", email = "[email protected]"},
23+
]
24+
readme = "README.md"
25+
license = {file = "LICENSE"}
26+
dynamic = ["version"]
27+
classifiers = [
28+
"Development Status :: 5 - Production/Stable",
29+
"Intended Audience :: Developers",
30+
"Intended Audience :: End Users/Desktop",
31+
"Intended Audience :: Science/Research",
32+
"Intended Audience :: Education",
33+
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
34+
"Natural Language :: English",
35+
"Operating System :: Unix",
36+
"Operating System :: Microsoft",
37+
"Operating System :: MacOS",
38+
"Programming Language :: Python",
39+
"Programming Language :: Python :: 3",
40+
"Programming Language :: Python :: 3 :: Only",
41+
"Programming Language :: Python :: 3.7",
42+
"Programming Language :: Python :: 3.8",
43+
"Programming Language :: Python :: 3.9",
44+
"Programming Language :: Python :: 3.10",
45+
"Topic :: Scientific/Engineering",
46+
"Topic :: Scientific/Engineering :: GIS",
47+
"Topic :: Scientific/Engineering :: Hydrology",
48+
"Topic :: Scientific/Engineering :: Mathematics",
49+
"Topic :: Scientific/Engineering :: Physics",
50+
"Topic :: Utilities",
51+
]
52+
dependencies = [
53+
"emcee>=3.0.0",
54+
"hankel>=1.0.0",
55+
"meshio>=5.1.0",
56+
"numpy>=1.14.5",
57+
"pyevtk>=1.1.1",
58+
"scipy>=1.1.0",
59+
]
60+
61+
[project.optional-dependencies]
62+
doc = [
63+
"m2r2>=0.2.8",
64+
"matplotlib>=3",
65+
"meshzoo>=0.7",
66+
"numpydoc>=1.1",
67+
"pykrige>=1.5,<2",
68+
"pyvista>=0.29",
69+
"sphinx>=4",
70+
"sphinx-gallery>=0.8",
71+
"sphinx-rtd-theme>=1",
72+
"sphinxcontrib-youtube>=1.1",
73+
]
74+
plotting = [
75+
"matplotlib>=3",
76+
"pyvista>=0.29",
77+
]
78+
rust = ["gstools_core>=0.2.0,<1"]
79+
test = ["pytest-cov>=3"]
80+
81+
[project.urls]
82+
Changelog = "https://github.com/GeoStat-Framework/GSTools/blob/main/CHANGELOG.md"
83+
Conda-Forge = "https://anaconda.org/conda-forge/gstools"
84+
Documentation = "https://gstools.readthedocs.io"
85+
Homepage = "https://geostat-framework.org/#gstools"
86+
Source = "https://github.com/GeoStat-Framework/GSTools"
87+
Tracker = "https://github.com/GeoStat-Framework/GSTools/issues"
88+
1189
[tool.setuptools_scm]
12-
write_to = "gstools/_version.py"
90+
write_to = "src/gstools/_version.py"
1391
write_to_template = "__version__ = '{version}'"
1492
local_scheme = "no-local-version"
1593
fallback_version = "0.0.0.dev0"
@@ -34,8 +112,8 @@ target-version = [
34112
"*docs*",
35113
"*examples*",
36114
"*tests*",
37-
"*/gstools/covmodel/plot.py",
38-
"*/gstools/field/plot.py",
115+
"*/src/gstools/covmodel/plot.py",
116+
"*/src/gstools/field/plot.py",
39117
]
40118

41119
[tool.coverage.report]
@@ -46,12 +124,15 @@ target-version = [
46124
]
47125

48126
[tool.pylint]
49-
[tool.pylint.master]
127+
[tool.pylint.main]
50128
extension-pkg-whitelist = [
51129
"numpy",
52130
"scipy",
53131
]
54132
ignore = "_version.py"
133+
load-plugins = [
134+
"pylint.extensions.no_self_use",
135+
]
55136

56137
[tool.pylint.message_control]
57138
disable = [
@@ -72,8 +153,8 @@ target-version = [
72153
[tool.cibuildwheel]
73154
# Switch to using build
74155
build-frontend = "build"
75-
# Disable building PyPy wheels on all platforms, 32bit for py3.10 and musllinux builds
76-
skip = "pp* cp310-win32 cp310-manylinux_i686 *-musllinux_*"
156+
# Disable building PyPy wheels on all platforms, 32bit for py3.10 and musllinux builds, py3.6
157+
skip = ["cp36-*", "pp*", "cp310-win32", "cp310-manylinux_i686", "*-musllinux_*"]
77158
# Run the package tests using `pytest`
78159
test-extras = "test"
79160
test-command = "pytest -v {package}/tests"

setup.cfg

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)