ndonnx 0.4.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.
Files changed (76) hide show
  1. ndonnx-0.4.0/.gitattributes +8 -0
  2. ndonnx-0.4.0/.github/CODEOWNERS +1 -0
  3. ndonnx-0.4.0/.github/dependabot.yml +12 -0
  4. ndonnx-0.4.0/.github/workflows/array-api.yml +45 -0
  5. ndonnx-0.4.0/.github/workflows/build.yml +48 -0
  6. ndonnx-0.4.0/.github/workflows/ci.yml +55 -0
  7. ndonnx-0.4.0/.gitignore +408 -0
  8. ndonnx-0.4.0/.gitmodules +3 -0
  9. ndonnx-0.4.0/.pre-commit-config.yaml +76 -0
  10. ndonnx-0.4.0/.prettierignore +6 -0
  11. ndonnx-0.4.0/.prettierrc +7 -0
  12. ndonnx-0.4.0/.readthedocs.yaml +10 -0
  13. ndonnx-0.4.0/CHANGELOG.rst +15 -0
  14. ndonnx-0.4.0/LICENSE +11 -0
  15. ndonnx-0.4.0/PKG-INFO +127 -0
  16. ndonnx-0.4.0/README.md +107 -0
  17. ndonnx-0.4.0/docs/Makefile +20 -0
  18. ndonnx-0.4.0/docs/_static/classify_iris.png +0 -0
  19. ndonnx-0.4.0/docs/_static/modelhorizontal.png +0 -0
  20. ndonnx-0.4.0/docs/_static/reshape.png +0 -0
  21. ndonnx-0.4.0/docs/api/modules.rst +7 -0
  22. ndonnx-0.4.0/docs/api/ndonnx.additional.rst +10 -0
  23. ndonnx-0.4.0/docs/api/ndonnx.rst +18 -0
  24. ndonnx-0.4.0/docs/changelog.rst +1 -0
  25. ndonnx-0.4.0/docs/conf.py +129 -0
  26. ndonnx-0.4.0/docs/datatypes/datatypes.rst +109 -0
  27. ndonnx-0.4.0/docs/experimental/experimental.rst +159 -0
  28. ndonnx-0.4.0/docs/index.rst +33 -0
  29. ndonnx-0.4.0/docs/inference/inference.rst +89 -0
  30. ndonnx-0.4.0/docs/intros/gettingstarted.rst +136 -0
  31. ndonnx-0.4.0/docs/intros/modelconversion.rst +112 -0
  32. ndonnx-0.4.0/docs/make.bat +35 -0
  33. ndonnx-0.4.0/docs/motivation/motivation.rst +24 -0
  34. ndonnx-0.4.0/docs/spox/spoxintegration.rst +103 -0
  35. ndonnx-0.4.0/ndonnx/__init__.py +327 -0
  36. ndonnx-0.4.0/ndonnx/_array.py +567 -0
  37. ndonnx-0.4.0/ndonnx/_build.py +232 -0
  38. ndonnx-0.4.0/ndonnx/_constants.py +20 -0
  39. ndonnx-0.4.0/ndonnx/_core/__init__.py +7 -0
  40. ndonnx-0.4.0/ndonnx/_core/_impl.py +1009 -0
  41. ndonnx-0.4.0/ndonnx/_core/_interface.py +355 -0
  42. ndonnx-0.4.0/ndonnx/_corearray.py +100 -0
  43. ndonnx-0.4.0/ndonnx/_data_types/__init__.py +146 -0
  44. ndonnx-0.4.0/ndonnx/_data_types/aliases.py +57 -0
  45. ndonnx-0.4.0/ndonnx/_data_types/classes.py +405 -0
  46. ndonnx-0.4.0/ndonnx/_data_types/conversion.py +39 -0
  47. ndonnx-0.4.0/ndonnx/_data_types/coretype.py +82 -0
  48. ndonnx-0.4.0/ndonnx/_data_types/schema.py +11 -0
  49. ndonnx-0.4.0/ndonnx/_data_types/structtype.py +107 -0
  50. ndonnx-0.4.0/ndonnx/_experimental.py +12 -0
  51. ndonnx-0.4.0/ndonnx/_funcs.py +1041 -0
  52. ndonnx-0.4.0/ndonnx/_index.py +64 -0
  53. ndonnx-0.4.0/ndonnx/_opset_extensions.py +754 -0
  54. ndonnx-0.4.0/ndonnx/_propagation.py +209 -0
  55. ndonnx-0.4.0/ndonnx/_utility.py +113 -0
  56. ndonnx-0.4.0/ndonnx/additional/__init__.py +12 -0
  57. ndonnx-0.4.0/ndonnx/additional/_additional.py +146 -0
  58. ndonnx-0.4.0/ndonnx.egg-info/PKG-INFO +127 -0
  59. ndonnx-0.4.0/ndonnx.egg-info/SOURCES.txt +74 -0
  60. ndonnx-0.4.0/ndonnx.egg-info/dependency_links.txt +1 -0
  61. ndonnx-0.4.0/ndonnx.egg-info/requires.txt +3 -0
  62. ndonnx-0.4.0/ndonnx.egg-info/top_level.txt +1 -0
  63. ndonnx-0.4.0/pixi.lock +12903 -0
  64. ndonnx-0.4.0/pixi.toml +76 -0
  65. ndonnx-0.4.0/pyproject.toml +94 -0
  66. ndonnx-0.4.0/setup.cfg +4 -0
  67. ndonnx-0.4.0/skips.txt +106 -0
  68. ndonnx-0.4.0/tests/ndonnx/test_additional.py +115 -0
  69. ndonnx-0.4.0/tests/ndonnx/test_build_utils.py +40 -0
  70. ndonnx-0.4.0/tests/ndonnx/test_compute_modes.py +108 -0
  71. ndonnx-0.4.0/tests/ndonnx/test_constant_propagation.py +239 -0
  72. ndonnx-0.4.0/tests/ndonnx/test_core.py +530 -0
  73. ndonnx-0.4.0/tests/ndonnx/test_dtypes.py +169 -0
  74. ndonnx-0.4.0/tests/ndonnx/test_include.py +13 -0
  75. ndonnx-0.4.0/tests/ndonnx/test_masked.py +203 -0
  76. ndonnx-0.4.0/tests/ndonnx/utils.py +63 -0
