forked from cupy/cupy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
157 lines (141 loc) · 5.31 KB
/
pyproject.toml
File metadata and controls
157 lines (141 loc) · 5.31 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
[build-system]
# Need to be installed manually when using `--no-build-isolation`.
# Keep in sync with `docs/source/contribution.rst`.
requires = ["setuptools>=77", "wheel", "Cython>=3,<3.2", "fastrlock>=0.5"]
build-backend = "setuptools.build_meta"
[project]
name = "cupy"
description = "CuPy: NumPy & SciPy for GPU"
authors = [{ name = "Seiya Tokui", email = "tokui@preferred.jp" }]
maintainers = [{ name = "CuPy Developers" }]
license = { text = "MIT" }
# license-files = ["LICENSE", "docs/source/license.rst"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"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 :: Only",
"Programming Language :: Cython",
"Topic :: Software Development",
"Topic :: Scientific/Engineering",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
]
requires-python = ">=3.9"
dependencies = [
"numpy>=1.24,<2.6", # see #4773
"fastrlock>=0.5",
]
dynamic = [
"version",
"readme", # long_description
]
[project.optional-dependencies]
"all" = [
"scipy>=1.10,<1.17", # see #4773
"Cython>=3",
"optuna>=2.0",
]
"test" = ["packaging", "pytest>=7.2", "hypothesis>=6.37.2,<6.55.0", "mpmath"]
[project.urls]
"Homepage" = "https://cupy.dev/"
"Documentation" = "https://docs.cupy.dev/"
"Bug Tracker" = "https://github.com/cupy/cupy/issues"
"Source Code" = "https://github.com/cupy/cupy"
[tool.setuptools]
# Do not include files listed in MANIFEST.in to wheels.
include-package-data = false
[tool.setuptools.packages.find]
include = ["cupy*", "cupyx*", "cupy_backends*"]
[tool.setuptools.dynamic]
version = { attr = "cupy._version.__version__" }
[tool.autopep8]
exclude = "*.git*, *.eggs*, *cupy/array_api*, *tests/cupy_tests/array_api_tests*, *docs/source*"
[tool.autopep8.per-file-ignores]
# ignore long lines containing arrays of numerical constants
"cupyx/scipy/special/_gammainc.py" = ["E501"]
[tool.mypy]
# Keep in sync with the list in .pre-commit-config.yaml
files = ["cupy", "cupyx", "cupy_backends", ".github", ".pfnci"]
ignore_missing_imports = true
disable_error_code = ["attr-defined"]
[tool.pytest.ini_options]
xfail_strict = true
testpaths = "tests"
addopts = "--strict-markers"
markers = ["slow", "multi_gpu"]
filterwarnings = [
"error::FutureWarning",
# ignore FutureWarning from cupy._util.experimental
'ignore:.* is experimental\.:FutureWarning:cupy',
"ignore::UserWarning",
"error::DeprecationWarning",
"error::PendingDeprecationWarning",
"error::cupy.exceptions.VisibleDeprecationWarning",
"error::cupy.exceptions.ComplexWarning",
# distutils (Python 3.10)
"ignore:The distutils(.+) is deprecated:DeprecationWarning",
"ignore:dep_util is Deprecated:DeprecationWarning",
# pkg_resources
"ignore::DeprecationWarning:pkg_resources",
"ignore:pkg_resources is deprecated",
# importing old SciPy is warned because it tries to
# import nose via numpy.testing
'ignore::DeprecationWarning:scipy\._lib\._numpy_compat',
# importing stats from old SciPy is warned because it tries to
# import numpy.testing.decorators
'ignore::DeprecationWarning:scipy\.stats\.morestats',
# Using `scipy.sparse` against NumPy 1.15+ raises warning
# as it uses `np.matrix` which is pending deprecation.
# Also exclude `numpy.matrixlib.defmatrix` as SciPy and our
# test code uses `np.asmatrix`, which internally calls
# `np.matrix`.
'ignore::PendingDeprecationWarning:scipy\.sparse\.\w+',
'ignore::PendingDeprecationWarning:numpy\.matrixlib\.defmatrix',
# pyreadline (dependency from optuna -> cliff -> cmd2) uses deprecated ABCs
"ignore:Using or importing the ABCs from:DeprecationWarning:pyreadline",
# Ignore warnings from Optuna 3.0 internal code
# TODO(kmaehashi): Remove after the issue is fixed in Optuna.
"ignore:(.+?) has been deprecated in v3.0.0:FutureWarning:optuna",
# Ignore warnings from SQLAlchemy on which Optuna depends
'ignore:Deprecated API features detected! These feature\(s\) are not compatible with SQLAlchemy 2\.0\.:DeprecationWarning:optuna',
'ignore:(.+?)SQLAlchemy 2\.0(.+?):DeprecationWarning',
# setuptools 65+
# TODO(kmaehashi): Remove distutils from cupy_builder to remove this
"ignore:Absolute path '(.+?)' is being replaced with a relative path '(.+?)' for outputs:DeprecationWarning:distutils",
]
[tool.coverage.run]
plugins = "Cython.Coverage"
include = ["cupy/*", "cupyx/*", "examples/*"]
[tool.coverage.report]
ecxlude_lines = ["if __name__ == .__main__.:"]
[tool.ruff]
line-length = 79
extend-exclude = [
"cupy/array_api",
"docs/source",
"tests/cupy_tests/array_api_tests",
"third_party",
]
[tool.ruff.lint]
select = ["E", "F", "W", "UP", "I002", "FA", "PYI", "PLC01"]
extend-ignore = [
"UP031", # printf-string-formatting
"UP032", # f-string
]
[tool.ruff.lint.per-file-ignores]
"cupyx/scipy/special/_gammainc.py" = [
"E501", # line-too-long (table of constants)
]
"tests/typing_tests/cupy_tests/creation_tests/test_basic.pyi" = [
"E501", # line-too-long (long comments)
]
[tool.ruff.lint.isort]
required-imports = ["from __future__ import annotations"]