numpy

Форк
0
/
pyproject.toml 
227 строк · 7.1 Кб
1
[build-system]
2
build-backend = "mesonpy"
3
requires = [
4
    "meson-python>=0.15.0",
5
    "Cython>=3.0.6",  # keep in sync with version check in meson.build
6
]
7

8
[project]
9
name = "numpy"
10
version = "2.2.0.dev0"
11
# TODO: add `license-files` once PEP 639 is accepted (see meson-python#88)
12
license = {file = "LICENSE.txt"}
13

14
description = "Fundamental package for array computing in Python"
15
authors = [{name = "Travis E. Oliphant et al."}]
16
maintainers = [
17
    {name = "NumPy Developers", email="numpy-discussion@python.org"},
18
]
19
requires-python = ">=3.10"
20
readme = "README.md"
21
classifiers = [
22
    'Development Status :: 5 - Production/Stable',
23
    'Intended Audience :: Science/Research',
24
    'Intended Audience :: Developers',
25
    'License :: OSI Approved :: BSD License',
26
    'Programming Language :: C',
27
    'Programming Language :: Python',
28
    'Programming Language :: Python :: 3',
29
    'Programming Language :: Python :: 3.10',
30
    'Programming Language :: Python :: 3.11',
31
    'Programming Language :: Python :: 3.12',
32
    'Programming Language :: Python :: 3 :: Only',
33
    'Programming Language :: Python :: Implementation :: CPython',
34
    'Topic :: Software Development',
35
    'Topic :: Scientific/Engineering',
36
    'Typing :: Typed',
37
    'Operating System :: Microsoft :: Windows',
38
    'Operating System :: POSIX',
39
    'Operating System :: Unix',
40
    'Operating System :: MacOS',
41
]
42

43
[project.scripts]
44
f2py = 'numpy.f2py.f2py2e:main'
45
numpy-config = 'numpy._configtool:main'
46

47
[project.entry-points.array_api]
48
numpy = 'numpy'
49

50
[project.entry-points.pyinstaller40]
51
hook-dirs = 'numpy:_pyinstaller_hooks_dir'
52

53
[project.urls]
54
homepage = "https://numpy.org"
55
documentation = "https://numpy.org/doc/"
56
source = "https://github.com/numpy/numpy"
57
download = "https://pypi.org/project/numpy/#files"
58
tracker = "https://github.com/numpy/numpy/issues"
59
"release notes" = "https://numpy.org/doc/stable/release"
60

61
[tool.towncrier]
62
    single_file = false
63
    filename = "doc/source/release/notes-towncrier.rst"
64
    directory = "doc/release/upcoming_changes/"
65
    issue_format = "`gh-{issue} <https://github.com/numpy/numpy/pull/{issue}>`__"
66
    template = "doc/release/upcoming_changes/template.rst"
67
    underlines = "~="
68
    all_bullets = false
69

70

71
    [[tool.towncrier.type]]
72
        directory = "highlight"
73
        name = "Highlights"
74
        showcontent = true
75

76
    [[tool.towncrier.type]]
77
        directory = "new_function"
78
        name = "New functions"
79
        showcontent = true
80

81
    [[tool.towncrier.type]]
82
        directory = "python_removal"
83
        name = "NumPy 2.0 Python API removals"
84
        showcontent = true
85

86
    [[tool.towncrier.type]]
87
        directory = "deprecation"
88
        name = "Deprecations"
89
        showcontent = true
90

91
    [[tool.towncrier.type]]
92
        directory = "future"
93
        name = "Future Changes"
94
        showcontent = true
95

96
    [[tool.towncrier.type]]
97
        directory = "expired"
98
        name = "Expired deprecations"
99
        showcontent = true
100

101
    [[tool.towncrier.type]]
102
        directory = "compatibility"
103
        name = "Compatibility notes"
104
        showcontent = true
105

106
    [[tool.towncrier.type]]
107
        directory = "c_api"
108
        name = "C API changes"
109
        showcontent = true
110

111
    [[tool.towncrier.type]]
112
        directory = "c_api_removal"
113
        name = "NumPy 2.0 C API removals"
114
        showcontent = true
115

116
    [[tool.towncrier.type]]
117
        directory = "new_feature"
118
        name = "New Features"
119
        showcontent = true
120

121
    [[tool.towncrier.type]]
122
        directory = "improvement"
123
        name = "Improvements"
124
        showcontent = true
125

126
    [[tool.towncrier.type]]
127
        directory = "performance"
128
        name = "Performance improvements and changes"
129
        showcontent = true
130

131
    [[tool.towncrier.type]]
132
        directory = "change"
133
        name = "Changes"
