Skip to content

Commit 220bad0

Browse files
committed
update setup
1 parent e78f674 commit 220bad0

File tree

2 files changed

+26
-14
lines changed

2 files changed

+26
-14
lines changed

pyproject.toml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[build-system]
22
requires = [
33
"setuptools>=64",
4+
"setuptools<72.2; implementation_name == 'pypy'", # https://github.com/pypa/distutils/issues/283
45
"setuptools_scm>=7",
5-
"numpy>=2.0.0rc1,<2.3; python_version >= '3.9'",
6-
"oldest-supported-numpy; python_version < '3.9'",
6+
"numpy>=2.0.0rc1",
77
"Cython>=3.0.10,<3.1.0",
88
]
99
build-backend = "setuptools.build_meta"
1010

1111
[project]
12-
requires-python = ">=3.8"
12+
requires-python = ">=3.9"
1313
name = "pentapy"
1414
authors = [{name = "Sebastian Müller", email = "[email protected]"}]
1515
readme = "README.md"
@@ -26,11 +26,11 @@ classifiers = [
2626
"Operating System :: Unix",
2727
"Programming Language :: Python",
2828
"Programming Language :: Python :: 3",
29-
"Programming Language :: Python :: 3.8",
3029
"Programming Language :: Python :: 3.9",
3130
"Programming Language :: Python :: 3.10",
3231
"Programming Language :: Python :: 3.11",
3332
"Programming Language :: Python :: 3.12",
33+
"Programming Language :: Python :: 3.13",
3434
"Programming Language :: Python :: 3 :: Only",
3535
"Topic :: Scientific/Engineering",
3636
"Topic :: Utilities",
@@ -45,18 +45,21 @@ all = [
4545
"scikit-umfpack",
4646
]
4747
doc = [
48-
"m2r2>=0.2.8",
48+
"myst_parser",
4949
"scipy>=1.1.0",
5050
"matplotlib>=3",
5151
"perfplot<0.9",
5252
"numpydoc>=1.1",
5353
"sphinx>=7",
5454
"sphinx-gallery>=0.8",
55-
"sphinx-rtd-theme>=2",
55+
"sphinx-rtd-theme>=3",
56+
]
57+
test = [
58+
"pytest-cov>=3",
59+
"Cython>=3.0.10,<3.1.0",
5660
]
57-
test = ["pytest-cov>=3"]
5861
check = [
59-
"black>=24,<25",
62+
"black>=24",
6063
"isort[colors]",
6164
"pylint",
6265
"cython-lint",
@@ -85,11 +88,11 @@ multi_line_output = 3
8588

8689
[tool.black]
8790
target-version = [
88-
"py38",
8991
"py39",
9092
"py310",
9193
"py311",
9294
"py312",
95+
"py313",
9396
]
9497

9598
[tool.cython-lint]
@@ -139,10 +142,10 @@ max-line-length = 120
139142
[tool.cibuildwheel]
140143
# Switch to using build
141144
build-frontend = "build"
142-
# Disable building PyPy wheels on all platforms, 32bit builds, py3.6, py3.7
143-
skip = ["cp36-*", "cp37-*", "pp*", "*-win32", "*-manylinux_i686", "*-musllinux_*"]
145+
# explicitly enable pypy
146+
enable = ["pypy"]
147+
# Disable building py3.6/7/8, pp3.8, 32bit linux
148+
skip = ["cp36-*", "cp37-*", "cp38-*", "pp38-*", "*_i686"]
144149
# Run the package tests using `pytest`
145150
test-extras = "test"
146151
test-command = "pytest -v {package}/tests"
147-
# Skip trying to test arm64 builds on Intel Macs
148-
test-skip = "*-macosx_arm64 *-macosx_universal2:arm64"

setup.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@
1616
)
1717
]
1818

19+
compiler_directives = {}
20+
if int(os.getenv("PENTAPY_CY_DOCS", "0")):
21+
print(f"## pentapy setup: embed signatures for documentation")
22+
compiler_directives["embedsignature"] = True
23+
if int(os.getenv("PENTAPY_CY_COV", "0")):
24+
print(f"## pentapy setup: enable line-trace for coverage")
25+
compiler_directives["linetrace"] = True
26+
27+
options = {"compiler_directives": compiler_directives}
1928
setup(
20-
ext_modules=cythonize(CY_MODULES),
29+
ext_modules=cythonize(CY_MODULES, **options),
2130
package_data={"pentapy": ["*.pxd"]}, # include pxd files
2231
include_package_data=False, # ignore other files
2332
zip_safe=False,

0 commit comments

Comments
 (0)