uarray 0.8.8__tar.gz → 0.9.2__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.
Files changed (85) hide show
  1. uarray-0.9.2/.gitattributes +3 -0
  2. uarray-0.9.2/.github/dependabot.yml +13 -0
  3. {uarray-0.8.8 → uarray-0.9.2}/.github/workflows/build.yaml +63 -32
  4. {uarray-0.8.8 → uarray-0.9.2}/.gitignore +5 -1
  5. uarray-0.9.2/PKG-INFO +88 -0
  6. {uarray-0.8.8 → uarray-0.9.2}/docs/conf.py +1 -1
  7. uarray-0.9.2/pixi.lock +867 -0
  8. uarray-0.9.2/pyproject.toml +108 -0
  9. {uarray-0.8.8 → uarray-0.9.2}/requirements/docs.txt +0 -1
  10. uarray-0.9.2/requirements/tests.txt +4 -0
  11. uarray-0.9.2/setup.cfg +4 -0
  12. uarray-0.9.2/setup.py +3 -0
  13. uarray-0.9.2/src/CMakeLists.txt +14 -0
  14. {uarray-0.8.8/uarray → uarray-0.9.2/src}/_uarray_dispatch.cxx +60 -35
  15. {uarray-0.8.8/uarray → uarray-0.9.2/src}/small_dynamic_array.h +1 -1
  16. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/__init__.py +2 -0
  17. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/_backend.py +141 -44
  18. uarray-0.9.2/src/uarray/_typing.pyi +65 -0
  19. uarray-0.9.2/src/uarray/_uarray.pyi +131 -0
  20. uarray-0.9.2/src/uarray/_version.py +16 -0
  21. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/conftest.py +0 -10
  22. uarray-0.9.2/src/uarray/tests/__init__.py +0 -0
  23. uarray-0.9.2/src/uarray.egg-info/PKG-INFO +88 -0
  24. {uarray-0.8.8 → uarray-0.9.2/src}/uarray.egg-info/SOURCES.txt +24 -22
  25. uarray-0.9.2/src/uarray.egg-info/requires.txt +17 -0
  26. {uarray-0.8.8/uarray → uarray-0.9.2/src}/vectorcall.h +5 -2
  27. uarray-0.8.8/.gitattributes +0 -1
  28. uarray-0.8.8/MANIFEST.in +0 -6
  29. uarray-0.8.8/PKG-INFO +0 -53
  30. uarray-0.8.8/doc8.ini +0 -3
  31. uarray-0.8.8/pyproject.toml +0 -13
  32. uarray-0.8.8/requirements/tests.txt +0 -4
  33. uarray-0.8.8/setup.cfg +0 -15
  34. uarray-0.8.8/setup.py +0 -102
  35. uarray-0.8.8/uarray/_version.py +0 -6
  36. uarray-0.8.8/uarray.egg-info/PKG-INFO +0 -53
  37. uarray-0.8.8/uarray.egg-info/not-zip-safe +0 -1
  38. uarray-0.8.8/uarray.egg-info/requires.txt +0 -26
  39. {uarray-0.8.8 → uarray-0.9.2}/.clang-format +0 -0
  40. {uarray-0.8.8 → uarray-0.9.2}/CODE_OF_CONDUCT.md +0 -0
  41. {uarray-0.8.8 → uarray-0.9.2}/CONTRIBUTING.md +0 -0
  42. {uarray-0.8.8 → uarray-0.9.2}/LICENSE +0 -0
  43. {uarray-0.8.8 → uarray-0.9.2}/README.md +0 -0
  44. {uarray-0.8.8 → uarray-0.9.2}/docs/_templates/autosummary/base.rst +0 -0
  45. {uarray-0.8.8 → uarray-0.9.2}/docs/_templates/autosummary/class.rst +0 -0
  46. {uarray-0.8.8 → uarray-0.9.2}/docs/_templates/autosummary/module.rst +0 -0
  47. {uarray-0.8.8 → uarray-0.9.2}/docs/enduser_docs.rst +0 -0
  48. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.BackendNotImplementedError.rst +0 -0
  49. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.Dispatchable.__init__.rst +0 -0
  50. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.Dispatchable.rst +0 -0
  51. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.all_of_type.rst +0 -0
  52. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.clear_backends.rst +0 -0
  53. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.create_multimethod.rst +0 -0
  54. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.generate_multimethod.rst +0 -0
  55. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.get_state.rst +0 -0
  56. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.mark_as.rst +0 -0
  57. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.register_backend.rst +0 -0
  58. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.reset_state.rst +0 -0
  59. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.rst +0 -0
  60. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.set_backend.rst +0 -0
  61. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.set_global_backend.rst +0 -0
  62. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.set_state.rst +0 -0
  63. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.skip_backend.rst +0 -0
  64. {uarray-0.8.8 → uarray-0.9.2}/docs/generated/uarray.wrap_single_convertor.rst +0 -0
  65. {uarray-0.8.8 → uarray-0.9.2}/docs/glossary.rst +0 -0
  66. {uarray-0.8.8 → uarray-0.9.2}/docs/gsoc/2020/ideas.rst +0 -0
  67. {uarray-0.8.8 → uarray-0.9.2}/docs/index.rst +0 -0
  68. {uarray-0.8.8 → uarray-0.9.2}/docs/libauthor_docs.rst +0 -0
  69. {uarray-0.8.8 → uarray-0.9.2}/docs/logo.png +0 -0
  70. {uarray-0.8.8 → uarray-0.9.2}/docs/multimethod_docs.rst +0 -0
  71. {uarray-0.8.8 → uarray-0.9.2}/notebooks/01_user_facing.ipynb +0 -0
  72. {uarray-0.8.8 → uarray-0.9.2}/notebooks/02_basic_dev_tutorial.ipynb +0 -0
  73. {uarray-0.8.8 → uarray-0.9.2}/notebooks/fruit-puzzle.jpg +0 -0
  74. {uarray-0.8.8 → uarray-0.9.2}/readthedocs.yml +0 -0
  75. {uarray-0.8.8 → uarray-0.9.2}/requirements/all.txt +0 -0
  76. {uarray-0.8.8 → uarray-0.9.2}/requirements/optional.txt +0 -0
  77. {uarray-0.8.8 → uarray-0.9.2}/requirements.txt +0 -0
  78. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/.coveragerc +0 -0
  79. /uarray-0.8.8/uarray/tests/__init__.py → /uarray-0.9.2/src/uarray/py.typed +0 -0
  80. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/pytest.ini +0 -0
  81. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/tests/example_helpers.py +0 -0
  82. {uarray-0.8.8 → uarray-0.9.2/src}/uarray/tests/test_uarray.py +0 -0
  83. {uarray-0.8.8 → uarray-0.9.2/src}/uarray.egg-info/dependency_links.txt +0 -0
  84. {uarray-0.8.8 → uarray-0.9.2/src}/uarray.egg-info/top_level.txt +0 -0
  85. {uarray-0.8.8/uarray → uarray-0.9.2/src}/vectorcall.cxx +0 -0
