Skip to content

Commit ae17cf8

Browse files
Merge origin/main into cov_parameters
Resolve conflict in _delegation.py: keep upstream's new broadcast_shapes function alongside the extended cov signature (axis, correction, fweights, aweights) from this branch. Also rename xp_assert_close -> assert_close in the new cov tests to match the public testing-helper refactor on main (array_api_extra.testing).
2 parents 2de1394 + f8b9f87 commit ae17cf8

41 files changed

Lines changed: 13174 additions & 12028 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.all-contributorsrc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,8 @@
233233
"profile": "https://github.com/NeilGirdhar",
234234
"contributions": [
235235
"code",
236-
"test"
236+
"test",
237+
"review"
237238
]
238239
},
239240
{
@@ -319,6 +320,36 @@
319320
"ideas",
320321
"test"
321322
]
323+
},
324+
{
325+
"login": "prady0t",
326+
"name": "Pradyot Ranjan",
327+
"avatar_url": "https://avatars.githubusercontent.com/u/99216956?v=4",
328+
"profile": "https://github.com/prady0t",
329+
"contributions": [
330+
"code",
331+
"doc",
332+
"ideas",
333+
"test"
334+
]
335+
},
336+
{
337+
"login": "lundybernard",
338+
"name": "Lundy Bernard",
339+
"avatar_url": "https://avatars.githubusercontent.com/u/17297695?v=4",
340+
"profile": "https://github.com/lundybernard",
341+
"contributions": [
342+
"review"
343+
]
344+
},
345+
{
346+
"login": "Cyril-36",
347+
"name": "Chaitanya Pudota",
348+
"avatar_url": "https://avatars.githubusercontent.com/u/138621648?v=4",
349+
"profile": "https://github.com/Cyril-36",
350+
"contributions": [
351+
"code"
352+
]
322353
}
323354
]
324355
}

.github/workflows/cd.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ name: CD
33
permissions:
44
contents: read
55

6+
concurrency:
7+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
8+
cancel-in-progress: true
9+
610
on:
711
workflow_dispatch:
812
pull_request:
@@ -15,20 +19,23 @@ on:
1519

1620
jobs:
1721
dist:
18-
runs-on: ubuntu-latest
22+
name: Create dist
23+
runs-on: ubuntu-slim
1924
steps:
2025
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2126
with:
2227
fetch-depth: 0
28+
persist-credentials: false
2329

2430
- uses: hynek/build-and-inspect-python-package@fe0a0fb1925ca263d076ca4f2c13e93a6e92a33e # v2.17.0
2531

2632
publish:
33+
name: Publish
2734
needs: [dist]
2835
environment: pypi
2936
permissions:
30-
id-token: write
31-
attestations: write
37+
id-token: write # for trusted publishing
38+
attestations: write # for trusted publishing
3239
contents: read
3340
runs-on: ubuntu-latest
3441
if: github.event_name == 'release' && github.event.action == 'published'
@@ -44,4 +51,4 @@ jobs:
4451
with:
4552
subject-path: "dist/*"
4653

47-
- uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
54+
- uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0

.github/workflows/ci.yml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,16 @@ env:
2222
jobs:
2323
lint:
2424
name: Lint
25-
runs-on: ubuntu-latest
25+
runs-on: ubuntu-slim
2626
steps:
2727
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
with:
2929
fetch-depth: 0
30+
persist-credentials: false
3031

3132
- uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
3233
with:
33-
pixi-version: v0.62.2
34+
pixi-version: v0.68.0
3435
cache: true
3536
environments: lint
3637

