py-spy-asyncio 0.4.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 (80) hide show
  1. py_spy_asyncio-0.4.2/.cargo/config.toml +2 -0
  2. py_spy_asyncio-0.4.2/.github/dependabot.yml +13 -0
  3. py_spy_asyncio-0.4.2/.github/release-drafter.yml +43 -0
  4. py_spy_asyncio-0.4.2/.github/workflows/build.yml +367 -0
  5. py_spy_asyncio-0.4.2/.github/workflows/linux-binary.yml +27 -0
  6. py_spy_asyncio-0.4.2/.github/workflows/release-drafter.yml +20 -0
  7. py_spy_asyncio-0.4.2/.github/workflows/update_python_test.yml +33 -0
  8. py_spy_asyncio-0.4.2/.gitignore +25 -0
  9. py_spy_asyncio-0.4.2/.pre-commit-config.yaml +18 -0
  10. py_spy_asyncio-0.4.2/CHANGELOG.md +154 -0
  11. py_spy_asyncio-0.4.2/Cargo.lock +1754 -0
  12. py_spy_asyncio-0.4.2/Cargo.toml +60 -0
  13. py_spy_asyncio-0.4.2/LICENSE +21 -0
  14. py_spy_asyncio-0.4.2/PKG-INFO +362 -0
  15. py_spy_asyncio-0.4.2/README.md +345 -0
  16. py_spy_asyncio-0.4.2/SECURITY.md +9 -0
  17. py_spy_asyncio-0.4.2/build.rs +12 -0
  18. py_spy_asyncio-0.4.2/ci/Vagrantfile +27 -0
  19. py_spy_asyncio-0.4.2/ci/publish_freebsd.sh +26 -0
  20. py_spy_asyncio-0.4.2/ci/test_freebsd.sh +28 -0
  21. py_spy_asyncio-0.4.2/ci/testdata/cython_test.c +5374 -0
  22. py_spy_asyncio-0.4.2/ci/testdata/cython_test.pyx +12 -0
  23. py_spy_asyncio-0.4.2/ci/update_python_test_versions.py +142 -0
  24. py_spy_asyncio-0.4.2/examples/dump_traces.rs +37 -0
  25. py_spy_asyncio-0.4.2/generate_bindings.py +239 -0
  26. py_spy_asyncio-0.4.2/pyproject.toml +27 -0
  27. py_spy_asyncio-0.4.2/setup.cfg +24 -0
  28. py_spy_asyncio-0.4.2/src/asyncio.rs +742 -0
  29. py_spy_asyncio-0.4.2/src/binary_parser.rs +353 -0
  30. py_spy_asyncio-0.4.2/src/chrometrace.rs +122 -0
  31. py_spy_asyncio-0.4.2/src/config.rs +638 -0
  32. py_spy_asyncio-0.4.2/src/console_viewer.rs +680 -0
  33. py_spy_asyncio-0.4.2/src/coredump.rs +499 -0
  34. py_spy_asyncio-0.4.2/src/cython.rs +277 -0
  35. py_spy_asyncio-0.4.2/src/dump.rs +215 -0
  36. py_spy_asyncio-0.4.2/src/flamegraph.rs +102 -0
  37. py_spy_asyncio-0.4.2/src/lib.rs +60 -0
  38. py_spy_asyncio-0.4.2/src/main.rs +521 -0
  39. py_spy_asyncio-0.4.2/src/native_stack_trace.rs +377 -0
  40. py_spy_asyncio-0.4.2/src/python_bindings/mod.rs +262 -0
  41. py_spy_asyncio-0.4.2/src/python_bindings/v2_7_15.rs +737 -0
  42. py_spy_asyncio-0.4.2/src/python_bindings/v3_10_0.rs +1967 -0
  43. py_spy_asyncio-0.4.2/src/python_bindings/v3_11_0.rs +2099 -0
  44. py_spy_asyncio-0.4.2/src/python_bindings/v3_12_0.rs +16580 -0
  45. py_spy_asyncio-0.4.2/src/python_bindings/v3_13_0.rs +13786 -0
  46. py_spy_asyncio-0.4.2/src/python_bindings/v3_14_0.rs +18405 -0
  47. py_spy_asyncio-0.4.2/src/python_bindings/v3_3_7.rs +902 -0
  48. py_spy_asyncio-0.4.2/src/python_bindings/v3_4_8.rs +893 -0
  49. py_spy_asyncio-0.4.2/src/python_bindings/v3_5_5.rs +938 -0
  50. py_spy_asyncio-0.4.2/src/python_bindings/v3_6_6.rs +965 -0
  51. py_spy_asyncio-0.4.2/src/python_bindings/v3_7_0.rs +1082 -0
  52. py_spy_asyncio-0.4.2/src/python_bindings/v3_8_0.rs +1362 -0
  53. py_spy_asyncio-0.4.2/src/python_bindings/v3_9_5.rs +1478 -0
  54. py_spy_asyncio-0.4.2/src/python_data_access.rs +750 -0
  55. py_spy_asyncio-0.4.2/src/python_interpreters.rs +954 -0
  56. py_spy_asyncio-0.4.2/src/python_process_info.rs +972 -0
  57. py_spy_asyncio-0.4.2/src/python_spy.rs +726 -0
  58. py_spy_asyncio-0.4.2/src/python_threading.rs +137 -0
  59. py_spy_asyncio-0.4.2/src/sampler.rs +417 -0
  60. py_spy_asyncio-0.4.2/src/speedscope.rs +318 -0
  61. py_spy_asyncio-0.4.2/src/stack_trace.rs +404 -0
  62. py_spy_asyncio-0.4.2/src/timer.rs +73 -0
  63. py_spy_asyncio-0.4.2/src/utils.rs +82 -0
  64. py_spy_asyncio-0.4.2/src/version.rs +196 -0
  65. py_spy_asyncio-0.4.2/tests/integration_test.py +134 -0
  66. py_spy_asyncio-0.4.2/tests/integration_test.rs +685 -0
  67. py_spy_asyncio-0.4.2/tests/scripts/asyncio_tasks.py +27 -0
  68. py_spy_asyncio-0.4.2/tests/scripts/busyloop.py +7 -0
  69. py_spy_asyncio-0.4.2/tests/scripts/cyrillic.py +7 -0
  70. py_spy_asyncio-0.4.2/tests/scripts/delayed_launch.sh +2 -0
  71. py_spy_asyncio-0.4.2/tests/scripts/dump_subprocesses_threads.py +35 -0
  72. py_spy_asyncio-0.4.2/tests/scripts/local_vars.py +52 -0
  73. py_spy_asyncio-0.4.2/tests/scripts/longsleep.py +9 -0
  74. py_spy_asyncio-0.4.2/tests/scripts/negative_linenumber_offsets.py +13 -0
  75. py_spy_asyncio-0.4.2/tests/scripts/recursive.py +8 -0
  76. py_spy_asyncio-0.4.2/tests/scripts/subprocesses.py +19 -0
  77. py_spy_asyncio-0.4.2/tests/scripts/subprocesses_zombie_child.py +12 -0
  78. py_spy_asyncio-0.4.2/tests/scripts/thread_names.py +13 -0
  79. py_spy_asyncio-0.4.2/tests/scripts/thread_reuse.py +7 -0
  80. py_spy_asyncio-0.4.2/tests/scripts/unicode/360/237/222/251.py +9 -0
