py-parry3d 0.0.1__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.
@@ -0,0 +1,258 @@
1
+ # This file is autogenerated by maturin v1.9.6
2
+ # To update, run
3
+ #
4
+ # maturin generate-ci github
5
+ #
6
+ # Edited to:
7
+ # - add lint and test jobs
8
+ # - make builds depend on lint/test passing
9
+
10
+ name: CI
11
+
12
+ on:
13
+ push:
14
+ branches:
15
+ - main
16
+ - master
17
+ tags:
18
+ - '*'
19
+ pull_request:
20
+ workflow_dispatch:
21
+
22
+ permissions:
23
+ contents: read
24
+
25
+ jobs:
26
+ lint:
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ - uses: actions/setup-python@v5
31
+ with:
32
+ python-version: "3.12"
33
+ - name: Install linter
34
+ run: pip install ruff
35
+ - name: Lint with ruff
36
+ run: ruff check .
37
+
38
+ linux-x64:
39
+ needs: [lint]
40
+ runs-on: ubuntu-22.04
41
+ strategy:
42
+ matrix:
43
+ python-version: ["3.12", "3.13", "3.14"]
44
+ steps:
45
+ - uses: actions/checkout@v4
46
+ - uses: actions/setup-python@v5
47
+ with:
48
+ python-version: ${{ matrix.python-version }}
49
+ - name: Build wheels
50
+ uses: PyO3/maturin-action@v1
51
+ with:
52
+ target: x86_64
53
+ args: --release --out dist --find-interpreter
54
+ sccache: 'true'
55
+ manylinux: auto
56
+ - name: Upload wheels
57
+ uses: actions/upload-artifact@v4
58
+ with:
59
+ name: wheels-linux-x86_64-py${{ matrix.python-version }}-${{ github.sha }}
60
+ path: dist
61
+
62
+ test:
63
+ needs: [linux-x64]
64
+ runs-on: ubuntu-latest
65
+ strategy:
66
+ matrix:
67
+ python-version: ["3.12", "3.13", "3.14"]
68
+ steps:
69
+ - uses: actions/checkout@v4
70
+ - uses: actions/download-artifact@v4
71
+ with:
72
+ name: wheels-linux-x86_64-py${{ matrix.python-version }}-${{ github.sha }}
73
+ path: dist
74
+ - uses: actions/setup-python@v5
75
+ with:
76
+ python-version: ${{ matrix.python-version }}
77
+ - name: Install package
78
+ shell: bash
79
+ run: |
80
+ set -e
81
+ PY_VERSION="${{ matrix.python-version }}"
82
+ PY_VERSION_NO_DOT="${PY_VERSION//./}"
83
+ WHL_FILES=(dist/*cp${PY_VERSION_NO_DOT}*.whl)
84
+ if [ ${#WHL_FILES[@]} -eq 0 ]; then
85
+ echo "No matching wheel files found!"
86
+ exit 1
87
+ fi
88
+ if [ ${#WHL_FILES[@]} -gt 1 ]; then
89
+ echo "Multiple wheel files found: ${WHL_FILES[*]}"
90
+ exit 1
91
+ fi
92
+ pip install "${WHL_FILES[0]}[test]"
93
+ - name: Run tests with pytest
94
+ run: pytest python/tests
95
+ - name: Type checking with pyright
96
+ run: |
97
+ pip install pyright
98
+ pyright python
99
+
100
+ linux:
101
+ if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
102
+ needs: [lint, test]
103
+ runs-on: ubuntu-22.04
104
+ strategy:
105
+ matrix:
106
+ platform:
107
+ - target: x86
108
+ - target: aarch64
109
+ - target: armv7
110
+ - target: s390x
111
+ - target: ppc64le
112
+ steps:
113
+ - uses: actions/checkout@v4
114
+ - uses: actions/setup-python@v5
115
+ with:
116
+ python-version: 3.x
117
+ - name: Build wheels
118
+ uses: PyO3/maturin-action@v1
119
+ with:
120
+ target: ${{ matrix.platform.target }}
121
+ args: --release --out dist --find-interpreter
122
+ sccache: 'true'
123
+ manylinux: auto
124
+ - name: Upload wheels
125
+ uses: actions/upload-artifact@v4
126
+ with:
127
+ name: wheels-linux-${{ matrix.platform.target }}
128
+ path: dist
129
+
130
+ musllinux:
131
+ if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
132
+ needs: [lint, test]
133
+ runs-on: ubuntu-22.04
134
+ strategy:
135
+ matrix:
136
+ platform:
137
+ - target: x86_64
138
+ - target: x86
139
+ - target: aarch64
140
+ - target: armv7
141
+ steps:
142
+ - uses: actions/checkout@v4
143
+ - uses: actions/setup-python@v5
144
+ with:
145
+ python-version: 3.x
146
+ - name: Build wheels
147
+ uses: PyO3/maturin-action@v1
148
+ with:
149
+ target: ${{ matrix.platform.target }}
150
+ args: --release --out dist --find-interpreter
151
+ sccache: 'true'
152
+ manylinux: musllinux_1_2
153
+ - name: Upload wheels
154
+ uses: actions/upload-artifact@v4
155
+ with:
156
+ name: wheels-musllinux-${{ matrix.platform.target }}
157
+ path: dist
158
+
159
+ windows:
160
+ if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
161
+ needs: [lint, test]
162
+ runs-on: ${{ matrix.platform.runner }}
163
+ strategy:
164
+ matrix:
165
+ platform:
166
+ - runner: windows-latest
167
+ target: x64
168
+ - runner: windows-latest
169
+ target: x86
170
+ steps:
171
+ - uses: actions/checkout@v4
172
+ - uses: actions/setup-python@v5
173
+ with:
174
+ python-version: 3.x
175
+ architecture: ${{ matrix.platform.target }}
176
+ - name: Build wheels
177
+ uses: PyO3/maturin-action@v1
178
+ with:
179
+ target: ${{ matrix.platform.target }}
180
+ args: --release --out dist --find-interpreter
181
+ sccache: 'true'
182
+ - name: Upload wheels
183
+ uses: actions/upload-artifact@v4
184
+ with:
185
+ name: wheels-windows-${{ matrix.platform.target }}
186
+ path: dist
187
+
188
+ macos:
189
+ if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
190
+ needs: [lint, test]
191
+ runs-on: ${{ matrix.platform.runner }}
192
+ strategy:
193
+ matrix:
194
+ platform:
195
+ - runner: macos-15
196
+ target: aarch64
197
+ steps:
198
+ - uses: actions/checkout@v4
199
+ - uses: actions/setup-python@v5
200
+ with:
201
+ python-version: 3.x
202
+ - name: Build wheels
203
+ uses: PyO3/maturin-action@v1
204
+ with:
205
+ target: ${{ matrix.platform.target }}
206
+ args: --release --out dist --find-interpreter
207
+ sccache: 'true'
208
+ - name: Upload wheels
209
+ uses: actions/upload-artifact@v4
210
+ with:
211
+ name: wheels-macos-${{ matrix.platform.target }}
212
+ path: dist
213
+
214
+ sdist:
215
+ if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
216
+ needs: [lint, test]
217
+ runs-on: ubuntu-latest
218
+ steps:
219
+ - uses: actions/checkout@v4
220
+ - name: Build sdist
221
+ uses: PyO3/maturin-action@v1
222
+ with:
223
+ command: sdist
224
+ args: --out dist
225
+ - name: Upload sdist
226
+ uses: actions/upload-artifact@v4
227
+ with:
228
+ name: wheels-sdist
229
+ path: dist
230
+
231
+ release:
232
+ name: Release
233
+ runs-on: ubuntu-latest
234
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
235
+ needs: [linux, linux-x64, musllinux, windows, macos, sdist]
236
+ environment: pypi
237
+ permissions:
238
+ id-token: write
239
+ contents: write
240
+ attestations: write
241
+ steps:
242
+ - uses: actions/download-artifact@v4
243
+ with:
244
+ merge-multiple: true
245
+ path: dist
246
+ - name: Generate artifact attestation
247
+ uses: actions/attest-build-provenance@v2
248
+ with:
249
+ subject-path: 'dist/*'
250
+ - name: Publish to PyPI
251
+ if: startsWith(github.ref, 'refs/tags/')
252
+ uses: pypa/gh-action-pypi-publish@release/v1
253
+ - name: Upload to GitHub Release
254
+ uses: softprops/action-gh-release@v2
255
+ with:
256
+ files: dist/*
257
+ fail_on_unmatched_files: false
258
+ prerelease: ${{ contains(github.ref, 'alpha') || contains(github.ref, 'beta') }}
@@ -0,0 +1,73 @@
1
+ /target
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ .pytest_cache/
6
+ *.py[cod]
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ .venv/
14
+ env/
15
+ bin/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version
73
+ .claude/