rust-sasa-python 0.7.3__tar.gz → 0.7.4__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.
- rust_sasa_python-0.7.4/.github/workflows/CI.yml +228 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/Cargo.lock +34 -25
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/Cargo.toml +4 -5
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/PKG-INFO +3 -4
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/pyproject.toml +2 -2
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/uv.lock +16 -15
- rust_sasa_python-0.7.3/.github/workflows/CI.yml +0 -150
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/.gitignore +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/DOCS.md +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/LICENSE.md +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/README.md +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/example.cif +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/pytest.ini +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/rust_sasa_python.pyi +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/src/lib.rs +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/src/simd.rs +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/tests/__init__.py +0 -0
- {rust_sasa_python-0.7.3 → rust_sasa_python-0.7.4}/tests/test_sasa.py +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, master, radical]
|
|
6
|
+
tags: ["*"]
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
# Keep the build backend and dev dependency in pyproject.toml in sync with this pin.
|
|
14
|
+
env:
|
|
15
|
+
UV_VERSION: "0.13.8"
|
|
16
|
+
MATURIN_VERSION: "1.16.0"
|
|
17
|
+
RUST_TOOLCHAIN: "1.100.0"
|
|
18
|
+
|
|
19
|
+
defaults:
|
|
20
|
+
run:
|
|
21
|
+
shell: bash
|
|
22
|
+
|
|
23
|
+
jobs:
|
|
24
|
+
linux:
|
|
25
|
+
name: Linux ${{ matrix.platform.target }} / Python ${{ matrix.python }}
|
|
26
|
+
runs-on: ubuntu-24.04
|
|
27
|
+
strategy:
|
|
28
|
+
fail-fast: false
|
|
29
|
+
matrix:
|
|
30
|
+
python: ["3.11", "3.12", "3.13", "3.14"]
|
|
31
|
+
platform:
|
|
32
|
+
- target: x86_64
|
|
33
|
+
container: quay.io/pypa/manylinux2014_x86_64@sha256:e6a785657009c612fe2a85fa933051d03a50ba62b1c5e47d62abcab546a2e423
|
|
34
|
+
- target: x86
|
|
35
|
+
container: quay.io/pypa/manylinux2014_i686@sha256:7ff084c274da66ed891df826b97cd5bb1b1d36db2cc86e4f052ce47cb4b69ead
|
|
36
|
+
steps:
|
|
37
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
38
|
+
with:
|
|
39
|
+
persist-credentials: false
|
|
40
|
+
- uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
|
|
41
|
+
with:
|
|
42
|
+
version: ${{ env.UV_VERSION }}
|
|
43
|
+
enable-cache: false
|
|
44
|
+
- name: Select container interpreter
|
|
45
|
+
env:
|
|
46
|
+
PYTHON_VERSION: ${{ matrix.python }}
|
|
47
|
+
run: |
|
|
48
|
+
abi="cp${PYTHON_VERSION//./}"
|
|
49
|
+
echo "CONTAINER_PYTHON=/opt/python/$abi-$abi/bin/python" >> "$GITHUB_ENV"
|
|
50
|
+
- name: Export locked test dependencies
|
|
51
|
+
run: uv export --locked --extra dev --no-emit-project --prune maturin --output-file test-requirements.txt
|
|
52
|
+
- name: Build wheel
|
|
53
|
+
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
|
|
54
|
+
with:
|
|
55
|
+
target: ${{ matrix.platform.target }}
|
|
56
|
+
container: ${{ matrix.platform.container }}
|
|
57
|
+
manylinux: "2014"
|
|
58
|
+
maturin-version: ${{ env.MATURIN_VERSION }}
|
|
59
|
+
rust-toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
60
|
+
args: --release --locked --out dist --interpreter ${{ env.CONTAINER_PYTHON }}
|
|
61
|
+
- name: Install and test wheel in target architecture
|
|
62
|
+
env:
|
|
63
|
+
CONTAINER_IMAGE: ${{ matrix.platform.container }}
|
|
64
|
+
run: |
|
|
65
|
+
docker run --rm -v "$GITHUB_WORKSPACE:/io:ro" -w /io \
|
|
66
|
+
-e CONTAINER_PYTHON "$CONTAINER_IMAGE" bash -euo pipefail -c '
|
|
67
|
+
"$CONTAINER_PYTHON" -m venv /tmp/wheel-test
|
|
68
|
+
/tmp/wheel-test/bin/python -m pip install --require-hashes -r test-requirements.txt
|
|
69
|
+
/tmp/wheel-test/bin/python -m pip install --no-deps --no-index --find-links dist rust-sasa-python
|
|
70
|
+
/tmp/wheel-test/bin/python -m pytest tests/ -v -p no:cacheprovider
|
|
71
|
+
'
|
|
72
|
+
- name: Upload tested wheel
|
|
73
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
74
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
75
|
+
with:
|
|
76
|
+
name: wheels-linux-${{ matrix.platform.target }}-${{ matrix.python }}
|
|
77
|
+
path: dist/*.whl
|
|
78
|
+
if-no-files-found: error
|
|
79
|
+
|
|
80
|
+
native:
|
|
81
|
+
name: ${{ matrix.platform.name }} / Python ${{ matrix.python }}
|
|
82
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
83
|
+
strategy:
|
|
84
|
+
fail-fast: false
|
|
85
|
+
matrix:
|
|
86
|
+
python: ["3.11", "3.12", "3.13", "3.14"]
|
|
87
|
+
platform:
|
|
88
|
+
- name: windows-x64
|
|
89
|
+
runner: windows-2022
|
|
90
|
+
target: x64
|
|
91
|
+
python-arch: x64
|
|
92
|
+
- name: windows-x86
|
|
93
|
+
runner: windows-2022
|
|
94
|
+
target: x86
|
|
95
|
+
python-arch: x86
|
|
96
|
+
- name: macos-x86_64
|
|
97
|
+
runner: macos-15-intel
|
|
98
|
+
target: x86_64
|
|
99
|
+
python-arch: x64
|
|
100
|
+
- name: macos-aarch64
|
|
101
|
+
runner: macos-15
|
|
102
|
+
target: aarch64
|
|
103
|
+
python-arch: arm64
|
|
104
|
+
steps:
|
|
105
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
106
|
+
with:
|
|
107
|
+
persist-credentials: false
|
|
108
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
109
|
+
id: python
|
|
110
|
+
with:
|
|
111
|
+
python-version: ${{ matrix.python }}
|
|
112
|
+
architecture: ${{ matrix.platform.python-arch }}
|
|
113
|
+
- uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
|
|
114
|
+
with:
|
|
115
|
+
version: ${{ env.UV_VERSION }}
|
|
116
|
+
enable-cache: false
|
|
117
|
+
- name: Build wheel
|
|
118
|
+
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
|
|
119
|
+
with:
|
|
120
|
+
target: ${{ matrix.platform.target }}
|
|
121
|
+
maturin-version: ${{ env.MATURIN_VERSION }}
|
|
122
|
+
rust-toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
123
|
+
args: --release --locked --out dist --interpreter python
|
|
124
|
+
- name: Install locked test dependencies and wheel
|
|
125
|
+
env:
|
|
126
|
+
UV_PYTHON: ${{ steps.python.outputs.python-path }}
|
|
127
|
+
run: |
|
|
128
|
+
uv sync --locked --extra dev --no-install-project
|
|
129
|
+
# UV_PYTHON selects the base interpreter; install into the project venv.
|
|
130
|
+
uv pip install --python .venv --no-deps --no-index --find-links dist rust-sasa-python
|
|
131
|
+
- name: Test installed wheel
|
|
132
|
+
env:
|
|
133
|
+
UV_PYTHON: ${{ steps.python.outputs.python-path }}
|
|
134
|
+
run: uv run --no-sync pytest tests/ -v
|
|
135
|
+
- name: Upload tested wheel
|
|
136
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
137
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
138
|
+
with:
|
|
139
|
+
name: wheels-${{ matrix.platform.name }}-${{ matrix.python }}
|
|
140
|
+
path: dist/*.whl
|
|
141
|
+
if-no-files-found: error
|
|
142
|
+
|
|
143
|
+
sdist:
|
|
144
|
+
runs-on: ubuntu-24.04
|
|
145
|
+
steps:
|
|
146
|
+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
147
|
+
with:
|
|
148
|
+
persist-credentials: false
|
|
149
|
+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
150
|
+
id: python
|
|
151
|
+
with:
|
|
152
|
+
python-version: "3.11"
|
|
153
|
+
- uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
|
|
154
|
+
with:
|
|
155
|
+
version: ${{ env.UV_VERSION }}
|
|
156
|
+
enable-cache: false
|
|
157
|
+
- name: Build sdist
|
|
158
|
+
uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
|
|
159
|
+
with:
|
|
160
|
+
maturin-version: ${{ env.MATURIN_VERSION }}
|
|
161
|
+
rust-toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
162
|
+
command: sdist
|
|
163
|
+
args: --out dist
|
|
164
|
+
- name: Install and test sdist
|
|
165
|
+
env:
|
|
166
|
+
UV_PYTHON: ${{ steps.python.outputs.python-path }}
|
|
167
|
+
MATURIN_PEP517_ARGS: "--locked"
|
|
168
|
+
run: |
|
|
169
|
+
uv sync --locked --extra dev --no-install-project
|
|
170
|
+
uv pip install --python .venv --no-deps --no-build-isolation dist/*.tar.gz
|
|
171
|
+
uv run --no-sync pytest tests/ -v
|
|
172
|
+
- name: Upload tested sdist
|
|
173
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
174
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
175
|
+
with:
|
|
176
|
+
name: wheels-sdist
|
|
177
|
+
path: dist/*.tar.gz
|
|
178
|
+
if-no-files-found: error
|
|
179
|
+
|
|
180
|
+
# Preserve the existing required status-check name while gating on artifact tests.
|
|
181
|
+
test:
|
|
182
|
+
name: Test Suite
|
|
183
|
+
runs-on: ubuntu-24.04
|
|
184
|
+
needs: [linux, native, sdist]
|
|
185
|
+
if: always()
|
|
186
|
+
permissions: {}
|
|
187
|
+
steps:
|
|
188
|
+
- name: Require all distribution tests to pass
|
|
189
|
+
env:
|
|
190
|
+
RESULTS: ${{ join(needs.*.result, ',') }}
|
|
191
|
+
run: test "$RESULTS" = 'success,success,success'
|
|
192
|
+
|
|
193
|
+
release:
|
|
194
|
+
name: Release
|
|
195
|
+
runs-on: ubuntu-24.04
|
|
196
|
+
environment:
|
|
197
|
+
name: publishing
|
|
198
|
+
permissions:
|
|
199
|
+
id-token: write
|
|
200
|
+
needs: [linux, native, sdist, test]
|
|
201
|
+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
|
|
202
|
+
concurrency:
|
|
203
|
+
group: pypi-publishing
|
|
204
|
+
cancel-in-progress: false
|
|
205
|
+
steps:
|
|
206
|
+
- name: Require protected release tag
|
|
207
|
+
env:
|
|
208
|
+
REF_PROTECTED: ${{ github.ref_protected }}
|
|
209
|
+
run: |
|
|
210
|
+
if [ "$REF_PROTECTED" != true ]; then
|
|
211
|
+
echo '::error::Protect v* tags with a repository ruleset before publishing. See .github/PUBLISHING.md.'
|
|
212
|
+
exit 1
|
|
213
|
+
fi
|
|
214
|
+
- name: Install uv
|
|
215
|
+
uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3
|
|
216
|
+
with:
|
|
217
|
+
version: ${{ env.UV_VERSION }}
|
|
218
|
+
enable-cache: false
|
|
219
|
+
- name: Download tested distributions
|
|
220
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
221
|
+
with:
|
|
222
|
+
pattern: wheels-*
|
|
223
|
+
merge-multiple: true
|
|
224
|
+
path: dist/
|
|
225
|
+
- name: Generate PEP 740 attestations
|
|
226
|
+
uses: astral-sh/attest-action@39b6ce43875c196a579e31635b11aa2a2036384a # v0.0.7
|
|
227
|
+
- name: Publish
|
|
228
|
+
run: uv publish --trusted-publishing always
|
|
@@ -174,19 +174,18 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
|
|
|
174
174
|
|
|
175
175
|
[[package]]
|
|
176
176
|
name = "libmimalloc-sys"
|
|
177
|
-
version = "0.1.
|
|
177
|
+
version = "0.1.49"
|
|
178
178
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
179
|
-
checksum = "
|
|
179
|
+
checksum = "6a45a52f43e1c16f667ccfe4dd8c85b7f7c204fd5e3bf46c5b0db9a5c3c0b8e9"
|
|
180
180
|
dependencies = [
|
|
181
181
|
"cc",
|
|
182
|
-
"libc",
|
|
183
182
|
]
|
|
184
183
|
|
|
185
184
|
[[package]]
|
|
186
185
|
name = "mimalloc"
|
|
187
|
-
version = "0.1.
|
|
186
|
+
version = "0.1.52"
|
|
188
187
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
189
|
-
checksum = "
|
|
188
|
+
checksum = "2d4139bb28d14ad1facf21d5eb8825051b326e172d216b39f6d31df53cc97862"
|
|
190
189
|
dependencies = [
|
|
191
190
|
"libmimalloc-sys",
|
|
192
191
|
]
|
|
@@ -272,9 +271,9 @@ dependencies = [
|
|
|
272
271
|
|
|
273
272
|
[[package]]
|
|
274
273
|
name = "pulp"
|
|
275
|
-
version = "0.22.
|
|
274
|
+
version = "0.22.3"
|
|
276
275
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
277
|
-
checksum = "
|
|
276
|
+
checksum = "046aa45b989642ec2e4717c8e72d677b13edd831a4d3b6cf37d9a3e54912496a"
|
|
278
277
|
dependencies = [
|
|
279
278
|
"bytemuck",
|
|
280
279
|
"cfg-if",
|
|
@@ -289,15 +288,15 @@ dependencies = [
|
|
|
289
288
|
|
|
290
289
|
[[package]]
|
|
291
290
|
name = "pulp-wasm-simd-flag"
|
|
292
|
-
version = "0.1.
|
|
291
|
+
version = "0.1.1"
|
|
293
292
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
294
|
-
checksum = "
|
|
293
|
+
checksum = "1d8f70e07b9c3962945a74e59ca1c511bba65b6419468acc217c457d93f3c740"
|
|
295
294
|
|
|
296
295
|
[[package]]
|
|
297
296
|
name = "pyo3"
|
|
298
|
-
version = "0.
|
|
297
|
+
version = "0.30.1"
|
|
299
298
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
300
|
-
checksum = "
|
|
299
|
+
checksum = "229ca13b8a15bb0d1487b81ab975bfcd97513416499a8312011b6036e42e0de4"
|
|
301
300
|
dependencies = [
|
|
302
301
|
"libc",
|
|
303
302
|
"once_cell",
|
|
@@ -309,18 +308,18 @@ dependencies = [
|
|
|
309
308
|
|
|
310
309
|
[[package]]
|
|
311
310
|
name = "pyo3-build-config"
|
|
312
|
-
version = "0.
|
|
311
|
+
version = "0.30.1"
|
|
313
312
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
314
|
-
checksum = "
|
|
313
|
+
checksum = "70130e2b6dd1ee589a8788026a429561ca5c40fa7a2fa7914c2282eddae24700"
|
|
315
314
|
dependencies = [
|
|
316
315
|
"target-lexicon",
|
|
317
316
|
]
|
|
318
317
|
|
|
319
318
|
[[package]]
|
|
320
319
|
name = "pyo3-ffi"
|
|
321
|
-
version = "0.
|
|
320
|
+
version = "0.30.1"
|
|
322
321
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
323
|
-
checksum = "
|
|
322
|
+
checksum = "5e7ff73c555c286d212d4ce7e5fbda845a973c4f61bd5f160f5f2c3c2a04d1c4"
|
|
324
323
|
dependencies = [
|
|
325
324
|
"libc",
|
|
326
325
|
"pyo3-build-config",
|
|
@@ -328,26 +327,26 @@ dependencies = [
|
|
|
328
327
|
|
|
329
328
|
[[package]]
|
|
330
329
|
name = "pyo3-macros"
|
|
331
|
-
version = "0.
|
|
330
|
+
version = "0.30.1"
|
|
332
331
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
333
|
-
checksum = "
|
|
332
|
+
checksum = "c46d2e5862c7bb8207e3b639f713dda3c499933444784154c11d013c5a691b60"
|
|
334
333
|
dependencies = [
|
|
335
334
|
"proc-macro2 1.0.95",
|
|
336
335
|
"pyo3-macros-backend",
|
|
337
336
|
"quote 1.0.47",
|
|
338
|
-
"syn",
|
|
337
|
+
"syn 3.0.10",
|
|
339
338
|
]
|
|
340
339
|
|
|
341
340
|
[[package]]
|
|
342
341
|
name = "pyo3-macros-backend"
|
|
343
|
-
version = "0.
|
|
342
|
+
version = "0.30.1"
|
|
344
343
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
345
|
-
checksum = "
|
|
344
|
+
checksum = "38b89f066f2ae72a2aef52d1537ca2fcd104440ebfadee06e97aa90738a25b9b"
|
|
346
345
|
dependencies = [
|
|
347
346
|
"heck",
|
|
348
347
|
"proc-macro2 1.0.95",
|
|
349
348
|
"quote 1.0.47",
|
|
350
|
-
"syn",
|
|
349
|
+
"syn 3.0.10",
|
|
351
350
|
]
|
|
352
351
|
|
|
353
352
|
[[package]]
|
|
@@ -429,10 +428,9 @@ dependencies = [
|
|
|
429
428
|
|
|
430
429
|
[[package]]
|
|
431
430
|
name = "rust-sasa-python"
|
|
432
|
-
version = "0.7.
|
|
431
|
+
version = "0.7.4"
|
|
433
432
|
dependencies = [
|
|
434
433
|
"mimalloc",
|
|
435
|
-
"num-complex",
|
|
436
434
|
"pdbtbx",
|
|
437
435
|
"pulp",
|
|
438
436
|
"pyo3",
|
|
@@ -466,7 +464,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
|
466
464
|
dependencies = [
|
|
467
465
|
"proc-macro2 1.0.95",
|
|
468
466
|
"quote 1.0.47",
|
|
469
|
-
"syn",
|
|
467
|
+
"syn 2.0.104",
|
|
470
468
|
]
|
|
471
469
|
|
|
472
470
|
[[package]]
|
|
@@ -499,7 +497,7 @@ dependencies = [
|
|
|
499
497
|
"heck",
|
|
500
498
|
"proc-macro2 1.0.95",
|
|
501
499
|
"quote 1.0.47",
|
|
502
|
-
"syn",
|
|
500
|
+
"syn 2.0.104",
|
|
503
501
|
]
|
|
504
502
|
|
|
505
503
|
[[package]]
|
|
@@ -519,6 +517,17 @@ dependencies = [
|
|
|
519
517
|
"unicode-ident",
|
|
520
518
|
]
|
|
521
519
|
|
|
520
|
+
[[package]]
|
|
521
|
+
name = "syn"
|
|
522
|
+
version = "3.0.10"
|
|
523
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
524
|
+
checksum = "4ae9ccbea3a7b0b09443036490c8f34a8b1b760fd345e5c0dae0aac718faea79"
|
|
525
|
+
dependencies = [
|
|
526
|
+
"proc-macro2 1.0.95",
|
|
527
|
+
"quote 1.0.47",
|
|
528
|
+
"unicode-ident",
|
|
529
|
+
]
|
|
530
|
+
|
|
522
531
|
[[package]]
|
|
523
532
|
name = "target-lexicon"
|
|
524
533
|
version = "0.13.5"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rust-sasa-python"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.4"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
|
|
@@ -11,8 +11,7 @@ crate-type = ["cdylib"]
|
|
|
11
11
|
|
|
12
12
|
[dependencies]
|
|
13
13
|
pdbtbx = "0.12.0"
|
|
14
|
-
pyo3 = "0.
|
|
14
|
+
pyo3 = "0.30.1"
|
|
15
15
|
rust-sasa = "0.9.2"
|
|
16
|
-
mimalloc = "0.1.
|
|
17
|
-
|
|
18
|
-
pulp = "0.22.2"
|
|
16
|
+
mimalloc = "0.1.52"
|
|
17
|
+
pulp = "0.22.3"
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rust-sasa-python
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.4
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
7
|
Requires-Dist: pytest>=8.4.1 ; extra == 'dev'
|
|
8
|
-
Requires-Dist: maturin
|
|
8
|
+
Requires-Dist: maturin==1.16.0 ; extra == 'dev'
|
|
9
9
|
Provides-Extra: dev
|
|
10
10
|
License-File: LICENSE.md
|
|
11
|
-
Summary: An ultra-fast package for computing Solvent Accessible Surface Area (SASA/ASA) for proteins
|
|
12
|
-
**46X** faster than Biopython, **7X** faster than Freesasa
|
|
11
|
+
Summary: An ultra-fast package for computing Solvent Accessible Surface Area (SASA/ASA) for proteins **46X** faster than Biopython, **7X** faster than Freesasa
|
|
13
12
|
Author: Max Campbell
|
|
14
13
|
Requires-Python: >=3.11
|
|
15
14
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["maturin
|
|
2
|
+
requires = ["maturin==1.16.0"]
|
|
3
3
|
build-backend = "maturin"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
@@ -16,7 +16,7 @@ readme = "README.md"
|
|
|
16
16
|
authors = [{ name = "Max Campbell" }]
|
|
17
17
|
|
|
18
18
|
[project.optional-dependencies]
|
|
19
|
-
dev = ["pytest>=8.4.1", "maturin
|
|
19
|
+
dev = ["pytest>=8.4.1", "maturin==1.16.0"]
|
|
20
20
|
|
|
21
21
|
[tool.maturin]
|
|
22
22
|
features = ["pyo3/extension-module"]
|
|
@@ -22,22 +22,23 @@ wheels = [
|
|
|
22
22
|
|
|
23
23
|
[[package]]
|
|
24
24
|
name = "maturin"
|
|
25
|
-
version = "1.
|
|
25
|
+
version = "1.16.0"
|
|
26
26
|
source = { registry = "https://pypi.org/simple" }
|
|
27
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
27
|
+
sdist = { url = "https://files.pythonhosted.org/packages/bd/71/eb078174335ff30bde1be2ad54fb6256db4b160eb3efa81163fa30f8c814/maturin-1.16.0.tar.gz", hash = "sha256:13e69ca12542999d8c5467131de72a49bb76e4c284b9a45c5783df7c0fcb3a8a", size = 396641, upload-time = "2026-10-29T14:09:43.096Z" }
|
|
28
28
|
wheels = [
|
|
29
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
30
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
31
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
32
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
33
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
34
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
35
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
36
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
37
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
38
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
39
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
40
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
29
|
+
{ url = "https://files.pythonhosted.org/packages/c0/f8/235d4a8b3d61af3c7744582ae9e6ccb8f096e9f68f06fe62d7d03e5d7b2d/maturin-1.16.0-py3-none-linux_armv6l.whl", hash = "sha256:deacbb204a20326862e194c7df4958e0514a0411c9a3ccf228a00067c11b5c7e", size = 10425070, upload-time = "2026-10-29T14:09:06.221Z" },
|
|
30
|
+
{ url = "https://files.pythonhosted.org/packages/fb/d5/f49a90d8c489dc5f134654ec91d12a78a51599fdc8c2b5a1bc2391bca0ac/maturin-1.16.0-py3-none-macosx_10_12_universal2.macosx_10_12_x86_64.macosx_11_0_arm64.whl", hash = "sha256:131fcc17ddb3ccc48aa183d2172ebf994c322b858e1b9694fb8744d783df66f6", size = 19839189, upload-time = "2026-10-29T14:09:09.441Z" },
|
|
31
|
+
{ url = "https://files.pythonhosted.org/packages/d2/8e/d65633d7c25484cb82735a51e15bc969f9874a13557e2b352d27df574c20/maturin-1.16.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2216d731c9324869d3bff72c0c73009bb6e640b3fa7d340174ae70dc874d1d9f", size = 10271659, upload-time = "2026-10-29T14:09:12.596Z" },
|
|
32
|
+
{ url = "https://files.pythonhosted.org/packages/0a/dc/e77f490557cb5e045a75c3d18a7965425ac576235c970dfff4d903eb2c74/maturin-1.16.0-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:837db2f4d93d4899c3ac393fb3cc9eebf35b6002336e5d574f4a4fb6c49fe283", size = 10763361, upload-time = "2026-10-29T14:09:16.11Z" },
|
|
33
|
+
{ url = "https://files.pythonhosted.org/packages/fa/eb/535564a4211105fd64611fa4f9437c8925eded26a97d58de84565f5aebfa/maturin-1.16.0-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:399fadcd4af39532a173e010240c34930eacc1bb1746bb179863481c68bcf1ab", size = 10442856, upload-time = "2026-10-29T14:09:18.64Z" },
|
|
34
|
+
{ url = "https://files.pythonhosted.org/packages/45/5b/570e13ce81f103be6609c067a06c5bac08da5af0cf7ea700c9ae43419be9/maturin-1.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:e285ec9eb10243d45d10417178cb2eb76e0cbb184d0aa4378b503489fa12ee78", size = 10298796, upload-time = "2026-10-29T14:09:21.385Z" },
|
|
35
|
+
{ url = "https://files.pythonhosted.org/packages/88/a6/26b40c31c354359fe4e49398113d018694c7035968fe1b569bb13c3905af/maturin-1.16.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:609228d639c5b888dc41364cbd318547a59f027481f53cba85838f46da4b3f02", size = 10268023, upload-time = "2026-10-29T14:09:23.94Z" },
|
|
36
|
+
{ url = "https://files.pythonhosted.org/packages/2b/19/faca1784d917c2eecd498648dff6a0179b299c8142cc448ea5b1183545ec/maturin-1.16.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:7001fd3ac591820d01f2fa041552c367ec587c98649d9f10a817cc7f28e59062", size = 13739038, upload-time = "2026-10-29T14:09:26.662Z" },
|
|
37
|
+
{ url = "https://files.pythonhosted.org/packages/36/c1/d67e77aa07100e3b2d4c0d9ef6922646d9c4bab25cc04f91023aefc72418/maturin-1.16.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b0573a146803f24566f5b301a4572a8e49bcab4917175407c730da13b46e134", size = 11100193, upload-time = "2026-10-29T14:09:29.659Z" },
|
|
38
|
+
{ url = "https://files.pythonhosted.org/packages/76/44/ccef52f02ab0e1f7258bc8fe0140b4991c6287458ef883af1027f946a253/maturin-1.16.0-py3-none-manylinux_2_31_riscv64.musllinux_1_1_riscv64.whl", hash = "sha256:c16d3589cbddda9420237fdb1394b1a9b36483c0bce83b23de6118c908a8e940", size = 10663849, upload-time = "2026-10-29T14:09:32.183Z" },
|
|
39
|
+
{ url = "https://files.pythonhosted.org/packages/6e/9b/3104f62dbb428f9e26e35cba2c80cfc42ba9bb1dc4968882c19d1bfe594b/maturin-1.16.0-py3-none-win32.whl", hash = "sha256:9e221c047931caa79283cc0c2278904ae1b25880dde3574b0447657d72907689", size = 9124894, upload-time = "2026-10-29T14:09:34.857Z" },
|
|
40
|
+
{ url = "https://files.pythonhosted.org/packages/63/b8/c25ce706c4797ee1663bcf1f386ffe91d8a3b3589700a135a204b49bc4b0/maturin-1.16.0-py3-none-win_amd64.whl", hash = "sha256:9d43a2adf51a2794e907a8f7dbad06eb114d5edb0909c73c1fa9040f15e584e9", size = 10575645, upload-time = "2026-10-29T14:09:37.864Z" },
|
|
41
|
+
{ url = "https://files.pythonhosted.org/packages/eb/74/f69aba8b22539e5ed58323d4a6ee974afd9edda238489c73926cc0fc9d51/maturin-1.16.0-py3-none-win_arm64.whl", hash = "sha256:95f34ce53249fb7095ff4f2aff64d2562c511d6edf3e216c15dbffcd82b72b4f", size = 9886475, upload-time = "2026-10-29T14:09:40.603Z" },
|
|
41
42
|
]
|
|
42
43
|
|
|
43
44
|
[[package]]
|
|
@@ -95,7 +96,7 @@ dev = [
|
|
|
95
96
|
|
|
96
97
|
[package.metadata]
|
|
97
98
|
requires-dist = [
|
|
98
|
-
{ name = "maturin", marker = "extra == 'dev'", specifier = "
|
|
99
|
+
{ name = "maturin", marker = "extra == 'dev'", specifier = "==1.16.0" },
|
|
99
100
|
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.4.1" },
|
|
100
101
|
]
|
|
101
102
|
provides-extras = ["dev"]
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
- master
|
|
8
|
-
- radical
|
|
9
|
-
tags:
|
|
10
|
-
- "*"
|
|
11
|
-
pull_request:
|
|
12
|
-
workflow_dispatch:
|
|
13
|
-
|
|
14
|
-
permissions:
|
|
15
|
-
contents: read
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
linux:
|
|
19
|
-
runs-on: ${{ matrix.platform.runner }}
|
|
20
|
-
strategy:
|
|
21
|
-
matrix:
|
|
22
|
-
platform:
|
|
23
|
-
- runner: ubuntu-latest
|
|
24
|
-
target: x86_64
|
|
25
|
-
- runner: ubuntu-latest
|
|
26
|
-
target: x86
|
|
27
|
-
steps:
|
|
28
|
-
- uses: actions/checkout@v4
|
|
29
|
-
- uses: actions/setup-python@v5
|
|
30
|
-
with:
|
|
31
|
-
python-version: "3.13"
|
|
32
|
-
- name: Build wheels
|
|
33
|
-
uses: PyO3/maturin-action@v1
|
|
34
|
-
with:
|
|
35
|
-
target: ${{ matrix.platform.target }}
|
|
36
|
-
args: --release --out dist --find-interpreter
|
|
37
|
-
sccache: "true"
|
|
38
|
-
manylinux: auto
|
|
39
|
-
- name: Upload wheels
|
|
40
|
-
uses: actions/upload-artifact@v4
|
|
41
|
-
with:
|
|
42
|
-
name: wheels-linux-${{ matrix.platform.target }}
|
|
43
|
-
path: dist
|
|
44
|
-
|
|
45
|
-
windows:
|
|
46
|
-
runs-on: ${{ matrix.platform.runner }}
|
|
47
|
-
strategy:
|
|
48
|
-
matrix:
|
|
49
|
-
platform:
|
|
50
|
-
- runner: windows-latest
|
|
51
|
-
target: x64
|
|
52
|
-
- runner: windows-latest
|
|
53
|
-
target: x86
|
|
54
|
-
steps:
|
|
55
|
-
- uses: actions/checkout@v4
|
|
56
|
-
- uses: actions/setup-python@v5
|
|
57
|
-
with:
|
|
58
|
-
python-version: "3.13"
|
|
59
|
-
architecture: ${{ matrix.platform.target }}
|
|
60
|
-
- name: Build wheels
|
|
61
|
-
uses: PyO3/maturin-action@v1
|
|
62
|
-
with:
|
|
63
|
-
target: ${{ matrix.platform.target }}
|
|
64
|
-
args: --release --out dist --find-interpreter
|
|
65
|
-
sccache: "true"
|
|
66
|
-
- name: Upload wheels
|
|
67
|
-
uses: actions/upload-artifact@v4
|
|
68
|
-
with:
|
|
69
|
-
name: wheels-windows-${{ matrix.platform.target }}
|
|
70
|
-
path: dist
|
|
71
|
-
|
|
72
|
-
macos:
|
|
73
|
-
runs-on: ${{ matrix.platform.runner }}
|
|
74
|
-
strategy:
|
|
75
|
-
matrix:
|
|
76
|
-
platform:
|
|
77
|
-
- runner: macos-latest
|
|
78
|
-
target: x86_64
|
|
79
|
-
- runner: macos-14
|
|
80
|
-
target: aarch64
|
|
81
|
-
steps:
|
|
82
|
-
- uses: actions/checkout@v4
|
|
83
|
-
- uses: actions/setup-python@v5
|
|
84
|
-
with:
|
|
85
|
-
python-version: "3.13"
|
|
86
|
-
- name: Build wheels
|
|
87
|
-
uses: PyO3/maturin-action@v1
|
|
88
|
-
with:
|
|
89
|
-
target: ${{ matrix.platform.target }}
|
|
90
|
-
args: --release --out dist --find-interpreter
|
|
91
|
-
sccache: "true"
|
|
92
|
-
- name: Upload wheels
|
|
93
|
-
uses: actions/upload-artifact@v4
|
|
94
|
-
with:
|
|
95
|
-
name: wheels-macos-${{ matrix.platform.target }}
|
|
96
|
-
path: dist
|
|
97
|
-
|
|
98
|
-
sdist:
|
|
99
|
-
runs-on: ubuntu-latest
|
|
100
|
-
steps:
|
|
101
|
-
- uses: actions/checkout@v4
|
|
102
|
-
- name: Build sdist
|
|
103
|
-
uses: PyO3/maturin-action@v1
|
|
104
|
-
with:
|
|
105
|
-
command: sdist
|
|
106
|
-
args: --out dist
|
|
107
|
-
- name: Upload sdist
|
|
108
|
-
uses: actions/upload-artifact@v4
|
|
109
|
-
with:
|
|
110
|
-
name: wheels-sdist
|
|
111
|
-
path: dist
|
|
112
|
-
|
|
113
|
-
test:
|
|
114
|
-
name: Test Suite
|
|
115
|
-
runs-on: ${{ matrix.os }}
|
|
116
|
-
strategy:
|
|
117
|
-
matrix:
|
|
118
|
-
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
119
|
-
steps:
|
|
120
|
-
- uses: actions/checkout@v4
|
|
121
|
-
- name: Install uv
|
|
122
|
-
uses: astral-sh/setup-uv@v3
|
|
123
|
-
with:
|
|
124
|
-
version: "latest"
|
|
125
|
-
- name: Set up Python
|
|
126
|
-
run: uv python install 3.13
|
|
127
|
-
- name: Install dependencies
|
|
128
|
-
run: |
|
|
129
|
-
uv add --dev pytest maturin
|
|
130
|
-
- name: Build and install package
|
|
131
|
-
run: |
|
|
132
|
-
uv run maturin develop --release
|
|
133
|
-
- name: Run tests
|
|
134
|
-
run: |
|
|
135
|
-
uv run pytest tests/ -v
|
|
136
|
-
|
|
137
|
-
release:
|
|
138
|
-
name: Release
|
|
139
|
-
runs-on: ubuntu-latest
|
|
140
|
-
needs: [linux, windows, macos, sdist, test]
|
|
141
|
-
if: startsWith(github.ref, 'refs/tags/v')
|
|
142
|
-
steps:
|
|
143
|
-
- uses: actions/download-artifact@v4
|
|
144
|
-
- name: Publish to PyPI
|
|
145
|
-
uses: PyO3/maturin-action@v1
|
|
146
|
-
env:
|
|
147
|
-
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
148
|
-
with:
|
|
149
|
-
command: upload
|
|
150
|
-
args: --non-interactive --skip-existing wheels-*/*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|