Skip to content
Merged
16 changes: 7 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,16 @@ jobs:
strategy:
fail-fast: false
matrix:
# macos-13 is an intel runner, macos-latest is apple silicon
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-latest]
# macos-15-intel is an intel runner, macos-latest is apple silicon
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-15-intel, macos-latest]

steps:
- uses: actions/checkout@v4
with:
fetch-depth: "0"

- name: Build wheels
uses: pypa/cibuildwheel@v2.22.0
uses: pypa/cibuildwheel@v3.3.0
with:
output-dir: dist-wheel-${{ matrix.os }}

Expand All @@ -82,19 +82,17 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-13, macos-14]
os: [ubuntu-latest, windows-latest, macos-15-intel, macos-latest]
# https://github.com/scipy/oldest-supported-numpy/blob/main/setup.cfg
ver:
- { py: "3.9", np: "==1.20.0" }
- { py: "3.10", np: "==1.21.6" }
- { py: "3.11", np: "==1.23.2" }
- { py: "3.12", np: "==1.26.2" }
- { py: "3.13", np: "==2.1.0" }
- { py: "3.13", np: ">=2.1.0" }
- { py: "3.14", np: "==2.3.2" }
- { py: "3.14", np: ">=2.3.2" }
exclude:
- os: macos-14
ver: { py: "3.9", np: "==1.20.0" }
- os: macos-14
- os: macos-latest
ver: { py: "3.10", np: "==1.21.6" }
steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 4 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,13 @@ def setup(app):
# latex_show_urls = 'footnote'
# http://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output
latex_elements = {
"preamble": r"""
"preamble": (
r"""
\setcounter{secnumdepth}{1}
\setcounter{tocdepth}{2}
\pagestyle{fancy}
""",
"""
),
"pointsize": "10pt",
"papersize": "a4paper",
"fncychap": "\\usepackage[Glenn]{fncychap}",
Expand Down
26 changes: 11 additions & 15 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,43 +1,42 @@
[build-system]
requires = [
"setuptools>=64",
"setuptools<72.2; implementation_name == 'pypy'", # https://github.com/pypa/distutils/issues/283
"setuptools>=77",
"setuptools_scm>=7",
"numpy>=2.0.0rc1",
"Cython>=3.0.10,<3.1.0",
"numpy>=2",
"Cython>=3",
"extension-helpers>=1",
]
build-backend = "setuptools.build_meta"

[project]
requires-python = ">=3.9"
requires-python = ">=3.10"
name = "gstools_cython"
description = "Cython backend for GSTools."
authors = [
{name = "Sebastian Müller, Lennart Schüler", email = "info@geostat-framework.org"},
]
readme = "README.md"
license = {text = "LGPL-3.0"}
license = "LGPL-3.0-or-later"
license-files = ["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",
Comment thread
MuellerSeb marked this conversation as resolved.
"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.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Hydrology",
Expand All @@ -58,7 +57,7 @@ doc = [
]
test = [
"pytest-cov>=3",
"Cython>=3.0.10,<3.1.0",
"Cython>=3",
]
lint = [
"black>=24",
Expand All @@ -75,9 +74,6 @@ Homepage = "https://geostat-framework.org/#gstools"
Source = "https://github.com/GeoStat-Framework/GSTools-Cython"
Tracker = "https://github.com/GeoStat-Framework/GSTools-Cython/issues"

[tool.setuptools]
license-files = ["LICENSE"]

[tool.setuptools_scm]
write_to = "src/gstools_cython/_version.py"
write_to_template = "__version__ = '{version}'"
Expand All @@ -90,11 +86,11 @@ multi_line_output = 3

[tool.black]
target-version = [
"py39",
"py310",
"py311",
"py312",
"py313",
"py314",
]

[tool.coverage]
Expand Down Expand Up @@ -145,8 +141,8 @@ target-version = [
build-frontend = "build"
# explicitly enable pypy
enable = ["pypy"]
# Disable building py3.6/7/8, pp3.8, 32bit linux
skip = ["cp36-*", "cp37-*", "cp38-*", "pp38-*", "*_i686"]
# Disable building py3.8/9, 32bit linux, and arm64 windows wheels for python 3.10 (no numpy support)
skip = ["cp38-*", "cp39-*", "*_i686", "cp310-win_arm64"]
# Run the package tests using `pytest`
test-extras = "test"
test-command = "pytest -v {package}/tests"
4 changes: 2 additions & 2 deletions src/gstools_cython/variogram.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ def directional(
counts of samples per bin and direciton
"""
if pos.shape[1] != f.shape[1]:
raise ValueError(f'len(pos) = {pos.shape[1]} != len(f) = {f.shape[1])}')
raise ValueError(f'len(pos) = {pos.shape[1]} != len(f) = {f.shape[1]}')

if bin_edges.shape[0] < 2:
raise ValueError('len(bin_edges) too small')
Expand Down Expand Up @@ -359,7 +359,7 @@ def unstructured(
raise ValueError(f'Haversine: dim = {dim} != 2')

if pos.shape[1] != f.shape[1]:
raise ValueError(f'len(pos) = {pos.shape[1]} != len(f) = {f.shape[1])}')
raise ValueError(f'len(pos) = {pos.shape[1]} != len(f) = {f.shape[1]}')

if bin_edges.shape[0] < 2:
raise ValueError('len(bin_edges) too small')
Expand Down