array-api-compat 1.14.0__tar.gz → 1.15.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- array_api_compat-1.15.0/.git-blame-ignore-revs +2 -0
- array_api_compat-1.15.0/.gitattributes +2 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/dependabot.yml +2 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests.yml +3 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/dependabot-auto-merge.yml +1 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/docs-build.yml +4 -2
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/docs-deploy.yml +1 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/publish-package.yml +8 -8
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/tests.yml +6 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.gitignore +2 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/CHANGELOG.md +37 -1
- {array_api_compat-1.14.0/array_api_compat.egg-info → array_api_compat-1.15.0}/PKG-INFO +4 -35
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/cupy-xfails.txt +5 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/dask-xfails.txt +5 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/changelog.md +37 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/dev/releasing.md +3 -4
- array_api_compat-1.15.0/meson.build +75 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/numpy-1-22-xfails.txt +5 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/numpy-1-26-xfails.txt +4 -1
- array_api_compat-1.15.0/pixi.lock +2824 -0
- array_api_compat-1.15.0/pixi.toml +65 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/pyproject.toml +32 -20
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/__init__.py +2 -2
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/_helpers.py +22 -4
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/__init__.py +2 -2
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/linalg.py +1 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/array/__init__.py +2 -2
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/__init__.py +2 -3
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/__init__.py +2 -2
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/_aliases.py +27 -5
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/fft.py +10 -10
- array_api_compat-1.15.0/tests/meson.build +17 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_isdtype.py +1 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_no_dependencies.py +3 -3
- array_api_compat-1.15.0/tests/test_numpy.py +19 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_torch.py +27 -1
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/torch-xfails.txt +1 -2
- array_api_compat-1.15.0/vendor_tests/meson.build +11 -0
- {array_api_compat-1.14.0/tests → array_api_compat-1.15.0/vendor_tests}/test_vendoring.py +5 -4
- {array_api_compat-1.14.0/vendor_test → array_api_compat-1.15.0/vendor_tests}/uses_cupy.py +1 -1
- {array_api_compat-1.14.0/vendor_test → array_api_compat-1.15.0/vendor_tests}/uses_dask.py +2 -2
- {array_api_compat-1.14.0/vendor_test → array_api_compat-1.15.0/vendor_tests}/uses_numpy.py +1 -1
- {array_api_compat-1.14.0/vendor_test → array_api_compat-1.15.0/vendor_tests}/uses_torch.py +1 -1
- array_api_compat-1.14.0/PKG-INFO +0 -60
- array_api_compat-1.14.0/array_api_compat.egg-info/SOURCES.txt +0 -103
- array_api_compat-1.14.0/array_api_compat.egg-info/dependency_links.txt +0 -1
- array_api_compat-1.14.0/array_api_compat.egg-info/requires.txt +0 -39
- array_api_compat-1.14.0/array_api_compat.egg-info/top_level.txt +0 -1
- array_api_compat-1.14.0/setup.cfg +0 -4
- array_api_compat-1.14.0/vendor_test/vendored/__init__.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-dask.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-numpy-1-22.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-numpy-1-26.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-numpy-dev.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-numpy-latest.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/array-api-tests-torch.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/.github/workflows/ruff.yml +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/CONTRIBUTING.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/LICENSE +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/README.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/dask-skips.txt +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/Makefile +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/_static/custom.css +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/_static/favicon.png +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/conf.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/dev/implementation-notes.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/dev/index.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/dev/special-considerations.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/dev/tests.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/helper-functions.rst +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/index.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/make.bat +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/docs/supported-array-libraries.md +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/numpy-dev-xfails.txt +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/numpy-skips.txt +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/numpy-xfails.txt +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/_internal.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/__init__.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/_aliases.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/_fft.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/_linalg.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/common/_typing.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/_aliases.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/_info.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/_typing.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/cupy/fft.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/__init__.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/array/_aliases.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/array/_info.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/array/fft.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/dask/array/linalg.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/_aliases.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/_info.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/_typing.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/fft.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/numpy/linalg.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/py.typed +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/_info.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/_typing.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0/src}/array_api_compat/torch/linalg.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/test_cupy.sh +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/__init__.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/_helpers.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_all.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_array_namespace.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_common.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_copies_or_views.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_cupy.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_dask.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/tests/test_jax.py +0 -0
- {array_api_compat-1.14.0 → array_api_compat-1.15.0}/torch-skips.txt +0 -0
- {array_api_compat-1.14.0/vendor_test → array_api_compat-1.15.0/vendor_tests}/__init__.py +0 -0
|
@@ -78,6 +78,9 @@ jobs:
|
|
|
78
78
|
python -m pip install -r ${GITHUB_WORKSPACE}/array-api-tests/requirements.txt
|
|
79
79
|
python -m pip install pytest-xdist
|
|
80
80
|
|
|
81
|
+
- name: Install array-api-compat
|
|
82
|
+
run: python -m pip install ${GITHUB_WORKSPACE}/array-api-compat
|
|
83
|
+
|
|
81
84
|
- name: Dump pip environment
|
|
82
85
|
run: pip freeze
|
|
83
86
|
|
|
@@ -10,13 +10,15 @@ jobs:
|
|
|
10
10
|
- uses: actions/setup-python@v6
|
|
11
11
|
- name: Install Dependencies
|
|
12
12
|
run: |
|
|
13
|
-
python -m pip install
|
|
13
|
+
python -m pip install --upgrade pip
|
|
14
|
+
python -m pip install .
|
|
15
|
+
python -m pip install --group docs
|
|
14
16
|
- name: Build Docs
|
|
15
17
|
run: |
|
|
16
18
|
cd docs
|
|
17
19
|
make html
|
|
18
20
|
- name: Upload Artifact
|
|
19
|
-
uses: actions/upload-artifact@
|
|
21
|
+
uses: actions/upload-artifact@v7
|
|
20
22
|
with:
|
|
21
23
|
name: docs-build
|
|
22
24
|
path: docs/_build/html
|
|
@@ -4,8 +4,8 @@ on:
|
|
|
4
4
|
branches:
|
|
5
5
|
- main
|
|
6
6
|
tags:
|
|
7
|
-
- '
|
|
8
|
-
- '
|
|
7
|
+
- '*.*'
|
|
8
|
+
- '*.*.*'
|
|
9
9
|
pull_request:
|
|
10
10
|
branches:
|
|
11
11
|
- main
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
|
|
42
42
|
- name: Install python-build and twine
|
|
43
43
|
run: |
|
|
44
|
-
python -m pip install --upgrade pip
|
|
44
|
+
python -m pip install --upgrade pip meson-python
|
|
45
45
|
python -m pip install build twine
|
|
46
46
|
python -m pip list
|
|
47
47
|
|
|
@@ -60,7 +60,7 @@ jobs:
|
|
|
60
60
|
run: python -m zipfile --list dist/array_api_compat-*.whl
|
|
61
61
|
|
|
62
62
|
- name: Upload distribution artifact
|
|
63
|
-
uses: actions/upload-artifact@
|
|
63
|
+
uses: actions/upload-artifact@v7
|
|
64
64
|
with:
|
|
65
65
|
name: dist-artifact
|
|
66
66
|
path: dist
|
|
@@ -81,7 +81,7 @@ jobs:
|
|
|
81
81
|
|
|
82
82
|
steps:
|
|
83
83
|
- name: Download distribution artifact
|
|
84
|
-
uses: actions/download-artifact@
|
|
84
|
+
uses: actions/download-artifact@v8
|
|
85
85
|
with:
|
|
86
86
|
name: dist-artifact
|
|
87
87
|
path: dist
|
|
@@ -95,19 +95,19 @@ jobs:
|
|
|
95
95
|
# if: >-
|
|
96
96
|
# (github.event_name == 'push' && startsWith(github.ref, 'refs/tags'))
|
|
97
97
|
# || (github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')
|
|
98
|
-
# uses: pypa/gh-action-pypi-publish@v1.
|
|
98
|
+
# uses: pypa/gh-action-pypi-publish@v1.14.0
|
|
99
99
|
# with:
|
|
100
100
|
# repository-url: https://test.pypi.org/legacy/
|
|
101
101
|
# print-hash: true
|
|
102
102
|
|
|
103
103
|
- name: Publish distribution 📦 to PyPI
|
|
104
104
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
|
|
105
|
-
uses: pypa/gh-action-pypi-publish@v1.
|
|
105
|
+
uses: pypa/gh-action-pypi-publish@v1.14.0
|
|
106
106
|
with:
|
|
107
107
|
print-hash: true
|
|
108
108
|
|
|
109
109
|
- name: Create GitHub Release from a Tag
|
|
110
|
-
uses: softprops/action-gh-release@
|
|
110
|
+
uses: softprops/action-gh-release@v3
|
|
111
111
|
if: startsWith(github.ref, 'refs/tags/')
|
|
112
112
|
with:
|
|
113
113
|
files: dist/*
|
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.15.0 (2026-06-07)
|
|
4
|
+
|
|
5
|
+
### Major changes
|
|
6
|
+
|
|
7
|
+
- `array_namespace` can now be used under `torch.compile`.
|
|
8
|
+
- The build system has changed from `setuptools` to `meson-python`.
|
|
9
|
+
Projects vendoring array-api-compat inside a meson project can now
|
|
10
|
+
rely on the in-tree meson project definition, which exposes the Python
|
|
11
|
+
sources via the `sources` variable. For example:
|
|
12
|
+
```meson
|
|
13
|
+
array_api_compat = subproject('array_api_compat')
|
|
14
|
+
array_api_compat_sources = array_api_compat.get_variable('sources')
|
|
15
|
+
foreach prefix, files : array_api_compat_sources
|
|
16
|
+
py3.install_sources(files, subdir: external_dir / prefix)
|
|
17
|
+
endforeach
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Minor changes
|
|
21
|
+
|
|
22
|
+
- `torch.round` now supports complex input.
|
|
23
|
+
- `torch.arange` now works around missing dtype implementations instead of raising
|
|
24
|
+
an exception.
|
|
25
|
+
|
|
26
|
+
Bug fixes:
|
|
27
|
+
- `np.matrix` instances are no longer considered to be standard array objects.
|
|
28
|
+
- `torch.meshgrid` now correctly handles the case of no input arrays.
|
|
29
|
+
|
|
30
|
+
### Contributors
|
|
31
|
+
|
|
32
|
+
The following users contributed to this release:
|
|
33
|
+
|
|
34
|
+
Lucas Colley,
|
|
35
|
+
Evgeni Burovski,
|
|
36
|
+
Chris Ninham,
|
|
37
|
+
Dimitri Papadopoulos Orfanos.
|
|
38
|
+
|
|
3
39
|
## 1.14.0 (2026-02-26)
|
|
4
40
|
|
|
5
41
|
### Major changes
|
|
@@ -257,7 +293,7 @@ Thomas Li
|
|
|
257
293
|
than setting the conjugation bit, as arrays with the conjugation bit set do
|
|
258
294
|
not support some APIs.
|
|
259
295
|
|
|
260
|
-
- `torch.sign` is now wrapped to support complex numbers and
|
|
296
|
+
- `torch.sign` is now wrapped to support complex numbers and propagate nans
|
|
261
297
|
properly.
|
|
262
298
|
|
|
263
299
|
### Minor Changes
|
|
@@ -1,53 +1,22 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: array-api-compat
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.15.0
|
|
4
4
|
Summary: A wrapper around NumPy and other array libraries to make them compatible with the Array API standard
|
|
5
5
|
Author: Consortium for Python Data API Standards
|
|
6
6
|
License-Expression: MIT
|
|
7
|
-
Project-URL: homepage, https://data-apis.org/array-api-compat/
|
|
8
|
-
Project-URL: repository, https://github.com/data-apis/array-api-compat/
|
|
9
7
|
Classifier: Operating System :: OS Independent
|
|
10
8
|
Classifier: Programming Language :: Python :: 3
|
|
11
9
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
10
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
12
|
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
15
14
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
15
|
Classifier: Typing :: Typed
|
|
16
|
+
Project-URL: homepage, https://data-apis.org/array-api-compat/
|
|
17
|
+
Project-URL: repository, https://github.com/data-apis/array-api-compat/
|
|
17
18
|
Requires-Python: >=3.10
|
|
18
19
|
Description-Content-Type: text/markdown
|
|
19
|
-
License-File: LICENSE
|
|
20
|
-
Provides-Extra: cupy
|
|
21
|
-
Requires-Dist: cupy; extra == "cupy"
|
|
22
|
-
Provides-Extra: dask
|
|
23
|
-
Requires-Dist: dask>=2024.9.0; extra == "dask"
|
|
24
|
-
Provides-Extra: jax
|
|
25
|
-
Requires-Dist: jax; extra == "jax"
|
|
26
|
-
Provides-Extra: numpy
|
|
27
|
-
Requires-Dist: numpy>=1.22; extra == "numpy"
|
|
28
|
-
Provides-Extra: pytorch
|
|
29
|
-
Requires-Dist: torch; extra == "pytorch"
|
|
30
|
-
Provides-Extra: sparse
|
|
31
|
-
Requires-Dist: sparse>=0.15.1; extra == "sparse"
|
|
32
|
-
Provides-Extra: ndonnx
|
|
33
|
-
Requires-Dist: ndonnx; extra == "ndonnx"
|
|
34
|
-
Provides-Extra: docs
|
|
35
|
-
Requires-Dist: furo; extra == "docs"
|
|
36
|
-
Requires-Dist: linkify-it-py; extra == "docs"
|
|
37
|
-
Requires-Dist: myst-parser; extra == "docs"
|
|
38
|
-
Requires-Dist: sphinx; extra == "docs"
|
|
39
|
-
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
40
|
-
Requires-Dist: sphinx-autobuild; extra == "docs"
|
|
41
|
-
Provides-Extra: dev
|
|
42
|
-
Requires-Dist: array-api-strict; extra == "dev"
|
|
43
|
-
Requires-Dist: dask[array]>=2024.9.0; extra == "dev"
|
|
44
|
-
Requires-Dist: jax[cpu]; extra == "dev"
|
|
45
|
-
Requires-Dist: ndonnx; extra == "dev"
|
|
46
|
-
Requires-Dist: numpy>=1.22; extra == "dev"
|
|
47
|
-
Requires-Dist: pytest; extra == "dev"
|
|
48
|
-
Requires-Dist: torch; extra == "dev"
|
|
49
|
-
Requires-Dist: sparse>=0.15.1; extra == "dev"
|
|
50
|
-
Dynamic: license-file
|
|
51
20
|
|
|
52
21
|
# Array API compatibility library
|
|
53
22
|
|
|
@@ -217,3 +217,8 @@ array_api_tests/test_special_cases.py::test_binary[nextafter(x1_i is +0 and x2_i
|
|
|
217
217
|
|
|
218
218
|
# cupy 13.x follows numpy 1.x w/o weak promotion: result_type(int32, uint8, 1) != result_type(int32, uint8)
|
|
219
219
|
array_api_tests/test_data_type_functions.py::TestResultType::test_with_scalars
|
|
220
|
+
|
|
221
|
+
# CuPy 14 does not support copy= dlpack argument
|
|
222
|
+
array_api_tests/test_dlpack.py::test_dunder_dlpack
|
|
223
|
+
array_api_tests/test_dlpack.py::test_from_dlpack
|
|
224
|
+
|
|
@@ -173,3 +173,8 @@ array_api_tests/test_special_cases.py::test_unary[sqrt(real(x_i) is +infinity an
|
|
|
173
173
|
array_api_tests/test_special_cases.py::test_unary[tanh(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> 1 + 0j]
|
|
174
174
|
array_api_tests/test_special_cases.py::test_unary[expm1((real(x_i) is +0 or real(x_i) == -0) and imag(x_i) is +0) -> 0 + 0j]
|
|
175
175
|
array_api_tests/test_special_cases.py::test_unary[acosh(real(x_i) is +0 and imag(x_i) is NaN) -> NaN \xb1 \u03c0j/2]
|
|
176
|
+
|
|
177
|
+
# no dlpack support
|
|
178
|
+
array_api_tests/test_dlpack.py::test_dlpack_device
|
|
179
|
+
array_api_tests/test_dlpack.py::test_dunder_dlpack
|
|
180
|
+
array_api_tests/test_dlpack.py::test_from_dlpack
|
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.15.0 (2026-06-07)
|
|
4
|
+
|
|
5
|
+
### Major changes
|
|
6
|
+
|
|
7
|
+
- `array_namespace` can now be used under `torch.compile`.
|
|
8
|
+
- The build system has changed from `setuptools` to `meson-python`.
|
|
9
|
+
Projects vendoring array-api-compat inside a meson project can now
|
|
10
|
+
rely on the in-tree meson project definition, which exposes the Python
|
|
11
|
+
sources via the `sources` variable. For example:
|
|
12
|
+
```meson
|
|
13
|
+
array_api_compat = subproject('array_api_compat')
|
|
14
|
+
array_api_compat_sources = array_api_compat.get_variable('sources')
|
|
15
|
+
foreach prefix, files : array_api_compat_sources
|
|
16
|
+
py3.install_sources(files, subdir: external_dir / prefix)
|
|
17
|
+
endforeach
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### Minor changes
|
|
21
|
+
|
|
22
|
+
- `torch.round` now supports complex input.
|
|
23
|
+
- `torch.arange` now works around missing dtype implementations instead of raising
|
|
24
|
+
an exception.
|
|
25
|
+
|
|
26
|
+
Bug fixes:
|
|
27
|
+
- `np.matrix` instances are no longer considered to be standard array objects.
|
|
28
|
+
- `torch.meshgrid` now correctly handles the case of no input arrays.
|
|
29
|
+
|
|
30
|
+
### Contributors
|
|
31
|
+
|
|
32
|
+
The following users contributed to this release:
|
|
33
|
+
|
|
34
|
+
Lucas Colley,
|
|
35
|
+
Evgeni Burovski,
|
|
36
|
+
Chris Ninham,
|
|
37
|
+
Dimitri Papadopoulos Orfanos.
|
|
38
|
+
|
|
3
39
|
## 1.14.0 (2026-02-26)
|
|
4
40
|
|
|
5
41
|
### Major changes
|
|
@@ -257,7 +293,7 @@ Thomas Li
|
|
|
257
293
|
than setting the conjugation bit, as arrays with the conjugation bit set do
|
|
258
294
|
not support some APIs.
|
|
259
295
|
|
|
260
|
-
- `torch.sign` is now wrapped to support complex numbers and
|
|
296
|
+
- `torch.sign` is now wrapped to support complex numbers and propagate nans
|
|
261
297
|
properly.
|
|
262
298
|
|
|
263
299
|
### Minor Changes
|
|
@@ -44,15 +44,14 @@
|
|
|
44
44
|
|
|
45
45
|
- [ ] **Update the version.**
|
|
46
46
|
|
|
47
|
-
You must edit
|
|
47
|
+
You must edit the version in:
|
|
48
48
|
|
|
49
49
|
```
|
|
50
50
|
array_api_compat/__init__.py
|
|
51
|
+
pyproject.toml
|
|
52
|
+
meson.build
|
|
51
53
|
```
|
|
52
54
|
|
|
53
|
-
and update the version (the version is not computed from the tag because
|
|
54
|
-
that would break vendorability).
|
|
55
|
-
|
|
56
55
|
- [ ] **Update the [changelog](../changelog.md).**
|
|
57
56
|
|
|
58
57
|
Edit
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
project(
|
|
2
|
+
'array_api_compat',
|
|
3
|
+
version: '1.15.0',
|
|
4
|
+
license: 'MIT',
|
|
5
|
+
license_files: ['LICENSE']
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
py = import('python').find_installation()
|
|
9
|
+
|
|
10
|
+
sources_raw = {
|
|
11
|
+
'array_api_compat': [
|
|
12
|
+
'src/array_api_compat/__init__.py',
|
|
13
|
+
'src/array_api_compat/_internal.py',
|
|
14
|
+
],
|
|
15
|
+
|
|
16
|
+
'array_api_compat/common': [
|
|
17
|
+
'src/array_api_compat/common/__init__.py',
|
|
18
|
+
'src/array_api_compat/common/_aliases.py',
|
|
19
|
+
'src/array_api_compat/common/_fft.py',
|
|
20
|
+
'src/array_api_compat/common/_helpers.py',
|
|
21
|
+
'src/array_api_compat/common/_linalg.py',
|
|
22
|
+
'src/array_api_compat/common/_typing.py',
|
|
23
|
+
],
|
|
24
|
+
|
|
25
|
+
'array_api_compat/cupy': [
|
|
26
|
+
'src/array_api_compat/cupy/__init__.py',
|
|
27
|
+
'src/array_api_compat/cupy/_aliases.py',
|
|
28
|
+
'src/array_api_compat/cupy/_info.py',
|
|
29
|
+
'src/array_api_compat/cupy/_typing.py',
|
|
30
|
+
'src/array_api_compat/cupy/fft.py',
|
|
31
|
+
'src/array_api_compat/cupy/linalg.py',
|
|
32
|
+
],
|
|
33
|
+
|
|
34
|
+
'array_api_compat/dask': [
|
|
35
|
+
'src/array_api_compat/dask/__init__.py',
|
|
36
|
+
],
|
|
37
|
+
|
|
38
|
+
'array_api_compat/dask/array': [
|
|
39
|
+
'src/array_api_compat/dask/array/__init__.py',
|
|
40
|
+
'src/array_api_compat/dask/array/_aliases.py',
|
|
41
|
+
'src/array_api_compat/dask/array/_info.py',
|
|
42
|
+
'src/array_api_compat/dask/array/fft.py',
|
|
43
|
+
'src/array_api_compat/dask/array/linalg.py',
|
|
44
|
+
],
|
|
45
|
+
|
|
46
|
+
'array_api_compat/numpy': [
|
|
47
|
+
'src/array_api_compat/numpy/__init__.py',
|
|
48
|
+
'src/array_api_compat/numpy/_aliases.py',
|
|
49
|
+
'src/array_api_compat/numpy/_info.py',
|
|
50
|
+
'src/array_api_compat/numpy/_typing.py',
|
|
51
|
+
'src/array_api_compat/numpy/fft.py',
|
|
52
|
+
'src/array_api_compat/numpy/linalg.py',
|
|
53
|
+
],
|
|
54
|
+
|
|
55
|
+
'array_api_compat/torch': [
|
|
56
|
+
'src/array_api_compat/torch/__init__.py',
|
|
57
|
+
'src/array_api_compat/torch/_aliases.py',
|
|
58
|
+
'src/array_api_compat/torch/_info.py',
|
|
59
|
+
'src/array_api_compat/torch/_typing.py',
|
|
60
|
+
'src/array_api_compat/torch/fft.py',
|
|
61
|
+
'src/array_api_compat/torch/linalg.py',
|
|
62
|
+
],
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
sources = {}
|
|
66
|
+
foreach subdir, paths : sources_raw
|
|
67
|
+
sources += { subdir : files(paths) }
|
|
68
|
+
endforeach
|
|
69
|
+
|
|
70
|
+
foreach subdir, files : sources
|
|
71
|
+
py.install_sources(files, subdir: subdir)
|
|
72
|
+
endforeach
|
|
73
|
+
|
|
74
|
+
subdir('tests')
|
|
75
|
+
subdir('vendor_tests')
|
|
@@ -191,3 +191,8 @@ array_api_tests/test_special_cases.py::test_unary[expm1((real(x_i) is +0 or real
|
|
|
191
191
|
array_api_tests/test_special_cases.py::test_unary[sqrt(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> +0 + infinity j]
|
|
192
192
|
array_api_tests/test_special_cases.py::test_unary[acosh(real(x_i) is +0 and imag(x_i) is NaN) -> NaN \xb1 \u03c0j/2]
|
|
193
193
|
array_api_tests/test_special_cases.py::test_unary[tanh(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> 1 + 0j]
|
|
194
|
+
|
|
195
|
+
# no dlpack support
|
|
196
|
+
array_api_tests/test_dlpack.py::test_dlpack_device
|
|
197
|
+
array_api_tests/test_dlpack.py::test_dunder_dlpack
|
|
198
|
+
array_api_tests/test_dlpack.py::test_from_dlpack
|
|
@@ -85,6 +85,9 @@ array_api_tests/test_special_cases.py::test_unary[sqrt(real(x_i) is +infinity an
|
|
|
85
85
|
array_api_tests/test_special_cases.py::test_unary[acosh(real(x_i) is +0 and imag(x_i) is NaN) -> NaN \xb1 \u03c0j/2]
|
|
86
86
|
array_api_tests/test_special_cases.py::test_unary[tanh(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> 1 + 0j]
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
# no dlpack support
|
|
89
|
+
array_api_tests/test_dlpack.py::test_dlpack_device
|
|
90
|
+
array_api_tests/test_dlpack.py::test_dunder_dlpack
|
|
91
|
+
array_api_tests/test_dlpack.py::test_from_dlpack
|
|
89
92
|
|
|
90
93
|
|