@@ -0,0 +1,3 @@
1
+ uarray/_version.py export-subst
2
+ # GitHub syntax highlighting
3
+ pixi.lock linguist-language=YAML linguist-generated=true
@@ -0,0 +1,13 @@
1
+ # Set update schedule for GitHub Actions
2
+ # This opens a PR when actions in workflows need an update
3
+
4
+ version: 2
5
+ updates:
6
+ - package-ecosystem: "github-actions"
7
+ directory: "/"
8
+ schedule:
9
+ # Check for updates to GitHub Actions every week
10
+ interval: "weekly"
11
+ commit-message:
12
+ prefix: "skip changelog" # So this PR will not be added to release-drafter
13
+ include: "scope" # List of the updated dependencies in the commit will be added
@@ -23,90 +23,121 @@ jobs:
23
23
  os: [ubuntu-latest, windows-latest, macos-latest]
24
24
 
25
25
  steps:
26
- - uses: actions/checkout@v2
26
+ - uses: actions/checkout@v4
27
+ with:
28
+ fetch-depth: 0
27
29
 
28
30
  - name: Build wheels
29
- uses: pypa/cibuildwheel@v2.2.2
30
- env:
31
- CIBW_TEST_COMMAND: "pip install -r {project}/requirements/tests.txt && pytest --pyargs uarray"
32
- # Update according to NEP-29
33
- CIBW_BUILD: "{cp3{8..10}-*,pp37-*}"
34
- CIBW_ARCHS_MACOS: x86_64 universal2
35
-
36
- - uses: actions/upload-artifact@v2
31
+ uses: pypa/cibuildwheel@v2.22.0
32
+ - uses: actions/upload-artifact@v4
37
33
  with:
38
- name: Wheels
34
+ name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
39
35
  path: ./wheelhouse/*.whl
36
+
37
+ make_sdist:
38
+ name: Make SDist
39
+ runs-on: ubuntu-latest
40
+ steps:
41
+ - uses: actions/checkout@v4
42
+ with:
43
+ fetch-depth: 0
44
+
45
+ - name: Build SDist
46
+ run: pipx run build --sdist
47
+
48
+ - uses: actions/upload-artifact@v4
49
+ with:
50
+ name: cibw-sdist
51
+ path: dist/*.tar.gz
40
52
 
53
+ upload_all:
54
+ needs: [build_wheels, make_sdist]
55
+ permissions:
56
+ id-token: write
57
+ runs-on: ubuntu-latest
58
+ if: github.ref_type == 'tag'
59
+ steps:
60
+ - uses: actions/download-artifact@v4
61
+ with:
62
+ pattern: cibw-*
63
+ path: dist
64
+ merge-multiple: true
65
+
66
+ - uses: pypa/gh-action-pypi-publish@release/v1
67
+
41
68
  doc_lint_cov:
42
69
  name: Documentation, Linting and Coverage
43
70
  runs-on: ubuntu-latest
44
71
  steps:
45
- - uses: actions/checkout@v2
46
- - uses: actions/setup-python@v2
72
+ - uses: actions/checkout@v4
73
+ with:
74
+ fetch-depth: 0
75
+ - uses: actions/setup-python@v5
47
76
  with:
48
77
  # Update according to NEP-29
49
- python-version: '3.8'
78
+ python-version: '3.10'
50
79
  cache: 'pip'
51
80
  - name: Install package
52
81
  run: |
53
- pip install -ve .[all]
82
+ pip install -v .[all]
54
83
  - name: Build documentation
55
84
  run: |
56
85
  sphinx-build -W -b html docs/ _build/html
57
- - name: Lint documentation
58
- run: |
59
- doc8
60
86
  - name: Upload documentation
61
- uses: actions/upload-artifact@v2
87
+ uses: actions/upload-artifact@v4
62
88
  with:
63
89
  name: Documentation
64
90
  path: _build/html
65
91
  - name: Code style and tests
66
92
  run: |
67
93
  pytest --pyargs uarray
94
+ - name: mypy
95
+ run: |
96
+ mypy src/uarray
68
97
  - name: Run clang-format style check for C/C++ code.
69
- uses: jidicula/clang-format-action@v4.3.1
98
+ uses: jidicula/clang-format-action@v4.13.0
70
99
  with:
71
- clang-format-version: '13'
72
- check-path: 'uarray'
100
+ clang-format-version: '19'
101
+ check-path: 'src'
73
102
  - name: Upload coverage to Codecov
74
- uses: codecov/codecov-action@v2
103
+ uses: codecov/codecov-action@v4
75
104
  with:
76
105
  directory: 'coverage/coverage*.xml'
77
106
  env_vars: OS,PYTHON
78
107
  fail_ci_if_error: false
79
108
  verbose: true
80
-
109
+
81
110
  pypy3:
82
111
  name: Tests for PyPy3
83
112
  runs-on: ubuntu-latest
84
113
  steps:
85
- - uses: actions/checkout@v2
86
- - uses: actions/setup-python@v2
114
+ - uses: actions/checkout@v4
115
+ with:
116
+ fetch-depth: 0
117
+ - uses: actions/setup-python@v5
87
118
  with:
88
- python-version: 'pypy-3.7-v7.x'
119
+ python-version: 'pypy-3.10'
89
120
  cache: 'pip'
90
121
  - name: Install package
91
122
  run: |
92
- pip install -ve .[tests]
123
+ pip install -v .[tests]
93
124
  - name: Run tests
94
125
  run: |
95
126
  pytest --pyargs uarray
96
-
127
+
97
128
  scipy_fft:
98
129
  name: Run SciPy FFT tests
99
130
  runs-on: ubuntu-latest
100
131
  steps:
101
- - uses: actions/checkout@v2
102
- - uses: actions/setup-python@v2
132
+ - uses: actions/checkout@v4
133
+ - uses: actions/setup-python@v5
103
134
  with:
104
135
  # Update according to NEP-29
105
- python-version: '3.8'
136
+ python-version: '3.10'
106
137
  cache: 'pip'
107
138
  - name: Install package
108
139
  run: |
109
- pip install -ve .[tests]
140
+ pip install -v .[tests] pytest"<7"
110
141
  pip install scipy==1.7.2
111
142
  - name: SciPy tests
112
143
  run: |
@@ -23,4 +23,8 @@ sandbox.py
23
23
  *.so
24
24
  build/
25
25
  default.profraw
26
- uarray/_version.py
26
+ src/uarray/_version.py
27
+ *.pyd
28
+ # pixi environments
29
+ .pixi
30
+ *.egg-info
uarray-0.9.2/PKG-INFO ADDED
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.2
2
+ Name: uarray
3
+ Version: 0.9.2
4
+ Summary: Array interface object for Python with pluggable backends and a multiple-dispatch mechanism for defining down-stream functions
5
+ Maintainer-email: Hameer Abbasi <habbasi@quansight.com>
6
+ License: BSD 3-Clause License
7
+
8
+ Copyright (c) 2018, Quansight-Labs
9
+ All rights reserved.
10
+
11
+ Redistribution and use in source and binary forms, with or without
12
+ modification, are permitted provided that the following conditions are met:
13
+
14
+ * Redistributions of source code must retain the above copyright notice, this
15
+ list of conditions and the following disclaimer.
16
+
17
+ * Redistributions in binary form must reproduce the above copyright notice,
18
+ this list of conditions and the following disclaimer in the documentation
19
+ and/or other materials provided with the distribution.
20
+
21
+ * Neither the name of the copyright holder nor the names of its
22
+ contributors may be used to endorse or promote products derived from
23
+ this software without specific prior written permission.
24
+
25
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
28
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
29
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
33
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
+
36
+ Project-URL: Documentation, https://uarray.org/
37
+ Project-URL: Source, https://github.com/Quansight-Labs/uarray/
38
+ Project-URL: Repository, https://github.com/Quansight-Labs/uarray.git
39
+ Project-URL: Issue Tracker, https://github.com/Quansight-Labs/uarray/issues
40
+ Keywords: uarray,scipy,multiple-dispatch
41
+ Classifier: Development Status :: 2 - Pre-Alpha
42
+ Classifier: Operating System :: OS Independent
43
+ Classifier: License :: OSI Approved :: BSD License
44
+ Classifier: Programming Language :: Python
45
+ Classifier: Programming Language :: Python :: 3
46
+ Classifier: Programming Language :: Python :: 3.10
47
+ Classifier: Programming Language :: Python :: 3.11
48
+ Classifier: Programming Language :: Python :: 3.12
49
+ Classifier: Programming Language :: Python :: 3.13
50
+ Classifier: Programming Language :: Python :: 3 :: Only
51
+ Classifier: Intended Audience :: Developers
52
+ Classifier: Intended Audience :: Science/Research
53
+ Classifier: Typing :: Typed
54
+ Requires-Python: >=3.10
55
+ Description-Content-Type: text/markdown
56
+ License-File: LICENSE
57
+ Provides-Extra: docs
58
+ Requires-Dist: sphinx; extra == "docs"
59
+ Requires-Dist: sphinx_rtd_theme; extra == "docs"
60
+ Provides-Extra: tests
61
+ Requires-Dist: pytest>=3.5; extra == "tests"
62
+ Requires-Dist: pytest-flake8; extra == "tests"
63
+ Requires-Dist: pytest-cov; extra == "tests"
64
+ Requires-Dist: mypy>=0.930; extra == "tests"
65
+ Provides-Extra: optional
66
+ Provides-Extra: all
67
+ Requires-Dist: uarray[docs]; extra == "all"
68
+ Requires-Dist: uarray[tests]; extra == "all"
69
+ Requires-Dist: uarray[optional]; extra == "all"
70
+
71
+ # `uarray` - A back-end mechanism geared towards array computing
72
+
73
+ [![Join the chat at https://gitter.im/Plures/uarray](https://badges.gitter.im/Plures/uarray.svg)](https://gitter.im/Plures/uarray?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
74
+ [![Build Status](https://github.com/Quansight-Labs/uarray/actions/workflows/build.yaml/badge.svg)](https://github.com/Quansight-Labs/uarray/actions)
75
+ [![PyPI](https://img.shields.io/pypi/v/uarray.svg?style=flat-square)](https://pypi.org/project/uarray/)
76
+
77
+ <img src="docs/logo.png" style="width: 20em; text-align: center;" alt="uarray logo">
78
+
79
+ - [Documentation](https://uarray.org)
80
+ - [Road Map](https://github.com/orgs/Quansight-Labs/projects/1)
81
+ - [Future Meetings](https://calendar.google.com/calendar/embed?src=quansight.com_cg7sf4usbcn18gdhdb3l2c6v1g%40group.calendar.google.com&ctz=America%2FNew_York)
82
+ - [Meeting Notes](https://github.com/Quansight-Labs/uarray/wiki/Meeting-Notes)
83
+ - [References](https://github.com/Quansight-Labs/uarray/wiki/References)
84
+ - [Papers](https://paperpile.com/shared/fHftX5)
85
+
86
+ ## Contributing
87
+
88
+ See [`CONTRIBUTING.md`](CONTRIBUTING.md) for more information on how to contribute to `uarray`.
@@ -82,7 +82,7 @@ master_doc = "index"
82
82
  #
83
83
  # This is also used if you do content translation via gettext catalogs.
84
84
  # Usually you set "language" from the command line for these cases.
85
- language = None
85
+ language = 'en'
86
86
 
87
87
  # List of patterns, relative to source directory, that match files and
88
88
  # directories to ignore when looking for source files.