@@ -0,0 +1,8 @@
1
+ * text=auto
2
+
3
+ *.{diff,patch} binary
4
+
5
+ *.{py,yaml,yml,sh} text eol=lf
6
+ *.bat text eol=crlf
7
+
8
+ pixi.lock linguist-language=YAML linguist-generated=true
@@ -0,0 +1 @@
1
+ * @adityagoel4512 @cbourjau
@@ -0,0 +1,12 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: github-actions
4
+ directory: /
5
+ schedule:
6
+ interval: monthly
7
+ reviewers:
8
+ - quantco/ci
9
+ groups:
10
+ gh-actions:
11
+ patterns:
12
+ - "*"
@@ -0,0 +1,45 @@
1
+ name: Array API coverage tests
2
+ on:
3
+ push:
4
+ branches:
5
+ - "*"
6
+ schedule:
7
+ - cron: "0 8 * * *"
8
+
9
+ # Automatically stop old builds on the same branch/PR
10
+ concurrency:
11
+ group: ${{ github.workflow }}-${{ github.ref }}
12
+ cancel-in-progress: true
13
+
14
+ jobs:
15
+ array-api-tests:
16
+ # Run if the commit message contains 'run array-api tests' or if the job is triggered on schedule
17
+ if: >-
18
+ contains(github.event.head_commit.message, 'run array-api tests') ||
19
+ github.event_name == 'schedule'
20
+ name: Array API test
21
+ timeout-minutes: 90
22
+ runs-on: ubuntu-latest-8core
23
+ steps:
24
+ - name: Checkout branch
25
+ uses: actions/checkout@v4
26
+ with:
27
+ ref: ${{ github.head_ref }}
28
+ fetch-depth: 0
29
+ submodules: recursive
30
+ - name: Set up pixi
31
+ uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659
32
+ - name: Install repository
33
+ run: pixi run postinstall
34
+ - name: Run Array API tests
35
+ env:
36
+ ARRAY_API_TESTS_MODULE: ndonnx
37
+ run: |
38
+ pushd api-coverage-tests
39
+ pixi run pytest --ci --max-examples 2 array_api_tests/ --json-report --json-report-file=api-coverage-tests.json -n auto -vv --skips-file=../skips.txt
40
+ popd
41
+ - name: Upload Array API tests report
42
+ uses: actions/upload-artifact@v4
43
+ with:
44
+ name: api-coverage-tests
45
+ path: api-coverage-tests/api-coverage-tests.json
@@ -0,0 +1,48 @@
1
+ name: Build
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ tags:
7
+ - "*"
8
+ pull_request:
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ ref: ${{ github.ref }}
17
+ fetch-depth: 0
18
+ - name: Set up pixi
19
+ uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659
20
+ with:
21
+ environments: build
22
+ - name: Build project
23
+ run: pixi run -e build build-wheel
24
+ - name: Upload package
25
+ uses: actions/upload-artifact@v4
26
+ with:
27
+ name: artifact
28
+ path: dist/*
29
+
30
+ release:
31
+ name: Publish package
32
+ if: startsWith(github.ref, 'refs/tags/')
33
+ needs: [build]
34
+ runs-on: ubuntu-latest
35
+ permissions:
36
+ id-token: write
37
+ environment: pypi
38
+ steps:
39
+ - uses: actions/download-artifact@v4
40
+ with:
41
+ name: artifact
42
+ path: dist
43
+ - name: Publish package on TestPyPi
44
+ uses: pypa/gh-action-pypi-publish@81e9d935c883d0b210363ab89cf05f3894778450
45
+ with:
46
+ repository-url: https://test.pypi.org/legacy/
47
+ - name: Publish package on PyPi
48
+ uses: pypa/gh-action-pypi-publish@81e9d935c883d0b210363ab89cf05f3894778450
@@ -0,0 +1,55 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+
8
+ concurrency:
9
+ group: ${{ github.workflow }}-${{ github.ref }}
10
+ cancel-in-progress: true
11
+
12
+ jobs:
13
+ pre-commit-checks:
14
+ name: Pre-commit Checks
15
+ timeout-minutes: 30
16
+ runs-on: ubuntu-latest
17
+ steps:
18
+ - name: Checkout branch
19
+ uses: actions/checkout@v4
20
+ - name: Set up pixi
21
+ uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659
22
+ with:
23
+ environments: default lint
24
+ - name: pre-commit
25
+ run: pixi run pre-commit-run --color=always --show-diff-on-failure
26
+
27
+ unit-tests:
28
+ name: pytest
29
+ timeout-minutes: 30
30
+ runs-on: ${{ matrix.os }}
31
+ strategy:
32
+ fail-fast: false
33
+ matrix:
34
+ os:
35
+ - ubuntu-latest
36
+ - macos-latest
37
+ - windows-latest
38
+ environment:
39
+ - py310
40
+ - py311
41
+ - py312
42
+ steps:
43
+ - name: Checkout branch
44
+ uses: actions/checkout@v4
45
+ with:
46
+ ref: ${{ github.head_ref }}
47
+ fetch-depth: 0
48
+ - name: Set up pixi
49
+ uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659
50
+ with:
51
+ environments: ${{ matrix.environment }}
52
+ - name: Install repository
53
+ run: pixi run -e ${{ matrix.environment }} postinstall
54
+ - name: Run pytest
55
+ run: pixi run -e ${{ matrix.environment }} test-coverage --color=yes
@@ -0,0 +1,408 @@
1
+ # Explicitly unignore hidden files for ripgrep. Individual folders can still
2
+ # be ignored in the blocks below.
3
+ !.*
4
+
5
+ # NOTE: The block below is NOT copied sic from https://www.toptal.com/developers/gitignore.
6
+ # Instead, it contains some customizations that should be taken into account when adjusting the
7
+ # block.
8
+
9
+ # Created by https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
10
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
11
+
12
+ ### direnv ###
13
+ .direnv
14
+ .envrc
15
+
16
+ ### Linux ###
17
+ *~
18
+
19
+ # temporary files which can be created if a process still has a handle open of a deleted file
20
+ .fuse_hidden*
21
+
22
+ # KDE directory preferences
23
+ .directory
24
+
25
+ # Linux trash folder which might appear on any partition or disk
26
+ .Trash-*
27
+
28
+ # .nfs files are created when an open file is removed but is still being accessed
29
+ .nfs*
30
+
31
+ ### macOS ###
32
+ # General
33
+ .DS_Store
34
+ .AppleDouble
35
+ .LSOverride
36
+
37
+ # Icon must end with two \r
38
+ Icon
39
+
40
+
41
+ # Thumbnails
42
+ ._*
43
+
44
+ # Files that might appear in the root of a volume
45
+ .DocumentRevisions-V100
46
+ .fseventsd
47
+ .Spotlight-V100
48
+ .TemporaryItems
49
+ .Trashes
50
+ .VolumeIcon.icns
51
+ .com.apple.timemachine.donotpresent
52
+
53
+ # Directories potentially created on remote AFP share
54
+ .AppleDB
55
+ .AppleDesktop
56
+ Network Trash Folder
57
+ Temporary Items
58
+ .apdisk
59
+
60
+ ### macOS Patch ###
61
+ # iCloud generated files
62
+ *.icloud
63
+
64
+ ### PyCharm+all ###
65
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
66
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
67
+
68
+ # User-specific stuff
69
+ .idea/**/workspace.xml
70
+ .idea/**/tasks.xml
71
+ .idea/**/usage.statistics.xml
72
+ .idea/**/dictionaries
73
+ .idea/**/shelf
74
+
75
+ # AWS User-specific
76
+ .idea/**/aws.xml
77
+
78
+ # Generated files
79
+ .idea/**/contentModel.xml
80
+
81
+ # Sensitive or high-churn files
82
+ .idea/**/dataSources/
83
+ .idea/**/dataSources.ids
84
+ .idea/**/dataSources.local.xml
85
+ .idea/**/sqlDataSources.xml
86
+ .idea/**/dynamic.xml
87
+ .idea/**/uiDesigner.xml
88
+ .idea/**/dbnavigator.xml
89
+
90
+ # Gradle
91
+ .idea/**/gradle.xml
92
+ .idea/**/libraries
93
+
94
+ # Gradle and Maven with auto-import
95
+ # When using Gradle or Maven with auto-import, you should exclude module files,
96
+ # since they will be recreated, and may cause churn. Uncomment if using
97
+ # auto-import.
98
+ # .idea/artifacts
99
+ # .idea/compiler.xml
100
+ # .idea/jarRepositories.xml
101
+ # .idea/modules.xml
102
+ # .idea/*.iml
103
+ # .idea/modules
104
+ # *.iml
105
+ # *.ipr
106
+
107
+ # CMake
108
+ cmake-build-*/
109
+
110
+ # Mongo Explorer plugin
111
+ .idea/**/mongoSettings.xml
112
+
113
+ # File-based project format
114
+ *.iws
115
+
116
+ # IntelliJ
117
+ out/
118
+
119
+ # mpeltonen/sbt-idea plugin
120
+ .idea_modules/
121
+
122
+ # JIRA plugin
123
+ atlassian-ide-plugin.xml
124
+
125
+ # Cursive Clojure plugin
126
+ .idea/replstate.xml
127
+
128
+ # SonarLint plugin
129
+ .idea/sonarlint/
130
+
131
+ # Crashlytics plugin (for Android Studio and IntelliJ)
132
+ com_crashlytics_export_strings.xml
133
+ crashlytics.properties
134
+ crashlytics-build.properties
135
+ fabric.properties
136
+
137
+ # Editor-based Rest Client
138
+ .idea/httpRequests
139
+
140
+ # Android studio 3.1+ serialized cache file
141
+ .idea/caches/build_file_checksums.ser
142
+
143
+ ### PyCharm+all Patch ###
144
+ # Ignore everything but code style settings and run configurations
145
+ # that are supposed to be shared within teams.
146
+
147
+ .idea/*
148
+
149
+ !.idea/codeStyles
150
+ !.idea/runConfigurations
151
+
152
+ ### Python ###
153
+ # Byte-compiled / optimized / DLL files
154
+ __pycache__/
155
+ *.py[cod]
156
+ *$py.class
157
+
158
+ # C extensions
159
+ *.so
160
+
161
+ # Distribution / packaging
162
+ .Python
163
+ build/
164
+ develop-eggs/
165
+ dist/
166
+ downloads/
167
+ eggs/
168
+ .eggs/
169
+ lib/
170
+ lib64/
171
+ parts/
172
+ sdist/
173
+ var/
174
+ wheels/
175
+ share/python-wheels/
176
+ *.egg-info/
177
+ .installed.cfg
178
+ *.egg
179
+ MANIFEST
180
+
181
+ # PyInstaller
182
+ # Usually these files are written by a python script from a template
183
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
184
+ *.manifest
185
+ *.spec
186
+
187
+ # Installer logs
188
+ pip-log.txt
189
+ pip-delete-this-directory.txt
190
+
191
+ # Unit test / coverage reports
192
+ htmlcov/
193
+ .tox/
194
+ .nox/
195
+ .coverage
196
+ .coverage.*
197
+ .cache
198
+ nosetests.xml
199
+ coverage.xml
200
+ *.cover
201
+ *.py,cover
202
+ .hypothesis/
203
+ .pytest_cache/
204
+ cover/
205
+
206
+ # Translations
207
+ *.mo
208
+ *.pot
209
+
210
+ # Django stuff:
211
+ *.log
212
+ local_settings.py
213
+ db.sqlite3
214
+ db.sqlite3-journal
215
+
216
+ # Flask stuff:
217
+ instance/
218
+ .webassets-cache
219
+
220
+ # Scrapy stuff:
221
+ .scrapy
222
+
223
+ # Sphinx documentation
224
+ docs/_build/
225
+
226
+ # PyBuilder
227
+ .pybuilder/
228
+ target/
229
+
230
+ # Jupyter Notebook
231
+ .ipynb_checkpoints
232
+
233
+ # IPython
234
+ profile_default/
235
+ ipython_config.py
236
+
237
+ # pyenv
238
+ # For a library or package, you might want to ignore these files since the code is
239
+ # intended to run in multiple environments; otherwise, check them in:
240
+ # .python-version
241
+
242
+ # pipenv
243
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
244
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
245
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
246
+ # install all needed dependencies.
247
+ #Pipfile.lock
248
+
249
+ # poetry
250
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
251
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
252
+ # commonly ignored for libraries.
253
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
254
+ #poetry.lock
255
+
256
+ # pixi
257
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
258
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
259
+ # commonly ignored for libraries.
260
+ .pixi
261
+ #pixi.lock
262
+
263
+ # pdm
264
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
265
+ #pdm.lock
266
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
267
+ # in version control.
268
+ # https://pdm.fming.dev/#use-with-ide
269
+ .pdm.toml
270
+
271
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
272
+ __pypackages__/
273
+
274
+ # Celery stuff
275
+ celerybeat-schedule
276
+ celerybeat.pid
277
+
278
+ # SageMath parsed files
279
+ *.sage.py
280
+
281
+ # Environments
282
+ .env
283
+ .venv
284
+ env/
285
+ venv/
286
+ ENV/
287
+ env.bak/
288
+ venv.bak/
289
+
290
+ # Spyder project settings
291
+ .spyderproject
292
+ .spyproject
293
+
294
+ # Rope project settings
295
+ .ropeproject
296
+
297
+ # mkdocs documentation
298
+ /site
299
+
300
+ # mypy
301
+ .mypy_cache/
302
+ .dmypy.json
303
+ dmypy.json
304
+
305
+ # Pyre type checker
306
+ .pyre/
307
+
308
+ # pytype static type analyzer
309
+ .pytype/
310
+
311
+ # Cython debug symbols
312
+ cython_debug/
313
+
314
+ # PyCharm
315
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
316
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
317
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
318
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
319
+ .idea/
320
+
321
+ ### Python Patch ###
322
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
323
+ poetry.toml
324
+
325
+ # ruff
326
+ .ruff_cache/
327
+
328
+ # LSP config files
329
+ pyrightconfig.json
330
+
331
+ ### Vim ###
332
+ # Swap
333
+ [._]*.s[a-v][a-z]
334
+ !*.svg # comment out if you don't need vector files
335
+ [._]*.sw[a-p]
336
+ [._]s[a-rt-v][a-z]
337
+ [._]ss[a-gi-z]
338
+ [._]sw[a-p]
339
+
340
+ # Session
341
+ Session.vim
342
+ Sessionx.vim
343
+
344
+ # Temporary
345
+ .netrwhist
346
+ # Auto-generated tag files
347
+ tags
348
+ # Persistent undo
349
+ [._]*.un~
350
+
351
+ ### VisualStudioCode ###
352
+ .vscode/
353
+ #!.vscode/settings.json
354
+ #!.vscode/tasks.json
355
+ #!.vscode/launch.json
356
+ #!.vscode/extensions.json
357
+ #!.vscode/*.code-snippets
358
+
359
+ # Local History for Visual Studio Code
360
+ .history/
361
+
362
+ # Built Visual Studio Code Extensions
363
+ *.vsix
364
+
365
+ ### VisualStudioCode Patch ###
366
+ # Ignore all local history of files
367
+ .history
368
+ .ionide
369
+
370
+ ### Windows ###
371
+ # Windows thumbnail cache files
372
+ Thumbs.db
373
+ Thumbs.db:encryptable
374
+ ehthumbs.db
375
+ ehthumbs_vista.db
376
+
377
+ # Dump file
378
+ *.stackdump
379
+
380
+ # Folder config file
381
+ [Dd]esktop.ini
382
+
383
+ # Recycle Bin used on file shares
384
+ $RECYCLE.BIN/
385
+
386
+ # Windows Installer files
387
+ *.cab
388
+ *.msi
389
+ *.msix
390
+ *.msm
391
+ *.msp
392
+
393
+ # Windows shortcuts
394
+ *.lnk
395
+
396
+ # End of https://www.toptal.com/developers/gitignore/api/linux,macos,direnv,python,windows,pycharm+all,visualstudiocode,vim
397
+
398
+ # rattler-build
399
+ output/
400
+ # setuptools-scm needs `.git/refs/tags`, don't ignore
401
+ !.git/refs/tags
402
+
403
+ # OS-specific
404
+ .DS_Store
405
+
406
+ # Type-generated
407
+ ndonnx/_types.pyi
408
+ ndonnx/__init__.pyi
@@ -0,0 +1,3 @@
1
+ [submodule "array-api-tests"]
2
+ path = api-coverage-tests
3
+ url = git@github.com:data-apis/array-api-tests.git
@@ -0,0 +1,76 @@
1
+ exclude: ^(\.copier-answers\.yml)|.pixi$
2
+ repos:
3
+ - repo: local
4
+ hooks:
5
+ # ensure pixi environments are up to date
6
+ # workaround for https://github.com/prefix-dev/pixi/issues/1482
7
+ - id: pixi-install
8
+ name: pixi-install
9
+ entry: pixi install -e default -e lint
10
+ language: system
11
+ always_run: true
12
+ require_serial: true
13
+ pass_filenames: false
14
+ # insert-license
15
+ - id: insert-license
16
+ name: insert-license
17
+ entry: >-
18
+ pixi run -e lint
19
+ insert-license
20
+ --license-base64 Q29weXJpZ2h0IChjKSBRdWFudENvIDIwMjMtMjAyNApTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCg==
21
+ --dynamic-years
22
+ --comment-style "#"
23
+ language: system
24
+ types: [python]
25
+ # docformatter
26
+ - id: docformatter
27
+ name: docformatter
28
+ entry: pixi run -e lint docformatter -i
29
+ language: system
30
+ types: [python]
31
+ # ruff
32
+ - id: ruff
33
+ name: ruff
34
+ entry: pixi run -e lint ruff check --fix --exit-non-zero-on-fix --force-exclude
35
+ language: system
36
+ types_or: [python, pyi]
37
+ require_serial: true
38
+ - id: ruff-format
39
+ name: ruff-format
40
+ entry: pixi run -e lint ruff format --force-exclude
41
+ language: system
42
+ types_or: [python, pyi]
43
+ require_serial: true
44
+ # mypy
45
+ - id: mypy
46
+ name: mypy
47
+ entry: pixi run -e default mypy
48
+ language: system
49
+ types: [python]
50
+ require_serial: true
51
+ exclude: ^(tests|api-coverage-tests)/
52
+ # prettier
53
+ - id: prettier
54
+ name: prettier
55
+ entry: pixi run -e lint prettier --write --list-different --ignore-unknown
56
+ language: system
57
+ types: [text]
58
+ files: \.(md|yml|yaml)$
59
+ # pre-commit-hooks
60
+ - id: trailing-whitespace-fixer
61
+ name: trailing-whitespace-fixer
62
+ entry: pixi run -e lint trailing-whitespace-fixer
63
+ language: system
64
+ types: [text]
65
+ - id: end-of-file-fixer
66
+ name: end-of-file-fixer
67
+ entry: pixi run -e lint end-of-file-fixer
68
+ language: system
69
+ types: [text]
70
+ # typos
71
+ - id: typos
72
+ name: typos
73
+ entry: pixi run -e lint typos --force-exclude
74
+ language: system
75
+ types: [text]
76
+ require_serial: true
@@ -0,0 +1,6 @@
1
+ build
2
+ conda.recipe
3
+ .copier-answers.yml
4
+
5
+ *.html
6
+ *.properties
@@ -0,0 +1,7 @@
1
+ {
2
+ "singleQuote": false,
3
+ "bracketSpacing": true,
4
+ "printWidth": 200,
5
+ "endOfLine": "auto",
6
+ "tabWidth": 2
7
+ }
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ build:
3
+ os: "ubuntu-22.04"
4
+ commands:
5
+ - curl -fsSL https://pixi.sh/install.sh | bash
6
+ - chmod +x ~/.pixi/bin/pixi
7
+ - ~/.pixi/bin/pixi run -e docs postinstall
8
+ - ~/.pixi/bin/pixi run -e docs docs
9
+ - mkdir -p $READTHEDOCS_OUTPUT/html/
10
+ - cp -r docs/_build/html/** $READTHEDOCS_OUTPUT/html/
@@ -0,0 +1,15 @@
1
+ .. Versioning follows semantic versioning, see also
2
+ https://semver.org/spec/v2.0.0.html. The most important bits are:
3
+ * Update the major if you break the public API
4
+ * Update the minor if you add new functionality
5
+ * Update the patch if you fixed a bug
6
+ Changelog
7
+ =========
8
+
9
+ 0.4.0 (2024-05-16)
10
+ ------------------
11
+
12
+ **Breaking changes**
13
+
14
+ - The constant propagated value is no longer accessed from the ``eager_value`` property but instead the ``to_numpy()`` method.
15
+ - Non Array API functions have been moved to the ``ndonnx.additional`` namespace.