@@ -43,35 +44,53 @@ jobs:
4344
strategy:
4445
fail-fast: false
4546
matrix:
46-
environment:
47-
- tests-py311
48-
- tests-py314
49-
- tests-numpy1
50-
- tests-backends
51-
- tests-backends-py311
52-
- tests-nogil
53-
runs-on: [ubuntu-latest]
47+
include:
48+
- environment: tests-py311
49+
runs-on: ubuntu-latest
50+
- environment: tests-py314
51+
runs-on: ubuntu-slim
52+
- environment: tests-numpy1
53+
runs-on: ubuntu-slim
54+
- environment: tests-nogil
55+
runs-on: ubuntu-slim
56+
- environment: tests-backends
57+
runs-on: ubuntu-latest
58+
- environment: tests-backends-py311
59+
runs-on: ubuntu-latest
60+
- environment: tests-run-deps
61+
runs-on: ubuntu-slim
62+
63+
environment:
64+
name: ci-checks
65+
deployment: false
5466

5567
steps:
5668
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5769
with:
5870
fetch-depth: 0
71+
persist-credentials: false
5972

6073
- uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
6174
with:
62-
pixi-version: v0.62.2
75+
pixi-version: v0.68.0
6376
cache: true
6477
environments: ${{ matrix.environment }}
6578

6679
- name: Test package
6780
# Save some time; also at the moment of writing coverage crashes on python 3.13t
68-
if: ${{ matrix.environment != 'tests-nogil' }}
69-
run: pixi run -e ${{ matrix.environment }} tests-ci
81+
if: ${{ matrix.environment != 'tests-nogil' && matrix.environment != 'tests-run-deps' }}
82+
run: pixi run -e "${TASK_ENV}" tests-ci
83+
env:
84+
TASK_ENV: ${{ matrix.environment }}
7085

7186
- name: Test free-threading
7287
if: ${{ matrix.environment == 'tests-nogil' }}
7388
run: pixi run -e tests-nogil tests --parallel-threads=4
7489

90+
- name: Run dependency tests
91+
if: ${{ matrix.environment == 'tests-run-deps' }}
92+
run: pixi run tests-run-deps-cov
93+
7594
- name: Upload coverage report
7695
if: ${{ matrix.environment != 'tests-nogil' }}
7796
uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0

.github/workflows/docs-build.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

.github/workflows/docs-deploy.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
8+
permissions: {}
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
docs-build:
16+
name: Build
17+
runs-on: ubuntu-slim
18+
19+
permissions:
20+
contents: read
21+
22+
steps:
23+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24+
with:
25+
persist-credentials: false
26+
27+
- uses: prefix-dev/setup-pixi@1b2de7f3351f171c8b4dfeb558c639cb58ed4ec0 # v0.9.5
28+
with:
29+
pixi-version: v0.68.0
30+
cache: true
31+
environments: docs
32+
33+
- name: Build Docs
34+
run: pixi run -e docs docs
35+
36+
- name: Upload Artifact
37+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
38+
with:
39+
name: docs-build
40+
path: docs/build/
41+
42+
docs-deploy:
43+
name: Deploy
44+
if: ${{ github.ref == 'refs/heads/main' }}
45+
needs: docs-build
46+
runs-on: ubuntu-slim
47+
48+
permissions:
49+
contents: write # needed for the deploy step
50+
51+
environment:
52+
name: docs-deploy
53+
54+
steps:
55+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
56+
with:
57+
persist-credentials: false
58+
59+
- name: Download Artifact
60+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
61+
with:
62+
name: docs-build
63+
path: docs/build/
64+
65+
- name: Deploy
66+
uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0
67+
with:
68+
folder: docs/build/
69+
ssh-key: ${{ secrets.DEPLOY_KEY }}