134
        showcontent = true
135

136

137
[tool.cibuildwheel]
138
# Note: the below skip command doesn't do much currently, the platforms to
139
# build wheels for in CI are controlled in `.github/workflows/wheels.yml` and
140
# `tools/ci/cirrus_wheels.yml`.
141
build-frontend = "build"
142
skip = "cp36-* cp37-* cp-38* pp37-* *-manylinux_i686 *_ppc64le *_s390x *_universal2"
143
before-build = "bash {project}/tools/wheels/cibw_before_build.sh {project}"
144
# The build will use openblas64 everywhere, except on arm64 macOS >=14.0 (uses Accelerate)
145
config-settings = "setup-args=-Duse-ilp64=true setup-args=-Dallow-noblas=false build-dir=build"
146
before-test = "pip install -r {project}/requirements/test_requirements.txt"
147
test-command = "bash {project}/tools/wheels/cibw_test_command.sh {project}"
148

149
[tool.cibuildwheel.linux]
150
manylinux-x86_64-image = "manylinux2014"
151
manylinux-aarch64-image = "manylinux2014"
152
musllinux-x86_64-image = "musllinux_1_2"
153

154
[tool.cibuildwheel.pyodide]
155
config-settings = "build-dir=build setup-args=--cross-file=$PWD/tools/ci/emscripten/emscripten.meson.cross setup-args=-Dblas=none setup-args=-Dlapack=none"
156

157
[tool.cibuildwheel.linux.environment]
158
# RUNNER_OS is a GitHub Actions specific env var; define it here so it works on Cirrus CI too
159
RUNNER_OS="Linux"
160
# /project will be the $PWD equivalent inside the docker used to build the wheel
161
PKG_CONFIG_PATH="/project/.openblas"
162
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/project/.openblas/lib"
163

164
[tool.cibuildwheel.macos]
165
# universal2 wheels are not supported (see gh-21233), use `delocate-fuse` if you need them
166
# note that universal2 wheels are not built, they're listed in the tool.cibuildwheel.skip
167
# section
168
# Not clear why the DYLD_LIBRARY_PATH is not passed through from the environment
169
repair-wheel-command = [
170
  "export DYLD_LIBRARY_PATH=$PWD/.openblas/lib",
171
  "echo DYLD_LIBRARY_PATH $DYLD_LIBRARY_PATH",
172
  "delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}",
173
]
174

175
[tool.cibuildwheel.windows]
176
# This does not work, use CIBW_ENVIRONMENT_WINDOWS
177
environment = {PKG_CONFIG_PATH="./.openblas"}
178
config-settings = "setup-args=--vsenv setup-args=-Dallow-noblas=false build-dir=build"
179
repair-wheel-command = "bash -el ./tools/wheels/repair_windows.sh {wheel} {dest_dir}"
180

181
[[tool.cibuildwheel.overrides]]
182
select = "*-win32"
183
config-settings = "setup-args=--vsenv setup-args=-Dallow-noblas=true build-dir=build"
184
repair-wheel-command = ""
185

186
[[tool.cibuildwheel.overrides]]
187
select = "*pyodide*"
188
before-test = "pip install -r {project}/requirements/emscripten_test_requirements.txt"
189
# Pyodide ensures that the wheels are already repaired by auditwheel-emscripten
190
repair-wheel-command = ""
191
test-command = "python -m pytest --pyargs numpy -m 'not slow'"
192

193
[tool.meson-python]
194
meson = 'vendored-meson/meson/meson.py'
195

196
[tool.meson-python.args]
197
install = ['--tags=runtime,python-runtime,tests,devel']
198

199
[tool.spin]
200
package = 'numpy'
201

202
[tool.spin.meson]
203
cli = 'vendored-meson/meson/meson.py'
204

205
[tool.spin.commands]
206
"Build" = [
207
  ".spin/cmds.py:build",
208
  ".spin/cmds.py:test",
209
  ".spin/cmds.py:mypy",
210
  ".spin/cmds.py:config_openblas",
211
  ".spin/cmds.py:lint",
212
]
213
"Environments" = [
214
  "spin.cmds.meson.run",
215
  ".spin/cmds.py:ipython",
216
  ".spin/cmds.py:python",
217
  "spin.cmds.meson.gdb",
218
  "spin.cmds.meson.lldb"
219
]
220
"Documentation" = [
221
  ".spin/cmds.py:docs",
222
  ".spin/cmds.py:changelog",
223
  ".spin/cmds.py:notes",
224
  ".spin/cmds.py:check_docs",
225
  ".spin/cmds.py:check_tutorials",
226
]
227
"Metrics" = [".spin/cmds.py:bench"]
228

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.