@@ -0,0 +1,2 @@
1
+ [target.armv7-unknown-linux-gnueabihf]
2
+ linker = "arm-linux-gnueabihf-gcc"
@@ -0,0 +1,13 @@
1
+ # Keep GitHub Actions up to date with GitHub's Dependabot...
2
+ # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
3
+ # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
4
+ version: 2
5
+ updates:
6
+ - package-ecosystem: github-actions
7
+ directory: /
8
+ groups:
9
+ github-actions:
10
+ patterns:
11
+ - "*" # Group all Actions updates into a single larger pull request
12
+ schedule:
13
+ interval: weekly
@@ -0,0 +1,43 @@
1
+ categories:
2
+ - title: "⚠ Breaking Changes"
3
+ labels:
4
+ - "breaking"
5
+ - title: "🚀 Features"
6
+ labels:
7
+ - "feature"
8
+ - "enhancement"
9
+ - title: "🐛 Bug Fixes"
10
+ labels:
11
+ - "fix"
12
+ - "bugfix"
13
+ - "bug"
14
+ - title: "📄 Documentation"
15
+ labels:
16
+ - "documentation"
17
+ - title: "🧰 Maintenance"
18
+ labels:
19
+ - "chore"
20
+ - "ci"
21
+ - "dependencies"
22
+
23
+ exclude-labels:
24
+ - "skip-changelog"
25
+
26
+ change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
27
+ change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
28
+ version-resolver:
29
+ major:
30
+ labels:
31
+ - "major"
32
+ minor:
33
+ labels:
34
+ - "minor"
35
+ patch:
36
+ labels:
37
+ - "patch"
38
+ default: patch
39
+
40
+ template: |
41
+ ## Changes
42
+
43
+ $CHANGES
@@ -0,0 +1,367 @@
1
+ name: Build
2
+ permissions:
3
+ contents: read
4
+ pull-requests: write
5
+
6
+ on:
7
+ workflow_dispatch:
8
+ push:
9
+ branches: [master]
10
+ tags:
11
+ - v*
12
+ pull_request:
13
+ branches: [master]
14
+
15
+ env:
16
+ CARGO_TERM_COLOR: always
17
+
18
+ jobs:
19
+ lint:
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v6
23
+ - uses: actions/setup-python@v6
24
+ with:
25
+ python-version: 3.11
26
+ - uses: pre-commit/action@v3.0.1
27
+
28
+ build:
29
+ runs-on: ${{ matrix.os }}
30
+ needs: [lint]
31
+ strategy:
32
+ fail-fast: false
33
+ matrix:
34
+ os: [ubuntu-latest, windows-latest, macos-latest]
35
+ steps:
36
+ - uses: actions/checkout@v6
37
+ - uses: Swatinem/rust-cache@v2
38
+ - name: Install Dependencies
39
+ run: sudo apt install libunwind-dev
40
+ if: runner.os == 'Linux'
41
+ - uses: actions/setup-python@v6
42
+ with:
43
+ python-version: 3.9
44
+ - name: Build
45
+ run: cargo build --release --verbose --examples
46
+ - name: Build library
47
+ run: cargo build --release --verbose --lib --no-default-features
48
+ - uses: actions/setup-python@v6
49
+ with:
50
+ python-version: 3.9
51
+ - name: Install optional numpy dependency
52
+ run: pip install numpy>=2
53
+ - name: Test
54
+ id: test
55
+ continue-on-error: true
56
+ run: cargo test --release
57
+ - name: Test (retry#1)
58
+ id: test1
59
+ run: cargo test --release
60
+ if: steps.test.outcome=='failure'
61
+ continue-on-error: true
62
+ - name: Test (retry#2)
63
+ run: cargo test --release
64
+ if: steps.test1.outcome=='failure'
65
+ - name: Build Wheel
66
+ run: |
67
+ pip install --upgrade maturin
68
+ maturin build --release -o dist --all-features
69
+ if: runner.os == 'Windows'
70
+ - name: Build Wheel - universal2
71
+ env:
72
+ DEVELOPER_DIR: /Applications/Xcode.app/Contents/Developer
73
+ SDKROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
74
+ MACOSX_DEPLOYMENT_TARGET: 10.9
75
+ run: |
76
+ rustup target add aarch64-apple-darwin
77
+ rustup target add x86_64-apple-darwin
78
+ pip install --upgrade maturin
79
+ maturin build --release -o dist
80
+ maturin build --release -o dist --target universal2-apple-darwin
81
+ if: matrix.os == 'macos-latest'
82
+ - name: Rename Wheels
83
+ run: |
84
+ python3 -c "import shutil; import glob; wheels = glob.glob('dist/*.whl'); [shutil.move(wheel, wheel.replace('py3', 'py2.py3')) for wheel in wheels if 'py2' not in wheel]"
85
+ if: runner.os != 'Linux'
86
+ - name: Upload Windows Wheels
87
+ uses: actions/upload-artifact@v7
88
+ with:
89
+ name: wheels-windows
90
+ path: dist
91
+ if: runner.os == 'Windows'
92
+ - name: Upload Macos Wheels
93
+ uses: actions/upload-artifact@v7
94
+ with:
95
+ name: wheels-macos
96
+ path: dist
97
+ if: runner.os == 'macOS'
98
+
99
+ build-linux-cross:
100
+ runs-on: ubuntu-latest
101
+ needs: [lint]
102
+ strategy:
103
+ fail-fast: false
104
+ matrix:
105
+ target:
106
+ [
107
+ i686-unknown-linux-musl,
108
+ armv7-unknown-linux-musleabihf,
109
+ aarch64-unknown-linux-musl,
110
+ x86_64-unknown-linux-musl,
111
+ ]
112
+ container:
113
+ image: ghcr.io/benfred/rust-musl-cross:${{ matrix.target }}
114
+ env:
115
+ RUSTUP_HOME: /root/.rustup
116
+ CARGO_HOME: /root/.cargo
117
+ steps:
118
+ - uses: actions/checkout@v6
119
+ - uses: Swatinem/rust-cache@v2
120
+ - name: Build
121
+ run: |
122
+ python3 -m pip install --upgrade maturin
123
+ maturin build --release -o dist --target ${{ matrix.target }} --features unwind
124
+ maturin sdist -o dist
125
+ if: ${{ matrix.target != 'i686-unknown-linux-musl' }}
126
+ - name: Build
127
+ run: |
128
+ python3 -m pip install --upgrade maturin
129
+ maturin build --release -o dist --target ${{ matrix.target }}
130
+ maturin sdist -o dist
131
+ if: ${{ matrix.target == 'i686-unknown-linux-musl' }}
132
+ - name: Rename Wheels
133
+ run: |
134
+ python3 -c "import shutil; import glob; wheels = glob.glob('dist/*.whl'); [shutil.move(wheel, wheel.replace('py3', 'py2.py3')) for wheel in wheels if 'py2' not in wheel]"
135
+ - name: Upload wheels
136
+ uses: actions/upload-artifact@v7
137
+ with:
138
+ name: wheels-${{ matrix.target }}
139
+ path: dist
140
+
141
+ build-freebsd:
142
+ runs-on: ubuntu-22.04
143
+ needs: [lint]
144
+ timeout-minutes: 30
145
+ strategy:
146
+ matrix:
147
+ box:
148
+ - freebsd-14
149
+ steps:
150
+ - uses: actions/checkout@v6
151
+ - name: Display CPU info
152
+ run: lscpu
153
+ - name: Install VM tools
154
+ run: |
155
+ sudo apt-get update -qq
156
+ sudo apt-get install -qq -o=Dpkg::Use-Pty=0 moreutils
157
+ sudo chronic apt-get install -qq -o=Dpkg::Use-Pty=0 vagrant virtualbox qemu libvirt-daemon-system
158
+ - name: Set up VM
159
+ shell: sudo bash {0}
160
+ run: |
161
+ vagrant plugin install vagrant-libvirt
162
+ vagrant plugin install vagrant-scp
163
+ ln -sf ci/Vagrantfile Vagrantfile
164
+ vagrant status
165
+ vagrant up --no-tty --provider libvirt ${{ matrix.box }}
166
+ - name: Build and test
167
+ shell: sudo bash {0}
168
+ run: vagrant ssh ${{ matrix.box }} -- bash /vagrant/ci/test_freebsd.sh
169
+ - name: Retrieve build artifacts for caching purposes
170
+ shell: sudo bash {0}
171
+ run: |
172
+ vagrant scp ${{ matrix.box }}:/vagrant/build-artifacts.tar build-artifacts.tar
173
+ ls -ahl build-artifacts.tar
174
+ - name: Prepare binary for upload
175
+ run: |
176
+ tar xf build-artifacts.tar target/release/py-spy
177
+ mv target/release/py-spy py-spy-x86_64-unknown-freebsd
178
+ - name: Upload Binaries
179
+ uses: actions/upload-artifact@v7
180
+ with:
181
+ name: py-spy-x86_64-unknown-freebsd
182
+ path: py-spy-x86_64-unknown-freebsd
183
+
184
+ test-wheels:
185
+ name: Test Wheels
186
+ needs: [build, build-linux-cross]
187
+ runs-on: ${{ matrix.os }}
188
+ strategy:
189
+ fail-fast: false
190
+ # automatically generated by ci/update_python_test_versions.py
191
+ matrix:
192
+ python-version:
193
+ [
194
+ 3.6.7,
195
+ 3.6.15,
196
+ 3.7.1,
197
+ 3.7.17,
198
+ 3.8.0,
199
+ 3.8.18,
200
+ 3.9.0,
201
+ 3.9.25,
202
+ 3.10.0,
203
+ 3.10.20,
204
+ 3.11.0,
205
+ 3.11.15,
206
+ 3.12.0,
207
+ 3.12.13,
208
+ 3.13.0,
209
+ 3.13.1,
210
+ 3.13.2,
211
+ 3.13.3,
212
+ 3.13.4,
213
+ 3.13.5,
214
+ 3.13.6,
215
+ 3.13.7,
216
+ 3.13.8,
217
+ 3.13.9,
218
+ 3.13.10,
219
+ 3.13.11,
220
+ 3.13.12,
221
+ 3.13.13,
222
+ 3.14.0,
223
+ 3.14.1,
224
+ 3.14.2,
225
+ 3.14.3,
226
+ 3.14.4,
227
+ ]
228
+ os: [ubuntu-22.04, macos-latest, windows-latest, ubuntu-22.04-arm]
229
+ # some versions of python can't be tested on GHA with osx because of SIP:
230
+ exclude:
231
+ - os: macos-latest
232
+ python-version: 3.6.7
233
+ - os: ubuntu-22.04
234
+ python-version: 3.6.7
235
+ - os: ubuntu-22.04-arm
236
+ python-version: 3.6.7
237
+ - os: macos-latest
238
+ python-version: 3.6.15
239
+ - os: windows-latest
240
+ python-version: 3.6.15
241
+ - os: ubuntu-22.04
242
+ python-version: 3.6.15
243
+ - os: ubuntu-22.04-arm
244
+ python-version: 3.6.15
245
+ - os: macos-latest
246
+ python-version: 3.7.1
247
+ - os: ubuntu-22.04
248
+ python-version: 3.7.1
249
+ - os: ubuntu-22.04-arm
250
+ python-version: 3.7.1
251
+ - os: macos-latest
252
+ python-version: 3.7.17
253
+ - os: windows-latest
254
+ python-version: 3.7.17
255
+ - os: ubuntu-22.04-arm
256
+ python-version: 3.7.17
257
+ - os: macos-latest
258
+ python-version: 3.8.0
259
+ - os: ubuntu-22.04
260
+ python-version: 3.8.0
261
+ - os: ubuntu-22.04-arm
262
+ python-version: 3.8.0
263
+ - os: macos-latest
264
+ python-version: 3.8.18
265
+ - os: windows-latest
266
+ python-version: 3.8.18
267
+ - os: macos-latest
268
+ python-version: 3.9.0
269
+ - os: ubuntu-22.04
270
+ python-version: 3.9.0
271
+ - os: ubuntu-22.04-arm
272
+ python-version: 3.9.0
273
+ - os: macos-latest
274
+ python-version: 3.9.25
275
+ - os: windows-latest
276
+ python-version: 3.9.25
277
+ - os: macos-latest
278
+ python-version: 3.10.0
279
+ - os: ubuntu-22.04
280
+ python-version: 3.10.0
281
+ - os: ubuntu-22.04-arm
282
+ python-version: 3.10.0
283
+ - os: macos-latest
284
+ python-version: 3.10.20
285
+ - os: windows-latest
286
+ python-version: 3.10.20
287
+ - os: macos-latest
288
+ python-version: 3.11.15
289
+ - os: windows-latest
290
+ python-version: 3.11.15
291
+ - os: macos-latest
292
+ python-version: 3.12.13
293
+ - os: windows-latest
294
+ python-version: 3.12.13
295
+
296
+ steps:
297
+ - uses: actions/checkout@v6
298
+ - uses: actions/download-artifact@v8
299
+ with:
300
+ pattern: wheels-*
301
+ merge-multiple: true
302
+ - uses: actions/setup-python@v6
303
+ with:
304
+ python-version: ${{ matrix.python-version }}
305
+ - name: Install wheel
306
+ run: |
307
+ pip install --force-reinstall --no-index --find-links . py-spy-asyncio
308
+ - name: Test Wheel
309
+ id: test
310
+ run: python tests/integration_test.py
311
+ if: runner.os != 'macOS'
312
+ continue-on-error: true
313
+ - name: Test Wheel (Retry#1)
314
+ id: test1
315
+ run: python tests/integration_test.py
316
+ if: steps.test.outcome=='failure'
317
+ continue-on-error: true
318
+ - name: Test Wheel (Retry#2)
319
+ id: test2
320
+ run: python tests/integration_test.py
321
+ if: steps.test1.outcome=='failure'
322
+ - name: Test macOS Wheel
323
+ id: osx_test
324
+ run: sudo "PATH=$PATH" python tests/integration_test.py
325
+ if: runner.os == 'macOS'
326
+ continue-on-error: true
327
+ - name: Test macOS Wheel (Retry#1)
328
+ id: osx_test1
329
+ run: sudo "PATH=$PATH" python tests/integration_test.py
330
+ if: steps.osx_test.outcome=='failure'
331
+ continue-on-error: true
332
+ - name: Test macOS Wheel (Retry#2)
333
+ id: osx_test2
334
+ run: sudo "PATH=$PATH" python tests/integration_test.py
335
+ if: steps.osx_test1.outcome=='failure'
336
+
337
+ release:
338
+ name: Release
339
+ runs-on: ubuntu-latest
340
+ if: "startsWith(github.ref, 'refs/tags/')"
341
+ needs: [test-wheels]
342
+ permissions:
343
+ contents: write
344
+ steps:
345
+ - uses: actions/download-artifact@v8
346
+ with:
347
+ pattern: wheels-*
348
+ merge-multiple: true
349
+ - name: Create GitHub Release
350
+ uses: fnkr/github-action-ghr@v1.3
351
+ env:
352
+ GHR_PATH: .
353
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
354
+ - name: Install Dependencies
355
+ run: sudo apt install libunwind-dev
356
+ if: runner.os == 'Linux'
357
+ - uses: actions/setup-python@v6
358
+ with:
359
+ python-version: 3.9
360
+ - name: Push to PyPi
361
+ env:
362
+ TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
363
+ TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
364
+ run: |
365
+ pip install --upgrade wheel pip setuptools twine
366
+ twine upload *
367
+ rm *
@@ -0,0 +1,27 @@
1
+ name: Linux Binary
2
+ permissions:
3
+ contents: read
4
+
5
+ on:
6
+ workflow_dispatch:
7
+ push:
8
+ branches: [master]
9
+ tags:
10
+ - v*
11
+
12
+ env:
13
+ CARGO_TERM_COLOR: always
14
+
15
+ jobs:
16
+ build:
17
+ # ponytail: 22.04 for an older glibc baseline, so the binary runs on more distros
18
+ runs-on: ubuntu-22.04
19
+ steps:
20
+ - uses: actions/checkout@v6
21
+ - uses: Swatinem/rust-cache@v2
22
+ - name: Build
23
+ run: cargo build --release --target=x86_64-unknown-linux-gnu
24
+ - uses: actions/upload-artifact@v7
25
+ with:
26
+ name: py-spy-x86_64-unknown-linux-gnu
27
+ path: target/x86_64-unknown-linux-gnu/release/py-spy
@@ -0,0 +1,20 @@
1
+ # draft release notes with https://github.com/release-drafter/release-drafter
2
+ name: Release Drafter
3
+ permissions:
4
+ contents: write
5
+ pull-requests: write
6
+
7
+ on:
8
+ push:
9
+ branches:
10
+ - master
11
+ workflow_dispatch:
12
+
13
+ jobs:
14
+ update_release_draft:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ # Drafts your next Release notes as Pull Requests are merged into "master"
18
+ - uses: release-drafter/release-drafter@v7
19
+ env:
20
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,33 @@
1
+ name: Update Python Test Versions
2
+ permissions:
3
+ contents: write
4
+ pull-requests: write
5
+ on:
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: "0 1 * * *"
9
+ jobs:
10
+ update-dep:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v6
14
+ with:
15
+ ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
16
+ - uses: actions/setup-python@v6
17
+ with:
18
+ python-version: 3.9
19
+ - name: Install
20
+ run: pip install --upgrade requests pyyaml
21
+ - name: Scan for new python versions
22
+ run: python ci/update_python_test_versions.py
23
+ - name: Format results
24
+ run: npx prettier --write ".github/workflows/update_python_test.yml"
25
+ - name: Create Pull Request
26
+ uses: peter-evans/create-pull-request@v8
27
+ with:
28
+ commit-message: Update tested python versions
29
+ title: Update tested python versions
30
+ branch: update-python-versions
31
+ labels: |
32
+ skip-changelog
33
+ dependencies
@@ -0,0 +1,25 @@
1
+ /target
2
+ remoteprocess/target
3
+ **/*.rs.bk
4
+
5
+ # Python Distribution / packaging
6
+ .Python
7
+ env/
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ *.egg-info/
20
+ .installed.cfg
21
+ *.egg
22
+
23
+ .vscode/
24
+ **/.vagrant
25
+ *.log
@@ -0,0 +1,18 @@
1
+ repos:
2
+ - repo: https://github.com/codespell-project/codespell
3
+ rev: v2.2.4
4
+ hooks:
5
+ - id: codespell
6
+ additional_dependencies: [tomli]
7
+ args: ["--toml", "pyproject.toml"]
8
+ exclude: (?x)^(ci/testdata.*|images.*)$
9
+ - repo: https://github.com/doublify/pre-commit-rust
10
+ rev: v1.0
11
+ hooks:
12
+ - id: fmt
13
+ - id: cargo-check
14
+ - repo: https://github.com/rbubley/mirrors-prettier
15
+ rev: v3.3.3
16
+ hooks:
17
+ - id: prettier
18
+ types: [yaml]