CONTRIBUTORS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ This project exists thanks to the following contributors
3333
<td align="center" valign="top" width="14.28%"><a href="http://www.vanderplas.com/"><img src="https://avatars.githubusercontent.com/u/781659?v=4?s=100" width="100px;" alt="Jake Vanderplas"/><br /><sub><b>Jake Vanderplas</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Ajakevdp" title="Reviewed Pull Requests">👀</a></td>
3434
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KotlinIsland"><img src="https://avatars.githubusercontent.com/u/65446343?v=4?s=100" width="100px;" alt="kotlinisland"/><br /><sub><b>kotlinisland</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Akotlinisland" title="Reviewed Pull Requests">👀</a></td>
3535
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DetachHead"><img src="https://avatars.githubusercontent.com/u/57028336?v=4?s=100" width="100px;" alt="detachhead"/><br /><sub><b>detachhead</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Adetachhead" title="Reviewed Pull Requests">👀</a></td>
36-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NeilGirdhar"><img src="https://avatars.githubusercontent.com/u/730137?v=4?s=100" width="100px;" alt="Neil Girdhar"/><br /><sub><b>Neil Girdhar</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Tests">⚠️</a></td>
36+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NeilGirdhar"><img src="https://avatars.githubusercontent.com/u/730137?v=4?s=100" width="100px;" alt="Neil Girdhar"/><br /><sub><b>Neil Girdhar</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Tests">⚠️</a> <a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3ANeilGirdhar" title="Reviewed Pull Requests">👀</a></td>
3737
</tr>
3838
<tr>
3939
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lithomas1"><img src="https://avatars.githubusercontent.com/u/47963215?v=4?s=100" width="100px;" alt="Thomas Li"/><br /><sub><b>Thomas Li</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/issues?q=author%3Alithomas1" title="Bug reports">🐛</a> <a href="#tool-lithomas1" title="Tools">🔧</a></td>
@@ -46,6 +46,9 @@ This project exists thanks to the following contributors
4646
</tr>
4747
<tr>
4848
<td align="center" valign="top" width="14.28%"><a href="http://steppi.github.io"><img src="https://avatars.githubusercontent.com/u/1953382?v=4?s=100" width="100px;" alt="Albert Steppi"/><br /><sub><b>Albert Steppi</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=steppi" title="Code">💻</a> <a href="#ideas-steppi" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=steppi" title="Tests">⚠️</a></td>
49+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/prady0t"><img src="https://avatars.githubusercontent.com/u/99216956?v=4?s=100" width="100px;" alt="Pradyot Ranjan"/><br /><sub><b>Pradyot Ranjan</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Documentation">📖</a> <a href="#ideas-prady0t" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Tests">⚠️</a></td>
50+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lundybernard"><img src="https://avatars.githubusercontent.com/u/17297695?v=4?s=100" width="100px;" alt="Lundy Bernard"/><br /><sub><b>Lundy Bernard</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Alundybernard" title="Reviewed Pull Requests">👀</a></td>
51+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Cyril-36"><img src="https://avatars.githubusercontent.com/u/138621648?v=4?s=100" width="100px;" alt="Chaitanya Pudota"/><br /><sub><b>Chaitanya Pudota</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=Cyril-36" title="Code">💻</a></td>
4952
</tr>
5053
</tbody>
5154
</table>

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Used by:
3939
- [scikit-learn](https://github.com/scikit-learn/scikit-learn) — Machine
4040
Learning in Python.
4141
- [SysIdentPy](https://github.com/wilsonrljr/sysidentpy) — System Identification Using NARMAX Models.
42+
- [GLASS](https://github.com/glass-dev/glass) — Generator for Large Scale Structure.
4243
- *your library? Let us know!*
4344

4445
## Installation
@@ -89,7 +90,7 @@ This project exists thanks to the following contributors
8990
<td align="center" valign="top" width="14.28%"><a href="http://www.vanderplas.com/"><img src="https://avatars.githubusercontent.com/u/781659?v=4?s=100" width="100px;" alt="Jake Vanderplas"/><br /><sub><b>Jake Vanderplas</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Ajakevdp" title="Reviewed Pull Requests">👀</a></td>
9091
<td align="center" valign="top" width="14.28%"><a href="https://github.com/KotlinIsland"><img src="https://avatars.githubusercontent.com/u/65446343?v=4?s=100" width="100px;" alt="kotlinisland"/><br /><sub><b>kotlinisland</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Akotlinisland" title="Reviewed Pull Requests">👀</a></td>
9192
<td align="center" valign="top" width="14.28%"><a href="https://github.com/DetachHead"><img src="https://avatars.githubusercontent.com/u/57028336?v=4?s=100" width="100px;" alt="detachhead"/><br /><sub><b>detachhead</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Adetachhead" title="Reviewed Pull Requests">👀</a></td>
92-
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NeilGirdhar"><img src="https://avatars.githubusercontent.com/u/730137?v=4?s=100" width="100px;" alt="Neil Girdhar"/><br /><sub><b>Neil Girdhar</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Tests">⚠️</a></td>
93+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NeilGirdhar"><img src="https://avatars.githubusercontent.com/u/730137?v=4?s=100" width="100px;" alt="Neil Girdhar"/><br /><sub><b>Neil Girdhar</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=NeilGirdhar" title="Tests">⚠️</a> <a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3ANeilGirdhar" title="Reviewed Pull Requests">👀</a></td>
9394
</tr>
9495
<tr>
9596
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lithomas1"><img src="https://avatars.githubusercontent.com/u/47963215?v=4?s=100" width="100px;" alt="Thomas Li"/><br /><sub><b>Thomas Li</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/issues?q=author%3Alithomas1" title="Bug reports">🐛</a> <a href="#tool-lithomas1" title="Tools">🔧</a></td>
@@ -102,6 +103,9 @@ This project exists thanks to the following contributors
102103
</tr>
103104
<tr>
104105
<td align="center" valign="top" width="14.28%"><a href="http://steppi.github.io"><img src="https://avatars.githubusercontent.com/u/1953382?v=4?s=100" width="100px;" alt="Albert Steppi"/><br /><sub><b>Albert Steppi</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=steppi" title="Code">💻</a> <a href="#ideas-steppi" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=steppi" title="Tests">⚠️</a></td>
106+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/prady0t"><img src="https://avatars.githubusercontent.com/u/99216956?v=4?s=100" width="100px;" alt="Pradyot Ranjan"/><br /><sub><b>Pradyot Ranjan</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Code">💻</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Documentation">📖</a> <a href="#ideas-prady0t" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/data-apis/array-api-extra/commits?author=prady0t" title="Tests">⚠️</a></td>
107+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lundybernard"><img src="https://avatars.githubusercontent.com/u/17297695?v=4?s=100" width="100px;" alt="Lundy Bernard"/><br /><sub><b>Lundy Bernard</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/pulls?q=is%3Apr+reviewed-by%3Alundybernard" title="Reviewed Pull Requests">👀</a></td>
108+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Cyril-36"><img src="https://avatars.githubusercontent.com/u/138621648?v=4?s=100" width="100px;" alt="Chaitanya Pudota"/><br /><sub><b>Chaitanya Pudota</b></sub></a><br /><a href="https://github.com/data-apis/array-api-extra/commits?author=Cyril-36" title="Code">💻</a></td>
105109
</tr>
106110
</tbody>
107111
</table>

RELEASING.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
1. Update the version in `pyproject.toml`, `meson.build`, and `src/array_api_extra/__init__.py`
2-
2. Update the lockfile with `pixi update; pixi install`
3-
3. Push your changes
4-
4. Cut a release via the GitHub GUI
5-
5. Update the version to `{next micro version}.dev0` in `pyproject.toml`, `meson.build`, and `src/array_api_extra/__init__.py`
6-
6. `pixi lock`
7-
7. Push your changes
8-
8. Merge the automated PR to conda-forge/array-api-extra-feedstock
1+
1. Update the version in `pyproject.toml`, `meson.build`, and `src/array_api_extra/__init__.py`.
2+
2. Update the lockfile with `pixi update`.
3+
3. Push your changes to a PR, fix any CI failures, and merge to `main`.
4+
4. Cut a release via the GitHub GUI.
5+
5. Update the version to `{next micro version}.dev0` in `pyproject.toml`, `meson.build`, and `src/array_api_extra/__init__.py`.
6+
6. `pixi lock`.
7+
7. Push your changes to a PR and merge to `main`.
8+
8. Merge the automated PR to `conda-forge/array-api-extra-feedstock`.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{{ name | escape | underline }}
2+
3+
.. currentmodule:: {{ module }}
4+
5+
.. autoclass:: {{ fullname }}

0 commit comments

Comments
 (0)