-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
96 lines (84 loc) · 3.13 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[build-system]
build-backend = 'mesonpy'
requires = ['meson-python', 'numpy', 'pythran', 'pybind11']
# 'pythran-openblas'
# 'nanobind'
[project]
name = 'scikit-primate'
version = '0.5.6'
description = 'Package for implicit matrix function, trace, and diagonal estimation.'
readme = 'README.md'
requires-python = '>=3.8'
authors = [{ name = 'Matt Piekenbrock', email = '[email protected]' }]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"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"
]
dependencies = [
"numpy",
"scipy"
]
license = {file = "LICENSE"}
[project.optional-dependencies]
test = ["pytest", "pytest-cov", "pytest-benchmark", "coverage >= 7.2.0"] # "bokeh"
doc = ["quartodoc"]
dev = ['meson-python', 'pybind11', 'numpy']
[tool.meson-python.args]
setup = []
compile = ['-j6']
install = [] # '--tags=runtime,python-runtime'
[tool.mypy]
allow_redefinition = true
disable_error_code = ['import-untyped', 'no-redef']
[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-rA"
testpaths = ["tests"]
norecursedirs = ["docs", "*.egg-info", ".git", "build", "dist"]
[tool.coverage.report]
omit = [
"*/**/__init__.py",
"*/**/fttr.py",
"*/**/tqli.py",
"*/**/plotting.py",
]
exclude_also = [
"def __repr__",
"def _.*"
]
## NOTE: https://github.com/pypi/warehouse/blob/8060bfa3cb00c7f68bb4b10021b5361e92a04017/warehouse/forklift/legacy.py#L70-L72
## PyPI limits file sizes to 100 MB and project sizes to 10 GB
[tool.cibuildwheel]
before-all = "python -m pip install --upgrade pip cibuildwheel"
test-requires = ["pytest", "pytest-cov", "pytest-benchmark"] # coverage-badg, # "bokeh"
test-command = "python -m pytest {package}/tests/ --cov={package} --benchmark-skip"
build-verbosity = 1
skip = "cp36-* pp* cp37-* *_ppc64le *_i686 *_s390x *-musllinux*" # todo: revisit musllinux
# manylinux-x86_64-image = "manylinux_2_28" # prefer the newer one
manylinux-x86_64-image = "manylinux2014"
[tool.cibuildwheel.linux]
# before-build = "bash {project}/tools/cibw_linux.sh {project}"
environment = { CC="gcc", CXX="g++" } # for manylinux2014
# environment = { CC="clang", CXX="clang++" } # for manylinux_2_28
# before-build = ["ulimit -n 4096", "yum install -y clang", "yum install -y openblas"]
# [tool.cibuildwheel.macos]
# before-build = "bash {project}/tools/cibw_macos.sh"
# environment = { CC="/opt/homebrew/opt/llvm/bin/clang", CXX="/opt/homebrew/opt/llvm/bin/clang++" }
[tool.cibuildwheel.windows]
environment = { CC="clang-cl", CXX="clang-cl" }
before-build = "pip install delvewheel"
repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel}"
# before-build = "bash {project}/tools/cibw_windows.sh"
# environment = { PKG_CONFIG_PATH="C:/opt/64/lib/pkgconfig", CC="clang-cl", CXX="clang-cl"}
[tool.ruff.lint]
ignore = ["E731"]