runviewer 3.2.2__tar.gz → 3.2.3__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 (48) hide show
  1. runviewer-3.2.3/.github/workflows/release-vars.sh +47 -0
  2. runviewer-3.2.3/.github/workflows/release.yml +447 -0
  3. {runviewer-3.2.2/runviewer.egg-info → runviewer-3.2.3}/PKG-INFO +34 -21
  4. {runviewer-3.2.2 → runviewer-3.2.3}/README.md +1 -1
  5. runviewer-3.2.3/pyproject.toml +66 -0
  6. runviewer-3.2.3/runviewer/__version__.py +27 -0
  7. {runviewer-3.2.2 → runviewer-3.2.3/runviewer.egg-info}/PKG-INFO +34 -21
  8. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/SOURCES.txt +1 -2
  9. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/requires.txt +0 -4
  10. runviewer-3.2.3/setup.cfg +4 -0
  11. runviewer-3.2.2/.github/workflows/release.yml +0 -256
  12. runviewer-3.2.2/pyproject.toml +0 -5
  13. runviewer-3.2.2/runviewer/__version__.py +0 -21
  14. runviewer-3.2.2/setup.cfg +0 -59
  15. runviewer-3.2.2/setup.py +0 -9
  16. {runviewer-3.2.2 → runviewer-3.2.3}/.gitignore +0 -0
  17. {runviewer-3.2.2 → runviewer-3.2.3}/LICENSE.txt +0 -0
  18. {runviewer-3.2.2 → runviewer-3.2.3}/docs/Makefile +0 -0
  19. {runviewer-3.2.2 → runviewer-3.2.3}/docs/make.bat +0 -0
  20. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/_static/custom.css +0 -0
  21. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/_templates/components.rst +0 -0
  22. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/api/index.rst +0 -0
  23. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/conf.py +0 -0
  24. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/blacs_32nx32n.svg +0 -0
  25. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/labscript_32nx32n.svg +0 -0
  26. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/lyse_32nx32n.svg +0 -0
  27. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runmanager_32nx32n.svg +0 -0
  28. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer.ico +0 -0
  29. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer_32nx32n.svg +0 -0
  30. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer_64x64.svg +0 -0
  31. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer_detail.png +0 -0
  32. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer_interface.png +0 -0
  33. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/img/runviewer_overview.png +0 -0
  34. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/index.rst +0 -0
  35. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/introduction.rst +0 -0
  36. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/pyqt5-modified-objects.inv +0 -0
  37. {runviewer-3.2.2 → runviewer-3.2.3}/docs/source/usage.rst +0 -0
  38. {runviewer-3.2.2 → runviewer-3.2.3}/readthedocs.yaml +0 -0
  39. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/__init__.py +0 -0
  40. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/__main__.py +0 -0
  41. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/desktop-app.json +0 -0
  42. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/main.ui +0 -0
  43. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/runviewer.ico +0 -0
  44. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer/runviewer.svg +0 -0
  45. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/dependency_links.txt +0 -0
  46. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/entry_points.txt +0 -0
  47. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/not-zip-safe +0 -0
  48. {runviewer-3.2.2 → runviewer-3.2.3}/runviewer.egg-info/top_level.txt +0 -0
@@ -0,0 +1,47 @@
1
+ # This repository. PyPI and Anaconda test and release package uploads are only done if
2
+ # the repository the workflow is running in matches this (i.e. is not a fork). Optional,
3
+ # if not set, package uploads are skipped.
4
+ export RELEASE_REPO="labscript-suite/runviewer"
5
+
6
+ # Username with which to upload conda packages. If not given, anaconda uploads are
7
+ # skipped.
8
+ export ANACONDA_USER="labscript-suite"
9
+
10
+ # Whether (true or false) to upload releases to PyPI, non-releases to Test PyPI,
11
+ # releases to Anaconda, non-releases to Anaconda test label. Only used if the repository
12
+ # the workflow is running in matches RELEASE_REPO, otherwise uploads are skipped.
13
+ # Anaconda uploads require ANACONDA_USER be specified and ANACONDA_API_TOKEN secret be
14
+ # set. Optional, all default to true.
15
+ export PYPI_UPLOAD=""
16
+ export TESTPYPI_UPLOAD=""
17
+ export ANACONDA_UPLOAD=""
18
+ export TEST_ANACONDA_UPLOAD=""
19
+
20
+ # Which Python version to use for pure wheel builds, sdists, and as the host Python for
21
+ # cibuildwheel. Optional, defaults to the second-most recent minor Python version.
22
+ export DEFAULT_PYTHON=""
23
+
24
+ # Comma-separated list of Python versions to build conda packages for. Only used if
25
+ # HAS_ENV_MARKERS=true or PURE=false, otherwise a noarch conda package is built instead.
26
+ # Optional, defaults to all non-end-of-life stable Python minor versions.
27
+ export CONDA_PYTHONS=""
28
+
29
+ # Environment variable set in the envionment that `cibuildwheel` runs in instructing it
30
+ # which Pythons to build for, as a space-separated list of specifiers in the format
31
+ # specified by `cibuildwheel`. Only used if PURE=false. Optional, defaults to all
32
+ # non-end-of-life stable CPython versions.
33
+ export CIBW_BUILD=""
34
+
35
+ # Name of Python package. Optional, defaults to name from the package metadata
36
+ export PKGNAME=""
37
+
38
+ # Version of Python package. Optional, defaults to version from the package metadata
39
+ export PKGVER=""
40
+
41
+ # Whether the Python package is pure (true) or impure (false). Optional, defaults to
42
+ # false if the setuptools package has extension modules or libraries, otherwise true.
43
+ export PURE=""
44
+
45
+ # Whether (true or false) the Python package has dependencies that vary by platform or
46
+ # Python version. Optional, Defaults to presence of env markers in package metadata.
47
+ export HAS_ENV_MARKERS=""
@@ -0,0 +1,447 @@
1
+ name: Build and Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+ - maintenance/*
8
+ tags:
9
+ - 'v[0-9]+.[0-9]+.[0-9]+*'
10
+
11
+ env:
12
+ OS_LIST_UBUNTU: '["ubuntu-latest"]'
13
+ OS_LIST_ALL: '["ubuntu-latest", "windows-latest", "macos-latest", "macos-13"]'
14
+
15
+
16
+ jobs:
17
+ configure:
18
+ name: Configure workflow run
19
+ runs-on: ubuntu-latest
20
+ outputs:
21
+ DEFAULT_PYTHON: ${{ steps.config.outputs.DEFAULT_PYTHON }}
22
+ CIBW_BUILD: ${{ steps.config.outputs.CIBW_BUILD }}
23
+ PKGNAME: ${{ steps.config.outputs.PKGNAME }}
24
+ PKGVER: ${{ steps.config.outputs.PKGVER }}
25
+ PURE: ${{ steps.config.outputs.PURE }}
26
+ ANACONDA_USER: ${{ steps.config.outputs.ANACONDA_USER }}
27
+ CONDA_BUILD_ARGS: ${{ steps.config.outputs.CONDA_BUILD_ARGS }}
28
+ BUILD_OS_LIST: ${{ steps.config.outputs.BUILD_OS_LIST }}
29
+ RELEASE: ${{ steps.config.outputs.RELEASE }}
30
+ TESTPYPI_UPLOAD_THIS_RUN: ${{ steps.config.outputs.TESTPYPI_UPLOAD_THIS_RUN }}
31
+ PYPI_UPLOAD_THIS_RUN: ${{ steps.config.outputs.PYPI_UPLOAD_THIS_RUN }}
32
+ TEST_ANACONDA_UPLOAD_THIS_RUN: ${{ steps.config.outputs.TEST_ANACONDA_UPLOAD_THIS_RUN }}
33
+ ANACONDA_UPLOAD_THIS_RUN: ${{ steps.config.outputs.ANACONDA_UPLOAD_THIS_RUN }}
34
+
35
+ steps:
36
+ - name: Checkout
37
+ uses: actions/checkout@v4
38
+ with:
39
+ fetch-depth: 0
40
+
41
+ - name: Ignore Tags for non-tag pushes
42
+ if: "!startsWith(github.ref, 'refs/tags/')"
43
+ run: git tag -d $(git tag --points-at HEAD)
44
+
45
+ - name: Install Python
46
+ uses: actions/setup-python@v5
47
+ with:
48
+ python-version: '3.x'
49
+
50
+ - name: Configure workflow
51
+ id: config
52
+ run: |
53
+ pip install ci-helper
54
+
55
+ # Load repo-specific variables and overrides:
56
+ VARS_FILE=".github/workflows/release-vars.sh"
57
+ if [ -f "${VARS_FILE}" ]; then
58
+ source "${VARS_FILE}"
59
+ fi
60
+
61
+ # Python version used to build sdists, pure wheels, and as host Python for
62
+ # `cibuildwheel`:
63
+ if [ -z "${DEFAULT_PYTHON}" ]; then
64
+ # Default to second-most recent supported Python version:
65
+ DEFAULT_PYTHON=$(ci-helper defaultpython)
66
+ fi
67
+
68
+ # Versions of Python to build conda packages for:
69
+ if [ -z "${CONDA_PYTHONS}" ]; then
70
+ # Default to all supported Python versions:
71
+ CONDA_PYTHONS=$(ci-helper pythons)
72
+ fi
73
+
74
+ # Env var for `cibuildwheel` specifying target Python versions:
75
+ if [ -z "${CIBW_BUILD}" ]; then
76
+ # default to all supported CPython versions:
77
+ CIBW_BUILD=$(ci-helper pythons --cibw)
78
+ fi
79
+
80
+ # Package name and version
81
+ if [ -z "${PKGNAME}" ]; then
82
+ # Default to package name from project metadata:
83
+ PKGNAME=$(ci-helper distinfo name .)
84
+ fi
85
+ if [ -z "${PKGVER}" ]; then
86
+ # Default to package version from project metadata:
87
+ PKGVER=$(ci-helper distinfo version .)
88
+ fi
89
+
90
+ # Whether the package is pure python
91
+ if [ -z "${PURE}" ]; then
92
+ # Default to whether the setuptools package declares no modules/libraries:
93
+ PURE=$(ci-helper distinfo is_pure .)
94
+ fi
95
+
96
+ # Whether the package requirements depend on platform or Python version:
97
+ if [ -z "${HAS_ENV_MARKERS}" ]; then
98
+ # Default to the presence of env markers in package metadata:
99
+ HAS_ENV_MARKERS=$(ci-helper distinfo has_env_markers .)
100
+ fi
101
+
102
+ # List of OSs we need to run the build job on and arguments to
103
+ # `setuptools-conda build`:
104
+ if [[ "${PURE}" == false || "${HAS_ENV_MARKERS}" == true ]]; then
105
+ BUILD_OS_LIST="${OS_LIST_ALL}"
106
+ CONDA_BUILD_ARGS="--pythons=${CONDA_PYTHONS}"
107
+ else
108
+ BUILD_OS_LIST="${OS_LIST_UBUNTU}"
109
+ CONDA_BUILD_ARGS="--noarch"
110
+ fi
111
+
112
+ # Release if a tag was pushed:
113
+ if [ "${{ contains(github.ref, '/tags') }}" == true ]; then
114
+ RELEASE=true
115
+ else
116
+ RELEASE=false
117
+ fi
118
+
119
+ # What types of package uploads are enabled:
120
+ if [ -z "${PYPI_UPLOAD}" ]; then
121
+ PYPI_UPLOAD=true
122
+ else
123
+ PYPI_UPLOAD=false
124
+ fi
125
+ if [ -z "${TESTPYPI_UPLOAD}" ]; then
126
+ TESTPYPI_UPLOAD=true
127
+ else
128
+ TESTPYPI_UPLOAD=false
129
+ fi
130
+ if [ -z "${ANACONDA_UPLOAD}" ]; then
131
+ ANACONDA_UPLOAD=true
132
+ else
133
+ ANACONDA_UPLOAD=false
134
+ fi
135
+ if [ -z "${TEST_ANACONDA_UPLOAD}" ]; then
136
+ TEST_ANACONDA_UPLOAD=true
137
+ else
138
+ TEST_ANACONDA_UPLOAD=false
139
+ fi
140
+
141
+ if [ "${{ github.repository }}" != "${RELEASE_REPO}" ]; then
142
+ echo "Workflow repo doesn't match ${RELEASE_REPO}, disabling package uploads"
143
+ PYPI_UPLOAD=false
144
+ TESTPYPI_UPLOAD=false
145
+ ANACONDA_UPLOAD=false
146
+ TEST_ANACONDA_UPLOAD=false
147
+ fi
148
+
149
+ # If Anaconda uploads enabled, check necessary username and token are
150
+ # available:
151
+ if [[ "${ANACONDA_UPLOAD}" == true || "${TEST_ANACONDA_UPLOAD}" == true ]]; then
152
+ if [ -z "${{ secrets.ANACONDA_API_TOKEN }}" ]; then
153
+ echo "Anaconda uploads enabled but ANACONDA_API_TOKEN secret not set"
154
+ exit 1
155
+ fi
156
+ if [ -z "${ANACONDA_USER}" ]; then
157
+ echo "Anaconda uploads enabled but ANACONDA_USER not set"
158
+ exit 1
159
+ fi
160
+ fi
161
+
162
+ # If enabled, upload releases to PyPI and Anaconda:
163
+ if [[ "${RELEASE}" == true && "${PYPI_UPLOAD}" == true ]]; then
164
+ PYPI_UPLOAD_THIS_RUN=true
165
+ else
166
+ PYPI_UPLOAD_THIS_RUN=false
167
+ fi
168
+ if [[ "${RELEASE}" == true && "${ANACONDA_UPLOAD}" == true ]]; then
169
+ ANACONDA_UPLOAD_THIS_RUN=true
170
+ else
171
+ ANACONDA_UPLOAD_THIS_RUN=false
172
+ fi
173
+
174
+ # If enabled, upload non-releases to Test PyPI and Anaconda test label:
175
+ if [[ "${RELEASE}" == false && "${TESTPYPI_UPLOAD}" == true ]]; then
176
+ TESTPYPI_UPLOAD_THIS_RUN=true
177
+ else
178
+ TESTPYPI_UPLOAD_THIS_RUN=false
179
+ fi
180
+ if [[ "${RELEASE}" == false && "${TEST_ANACONDA_UPLOAD}" == true ]]; then
181
+ TEST_ANACONDA_UPLOAD_THIS_RUN=true
182
+ else
183
+ TEST_ANACONDA_UPLOAD_THIS_RUN=false
184
+ fi
185
+
186
+ echo "DEFAULT_PYTHON=${DEFAULT_PYTHON}" >> "${GITHUB_OUTPUT}"
187
+ echo "CIBW_BUILD=${CIBW_BUILD}" >> "${GITHUB_OUTPUT}"
188
+ echo "PKGNAME=${PKGNAME}" >> "${GITHUB_OUTPUT}"
189
+ echo "PKGVER=${PKGVER}" >> "${GITHUB_OUTPUT}"
190
+ echo "PURE=${PURE}" >> "${GITHUB_OUTPUT}"
191
+ echo "ANACONDA_USER=${ANACONDA_USER}" >> "${GITHUB_OUTPUT}"
192
+ echo "CONDA_BUILD_ARGS=${CONDA_BUILD_ARGS}" >> "${GITHUB_OUTPUT}"
193
+ echo "BUILD_OS_LIST=${BUILD_OS_LIST}" >> "${GITHUB_OUTPUT}"
194
+ echo "RELEASE=${RELEASE}" >> "${GITHUB_OUTPUT}"
195
+ echo "TESTPYPI_UPLOAD_THIS_RUN=${TESTPYPI_UPLOAD_THIS_RUN}" >> "${GITHUB_OUTPUT}"
196
+ echo "PYPI_UPLOAD_THIS_RUN=${PYPI_UPLOAD_THIS_RUN}" >> "${GITHUB_OUTPUT}"
197
+ echo "TEST_ANACONDA_UPLOAD_THIS_RUN=${TEST_ANACONDA_UPLOAD_THIS_RUN}" >> "${GITHUB_OUTPUT}"
198
+ echo "ANACONDA_UPLOAD_THIS_RUN=${ANACONDA_UPLOAD_THIS_RUN}" >> "${GITHUB_OUTPUT}"
199
+
200
+ echo
201
+ echo "=========================="
202
+ echo "Workflow run configuration:"
203
+ echo "--------------------------"
204
+ cat "${GITHUB_OUTPUT}"
205
+ echo "=========================="
206
+ echo
207
+
208
+
209
+ build:
210
+ name: Build
211
+ runs-on: ${{ matrix.os }}
212
+ needs: configure
213
+ strategy:
214
+ matrix:
215
+ os: ${{ fromJSON(needs.configure.outputs.BUILD_OS_LIST) }}
216
+
217
+ env:
218
+ DEFAULT_PYTHON: ${{ needs.configure.outputs.DEFAULT_PYTHON }}
219
+ CIBW_BUILD: ${{ needs.configure.outputs.CIBW_BUILD }}
220
+ PURE: ${{ needs.configure.outputs.PURE }}
221
+ CONDA_BUILD_ARGS: ${{ needs.configure.outputs.CONDA_BUILD_ARGS }}
222
+
223
+ steps:
224
+ - name: Checkout
225
+ uses: actions/checkout@v4
226
+ with:
227
+ fetch-depth: 0
228
+
229
+ - name: Ignore Tags for non-tag pushes
230
+ if: "!startsWith(github.ref, 'refs/tags/')"
231
+ run: git tag -d $(git tag --points-at HEAD)
232
+
233
+ - name: Install Python
234
+ uses: actions/setup-python@v5
235
+ with:
236
+ python-version: ${{ env.DEFAULT_PYTHON }}
237
+
238
+ - name: Install Python tools
239
+ run: python -m pip install --upgrade pip setuptools wheel build cibuildwheel
240
+
241
+ - name: Source distribution
242
+ if: strategy.job-index == 0
243
+ run: python -m build -s .
244
+
245
+ - name: Wheel distribution (pure)
246
+ if: env.PURE == 'true' && strategy.job-index == 0
247
+ run: python -m build -w .
248
+
249
+ - name: Wheel distribution (impure)
250
+ if: env.PURE == 'false'
251
+ run: cibuildwheel --output-dir dist
252
+
253
+ - name: Upload artifact
254
+ if: env.PURE == 'false' || strategy.job-index == 0
255
+ uses: actions/upload-artifact@v4
256
+ with:
257
+ name: dist-${{ matrix.os }}
258
+ path: ./dist
259
+ if-no-files-found: error
260
+
261
+ - name: Install Miniforge
262
+ uses: conda-incubator/setup-miniconda@v3
263
+ with:
264
+ miniforge-version: "latest"
265
+ auto-update-conda: true
266
+ conda-remove-defaults: true
267
+ auto-activate-base: true
268
+ activate-environment: ""
269
+
270
+ - name: Conda package
271
+ shell: bash -l {0}
272
+ run: |
273
+ if [ "${{ runner.os }}" == Windows ]; then
274
+ # Short path to minimise odds of hitting Windows max path length
275
+ CONDA_BUILD_ARGS+=" --croot ${{ runner.temp }}\cb"
276
+ fi
277
+ conda install -c labscript-suite setuptools-conda "conda-build<25"
278
+ setuptools-conda build $CONDA_BUILD_ARGS .
279
+
280
+ - name: Upload artifact
281
+ uses: actions/upload-artifact@v4
282
+ with:
283
+ name: conda_packages-${{ matrix.os }}
284
+ path: ./conda_packages
285
+ if-no-files-found: error
286
+
287
+
288
+ github-release:
289
+ name: Publish release (GitHub)
290
+ runs-on: ubuntu-latest
291
+ needs: [configure, build]
292
+ if: ${{ needs.configure.outputs.RELEASE == 'true' }}
293
+ permissions:
294
+ contents: write
295
+ env:
296
+ PKGNAME: ${{ needs.configure.outputs.PKGNAME }}
297
+ PKGVER: ${{ needs.configure.outputs.PKGVER }}
298
+
299
+ steps:
300
+ - name: Download Artifact
301
+ uses: actions/download-artifact@v4
302
+ with:
303
+ pattern: dist*
304
+ path: ./dist
305
+ merge-multiple: true
306
+
307
+ - name: Create GitHub release and upload release asset
308
+ uses: softprops/action-gh-release@v2
309
+ env:
310
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
311
+ with:
312
+ tag_name: ${{ github.event.ref }}
313
+ name: ${{ env.PKGNAME }} ${{ env.PKGVER }}
314
+ draft: true
315
+ prerelease: ${{ contains(github.event.ref, 'rc') }}
316
+ files: ./dist/*.tar.gz
317
+
318
+
319
+ testpypi-upload:
320
+ name: Publish on Test PyPI
321
+ runs-on: ubuntu-latest
322
+ needs: [configure, build]
323
+ if: ${{ needs.configure.outputs.TESTPYPI_UPLOAD_THIS_RUN == 'true' }}
324
+ env:
325
+ PKGNAME: ${{ needs.configure.outputs.PKGNAME }}
326
+ PKGVER: ${{ needs.configure.outputs.PKGVER }}
327
+ environment:
328
+ name: testpypi
329
+ url: https://test.pypi.org/project/${{ env.PKGNAME }}/${{ env.PKGVER }}
330
+ permissions:
331
+ id-token: write
332
+
333
+ steps:
334
+ - name: Download Artifact
335
+ uses: actions/download-artifact@v4
336
+ with:
337
+ pattern: dist*
338
+ path: ./dist
339
+ merge-multiple: true
340
+
341
+ - name: Publish on TestPyPI
342
+ uses: pypa/gh-action-pypi-publish@release/v1
343
+ with:
344
+ repository-url: https://test.pypi.org/legacy/
345
+
346
+
347
+ pypi-upload:
348
+ name: Publish on PyPI
349
+ runs-on: ubuntu-latest
350
+ needs: [configure, build]
351
+ if: ${{ needs.configure.outputs.PYPI_UPLOAD_THIS_RUN == 'true' }}
352
+ env:
353
+ PKGNAME: ${{ needs.configure.outputs.PKGNAME }}
354
+ PKGVER: ${{ needs.configure.outputs.PKGVER }}
355
+ environment:
356
+ name: pypi
357
+ url: https://pypi.org/project/${{ env.PKGNAME }}/${{ env.PKGVER }}
358
+ permissions:
359
+ id-token: write
360
+
361
+ steps:
362
+ - name: Download Artifact
363
+ uses: actions/download-artifact@v4
364
+ with:
365
+ pattern: dist*
366
+ path: ./dist
367
+ merge-multiple: true
368
+
369
+ - name: Publish on PyPI
370
+ uses: pypa/gh-action-pypi-publish@release/v1
371
+
372
+
373
+ test-anaconda-upload:
374
+ name: Publish on Anaconda (test label)
375
+ runs-on: ubuntu-latest
376
+ needs: [configure, build]
377
+ if: ${{ needs.configure.outputs.TEST_ANACONDA_UPLOAD_THIS_RUN == 'true' }}
378
+
379
+ steps:
380
+ - name: Download Artifact
381
+ uses: actions/download-artifact@v4
382
+ with:
383
+ pattern: conda_packages-*
384
+ path: ./conda_packages
385
+ merge-multiple: true
386
+
387
+ - name: Install Miniforge
388
+ uses: conda-incubator/setup-miniconda@v3
389
+ with:
390
+ miniforge-version: "latest"
391
+ auto-update-conda: true
392
+ conda-remove-defaults: true
393
+ auto-activate-base: true
394
+ activate-environment: ""
395
+
396
+ - name: Install Anaconda cloud client
397
+ shell: bash -l {0}
398
+ run: conda install anaconda-client
399
+
400
+ - name: Publish to Anaconda test label
401
+ shell: bash -l {0}
402
+ run: |
403
+ anaconda \
404
+ --token ${{ secrets.ANACONDA_API_TOKEN }} \
405
+ upload \
406
+ --skip-existing \
407
+ --user ${{ needs.configure.outputs.ANACONDA_USER }} \
408
+ --label test \
409
+ conda_packages/*/*
410
+
411
+
412
+ anaconda-upload:
413
+ name: Publish on Anaconda
414
+ runs-on: ubuntu-latest
415
+ needs: [configure, build]
416
+ if: ${{ needs.configure.outputs.ANACONDA_UPLOAD_THIS_RUN == 'true' }}
417
+
418
+ steps:
419
+ - name: Download Artifact
420
+ uses: actions/download-artifact@v4
421
+ with:
422
+ pattern: conda_packages-*
423
+ path: ./conda_packages
424
+ merge-multiple: true
425
+
426
+ - name: Install Miniforge
427
+ uses: conda-incubator/setup-miniconda@v3
428
+ with:
429
+ miniforge-version: "latest"
430
+ auto-update-conda: true
431
+ conda-remove-defaults: true
432
+ auto-activate-base: true
433
+ activate-environment: ""
434
+
435
+ - name: Install Anaconda cloud client
436
+ shell: bash -l {0}
437
+ run: conda install anaconda-client
438
+
439
+ - name: Publish to Anaconda main
440
+ shell: bash -l {0}
441
+ run: |
442
+ anaconda \
443
+ --token ${{ secrets.ANACONDA_API_TOKEN }} \
444
+ upload \
445
+ --skip-existing \
446
+ --user ${{ needs.configure.outputs.ANACONDA_USER }} \
447
+ conda_packages/*/*
@@ -1,28 +1,42 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: runviewer
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: A program to view shots compiled by labscript
5
- Home-page: http://labscriptsuite.org
6
- Author: The labscript suite community
7
- Author-email: labscriptsuite@googlegroups.com
8
- License: BSD
9
- Project-URL: Source Code, https://github.com/labscript-suite/runviewer
10
- Project-URL: Download, https://github.com/labscript-suite/runviewer/releases
11
- Project-URL: Tracker, https://github.com/labscript-suite/runviewer/issues
12
- Keywords: experiment visualization
5
+ Author-email: The labscript suite community <labscriptsuite@googlegroups.com>
6
+ License: Copyright (c) 2014, Monash University
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without
10
+ modification, are permitted provided that the following conditions are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright notice, this
13
+ list of conditions and the following disclaimer.
14
+ 2. Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ Project-URL: Homepage, http://labscriptsuite.org/
29
+ Project-URL: Documentation, https://docs.labscriptsuite.org/
30
+ Project-URL: Repository, https://github.com/labscript-suite/runviewer/
31
+ Project-URL: Downloads, https://github.com/labscript-suite/runviewer/releases/
32
+ Project-URL: Tracker, https://github.com/labscript-suite/runviewer/issues/
33
+ Keywords: experiment control,automation
13
34
  Classifier: License :: OSI Approved :: BSD License
14
35
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.6
16
- Classifier: Programming Language :: Python :: 3.7
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
19
- Classifier: Programming Language :: Python :: 3.10
20
- Classifier: Programming Language :: Python :: 3.11
21
- Requires-Python: >=3.6
36
+ Requires-Python: >=3.8
22
37
  Description-Content-Type: text/markdown
23
38
  License-File: LICENSE.txt
24
39
  Requires-Dist: desktop-app>=0.1.2
25
- Requires-Dist: importlib_metadata
26
40
  Requires-Dist: labscript_utils>=3.1.0b1
27
41
  Requires-Dist: labscript-c-extensions
28
42
  Requires-Dist: pyqtgraph>=0.11.1
@@ -31,13 +45,12 @@ Requires-Dist: zprocess
31
45
  Requires-Dist: numpy>=1.15
32
46
  Requires-Dist: scipy
33
47
  Requires-Dist: h5py
34
- Provides-Extra: pyqt
35
- Requires-Dist: PyQt5; extra == "pyqt"
36
48
  Provides-Extra: docs
37
49
  Requires-Dist: PyQt5; extra == "docs"
38
50
  Requires-Dist: Sphinx==7.2.6; extra == "docs"
39
51
  Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "docs"
40
52
  Requires-Dist: myst_parser==2.0.0; extra == "docs"
53
+ Dynamic: license-file
41
54
 
42
55
  <img src="https://raw.githubusercontent.com/labscript-suite/labscript-suite/master/art/runviewer_32nx32n.svg" height="64" alt="the labscript suite – runviewer" align="right">
43
56
 
@@ -45,7 +58,7 @@ Requires-Dist: myst_parser==2.0.0; extra == "docs"
45
58
 
46
59
  ### Visualize hardware-timed experiment instructions
47
60
 
48
- [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg?branch=maintenance%2F3.0.x)](https://github.com/labscript-suite/runviewer/actions)
61
+ [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg)](https://github.com/labscript-suite/runviewer/actions)
49
62
  [![License](https://img.shields.io/pypi/l/runviewer.svg)](https://github.com/labscriptsuite/runviewer/raw/master/LICENSE.txt)
50
63
  [![Python Version](https://img.shields.io/pypi/pyversions/runviewer.svg)](https://python.org)
51
64
  [![PyPI](https://img.shields.io/pypi/v/runviewer.svg)](https://pypi.org/project/runviewer)
@@ -4,7 +4,7 @@
4
4
 
5
5
  ### Visualize hardware-timed experiment instructions
6
6
 
7
- [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg?branch=maintenance%2F3.0.x)](https://github.com/labscript-suite/runviewer/actions)
7
+ [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg)](https://github.com/labscript-suite/runviewer/actions)
8
8
  [![License](https://img.shields.io/pypi/l/runviewer.svg)](https://github.com/labscriptsuite/runviewer/raw/master/LICENSE.txt)
9
9
  [![Python Version](https://img.shields.io/pypi/pyversions/runviewer.svg)](https://python.org)
10
10
  [![PyPI](https://img.shields.io/pypi/v/runviewer.svg)](https://pypi.org/project/runviewer)
@@ -0,0 +1,66 @@
1
+ [build-system]
2
+ requires = ["setuptools>=64", "setuptools_scm>=8"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools_scm]
6
+ version_scheme = "release-branch-semver"
7
+ local_scheme = "no-local-version"
8
+
9
+ [tool.setuptools]
10
+ zip-safe = false
11
+ include-package-data = true
12
+
13
+ [tool.setuptools.packages]
14
+ find = {namespaces = false}
15
+
16
+
17
+ [project]
18
+ name = "runviewer"
19
+ description = "A program to view shots compiled by labscript"
20
+ authors = [
21
+ {name = "The labscript suite community", email = "labscriptsuite@googlegroups.com"},
22
+ ]
23
+ keywords = ["experiment control", "automation"]
24
+ license = {file = 'LICENSE.txt'}
25
+ classifiers = [
26
+ "License :: OSI Approved :: BSD License",
27
+ "Programming Language :: Python :: 3 :: Only",
28
+ ]
29
+ requires-python = ">=3.8"
30
+ dependencies = [
31
+ "desktop-app>=0.1.2",
32
+ "labscript_utils>=3.1.0b1",
33
+ "labscript-c-extensions",
34
+ "pyqtgraph>=0.11.1",
35
+ "qtutils>=2.0.0",
36
+ "zprocess",
37
+ "numpy>=1.15",
38
+ "scipy",
39
+ "h5py",
40
+ ]
41
+ dynamic = ["version"]
42
+
43
+ [project.readme]
44
+ file = "README.md"
45
+ content-type = "text/markdown"
46
+
47
+ [project.urls]
48
+ Homepage = "http://labscriptsuite.org/"
49
+ Documentation = "https://docs.labscriptsuite.org/"
50
+ Repository = "https://github.com/labscript-suite/runviewer/"
51
+ Downloads = "https://github.com/labscript-suite/runviewer/releases/"
52
+ Tracker = "https://github.com/labscript-suite/runviewer/issues/"
53
+
54
+ [project.optional-dependencies]
55
+ docs = [
56
+ "PyQt5",
57
+ "Sphinx==7.2.6",
58
+ "sphinx-rtd-theme==2.0.0",
59
+ "myst_parser==2.0.0",
60
+ ]
61
+
62
+ [project.scripts]
63
+ runviewer = "desktop_app:entry_point"
64
+
65
+ [project.gui-scripts]
66
+ runviewer-gui = "desktop_app:entry_point"
@@ -0,0 +1,27 @@
1
+ from pathlib import Path
2
+ try:
3
+ import importlib.metadata as importlib_metadata
4
+ except ImportError:
5
+ import importlib_metadata
6
+
7
+ root = Path(__file__).parent.parent
8
+ if (root / '.git').is_dir():
9
+ try:
10
+ from setuptools_scm import get_version
11
+ VERSION_SCHEME = {
12
+ "version_scheme": "release-branch-semver",
13
+ "local_scheme": "node-and-date",
14
+ }
15
+ scm_version = get_version(root, **VERSION_SCHEME)
16
+ except ImportError:
17
+ scm_version = None
18
+ else:
19
+ scm_version = None
20
+
21
+ if scm_version is not None:
22
+ __version__ = scm_version
23
+ else:
24
+ try:
25
+ __version__ = importlib_metadata.version(__package__)
26
+ except importlib_metadata.PackageNotFoundError:
27
+ __version__ = None
@@ -1,28 +1,42 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: runviewer
3
- Version: 3.2.2
3
+ Version: 3.2.3
4
4
  Summary: A program to view shots compiled by labscript
5
- Home-page: http://labscriptsuite.org
6
- Author: The labscript suite community
7
- Author-email: labscriptsuite@googlegroups.com
8
- License: BSD
9
- Project-URL: Source Code, https://github.com/labscript-suite/runviewer
10
- Project-URL: Download, https://github.com/labscript-suite/runviewer/releases
11
- Project-URL: Tracker, https://github.com/labscript-suite/runviewer/issues
12
- Keywords: experiment visualization
5
+ Author-email: The labscript suite community <labscriptsuite@googlegroups.com>
6
+ License: Copyright (c) 2014, Monash University
7
+ All rights reserved.
8
+
9
+ Redistribution and use in source and binary forms, with or without
10
+ modification, are permitted provided that the following conditions are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright notice, this
13
+ list of conditions and the following disclaimer.
14
+ 2. Redistributions in binary form must reproduce the above copyright notice,
15
+ this list of conditions and the following disclaimer in the documentation
16
+ and/or other materials provided with the distribution.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ Project-URL: Homepage, http://labscriptsuite.org/
29
+ Project-URL: Documentation, https://docs.labscriptsuite.org/
30
+ Project-URL: Repository, https://github.com/labscript-suite/runviewer/
31
+ Project-URL: Downloads, https://github.com/labscript-suite/runviewer/releases/
32
+ Project-URL: Tracker, https://github.com/labscript-suite/runviewer/issues/
33
+ Keywords: experiment control,automation
13
34
  Classifier: License :: OSI Approved :: BSD License
14
35
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.6
16
- Classifier: Programming Language :: Python :: 3.7
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
19
- Classifier: Programming Language :: Python :: 3.10
20
- Classifier: Programming Language :: Python :: 3.11
21
- Requires-Python: >=3.6
36
+ Requires-Python: >=3.8
22
37
  Description-Content-Type: text/markdown
23
38
  License-File: LICENSE.txt
24
39
  Requires-Dist: desktop-app>=0.1.2
25
- Requires-Dist: importlib_metadata
26
40
  Requires-Dist: labscript_utils>=3.1.0b1
27
41
  Requires-Dist: labscript-c-extensions
28
42
  Requires-Dist: pyqtgraph>=0.11.1
@@ -31,13 +45,12 @@ Requires-Dist: zprocess
31
45
  Requires-Dist: numpy>=1.15
32
46
  Requires-Dist: scipy
33
47
  Requires-Dist: h5py
34
- Provides-Extra: pyqt
35
- Requires-Dist: PyQt5; extra == "pyqt"
36
48
  Provides-Extra: docs
37
49
  Requires-Dist: PyQt5; extra == "docs"
38
50
  Requires-Dist: Sphinx==7.2.6; extra == "docs"
39
51
  Requires-Dist: sphinx-rtd-theme==2.0.0; extra == "docs"
40
52
  Requires-Dist: myst_parser==2.0.0; extra == "docs"
53
+ Dynamic: license-file
41
54
 
42
55
  <img src="https://raw.githubusercontent.com/labscript-suite/labscript-suite/master/art/runviewer_32nx32n.svg" height="64" alt="the labscript suite – runviewer" align="right">
43
56
 
@@ -45,7 +58,7 @@ Requires-Dist: myst_parser==2.0.0; extra == "docs"
45
58
 
46
59
  ### Visualize hardware-timed experiment instructions
47
60
 
48
- [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg?branch=maintenance%2F3.0.x)](https://github.com/labscript-suite/runviewer/actions)
61
+ [![Actions Status](https://github.com/labscript-suite/runviewer/workflows/Build%20and%20Release/badge.svg)](https://github.com/labscript-suite/runviewer/actions)
49
62
  [![License](https://img.shields.io/pypi/l/runviewer.svg)](https://github.com/labscriptsuite/runviewer/raw/master/LICENSE.txt)
50
63
  [![Python Version](https://img.shields.io/pypi/pyversions/runviewer.svg)](https://python.org)
51
64
  [![PyPI](https://img.shields.io/pypi/v/runviewer.svg)](https://pypi.org/project/runviewer)
@@ -3,8 +3,7 @@ LICENSE.txt
3
3
  README.md
4
4
  pyproject.toml
5
5
  readthedocs.yaml
6
- setup.cfg
7
- setup.py
6
+ .github/workflows/release-vars.sh
8
7
  .github/workflows/release.yml
9
8
  docs/Makefile
10
9
  docs/make.bat
@@ -1,5 +1,4 @@
1
1
  desktop-app>=0.1.2
2
- importlib_metadata
3
2
  labscript_utils>=3.1.0b1
4
3
  labscript-c-extensions
5
4
  pyqtgraph>=0.11.1
@@ -14,6 +13,3 @@ PyQt5
14
13
  Sphinx==7.2.6
15
14
  sphinx-rtd-theme==2.0.0
16
15
  myst_parser==2.0.0
17
-
18
- [pyqt]
19
- PyQt5
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,256 +0,0 @@
1
- name: Build and Release
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- - maintenance/*
8
- create:
9
- tags:
10
- - 'v[0-9]+.[0-9]+.[0-9]+*'
11
-
12
- env:
13
- PACKAGE_NAME: runviewer
14
- SCM_LOCAL_SCHEME: no-local-version
15
- ANACONDA_USER: labscript-suite
16
-
17
- # Configuration for a package with compiled extensions:
18
- # PURE: false
19
- # NOARCH: false
20
-
21
- # Configuration for a package with no extensions, but with dependencies that differ by
22
- # platform or Python version:
23
- # PURE: true
24
- # NOARCH: false
25
-
26
- # Configuration for a package with no extensions and the same dependencies on all
27
- # platforms and Python versions. For this configuration you should comment out all but
28
- # the first entry in the job matrix of the build job since multiple platforms are not
29
- # needed.
30
- PURE: true
31
- NOARCH: true
32
-
33
- jobs:
34
- build:
35
- name: Build
36
- runs-on: ${{ matrix.os }}
37
- strategy:
38
- matrix:
39
- include:
40
- - { os: ubuntu-latest, python: '3.11', arch: x64, conda: true}
41
- # - { os: ubuntu-latest, python: '3.10', arch: x64, conda: true }
42
- # - { os: ubuntu-latest, python: '3.9', arch: x64, conda: true }
43
- # - { os: ubuntu-latest, python: '3.8', arch: x64, conda: true }
44
- # - { os: ubuntu-latest, python: '3.7', arch: x64, conda: true }
45
-
46
- # - { os: macos-11, python: '3.11', arch: x64, conda: true }
47
- # - { os: macos-11, python: '3.10', arch: x64, conda: true }
48
- # - { os: macos-11, python: '3.9', arch: x64, conda: true }
49
- # - { os: macos-11, python: '3.8', arch: x64, conda: true }
50
- # - { os: macos-11, python: '3.7', arch: x64, conda: true }
51
-
52
- # - { os: windows-latest, python: '3.11', arch: x64, conda: true }
53
- # - { os: windows-latest, python: '3.10', arch: x64, conda: true }
54
- # - { os: windows-latest, python: '3.9', arch: x64, conda: true }
55
- # - { os: windows-latest, python: '3.8', arch: x64, conda: true }
56
- # - { os: windows-latest, python: '3.7', arch: x64, conda: true }
57
-
58
- # - { os: windows-latest, python: '3.11', arch: x86, conda: false } # conda not yet available
59
- # - { os: windows-latest, python: '3.10', arch: x86, conda: true }
60
- # - { os: windows-latest, python: '3.9', arch: x86, conda: true }
61
- # - { os: windows-latest, python: '3.8', arch: x86, conda: true }
62
- # - { os: windows-latest, python: '3.7', arch: x86, conda: true }
63
-
64
- if: github.repository == 'labscript-suite/runviewer' && (github.event_name != 'create' || github.event.ref_type != 'branch')
65
- steps:
66
- - name: Checkout
67
- uses: actions/checkout@v4
68
- with:
69
- fetch-depth: 0
70
-
71
- - name: Ignore Tags
72
- if: github.event.ref_type != 'tag'
73
- run: git tag -d $(git tag --points-at HEAD)
74
-
75
- - name: Install Python
76
- uses: actions/setup-python@v5
77
- with:
78
- python-version: ${{ matrix.python }}
79
- architecture: ${{ matrix.arch }}
80
-
81
- - name: Source Distribution
82
- if: strategy.job-index == 0
83
- run: |
84
- python -m pip install --upgrade pip setuptools wheel build
85
- python -m build -s .
86
-
87
- - name: Wheel Distribution
88
- # Impure Linux wheels are built in the manylinux job.
89
- if: (env.PURE == 'true' && strategy.job-index == 0) || (env.PURE == 'false' && runner.os != 'Linux')
90
- run: |
91
- python -m pip install --upgrade pip setuptools wheel build
92
- python -m build -w .
93
-
94
- - name: Upload Artifact
95
- if: strategy.job-index == 0 || (env.PURE == 'false' && runner.os != 'Linux')
96
- uses: actions/upload-artifact@v4
97
- with:
98
- name: dist
99
- path: ./dist
100
-
101
- - name: Set Variables for Conda Build
102
- if: matrix.conda
103
- shell: bash
104
- run: |
105
- if [ $NOARCH == true ]; then
106
- CONDA_BUILD_ARGS="--noarch"
107
- else
108
- CONDA_BUILD_ARGS=""
109
- fi
110
- echo "CONDA_BUILD_ARGS=$CONDA_BUILD_ARGS" >> $GITHUB_ENV
111
-
112
- - name: Install Miniconda
113
- if: matrix.conda
114
- uses: conda-incubator/setup-miniconda@v3
115
- with:
116
- auto-update-conda: true
117
- python-version: ${{ matrix.python }}
118
- architecture: ${{ matrix.arch }}
119
- miniconda-version: "latest"
120
-
121
- - name: Workaround conda-build incompatibility with xcode 12+
122
- if: runner.os == 'macOS'
123
- uses: maxim-lobanov/setup-xcode@v1
124
- with:
125
- xcode-version: 11.7
126
-
127
- - name: Conda package (Unix)
128
- if: (matrix.conda && runner.os != 'Windows')
129
- shell: bash -l {0}
130
- run: |
131
- conda install -c labscript-suite setuptools-conda
132
- setuptools-conda build $CONDA_BUILD_ARGS .
133
-
134
- - name: Conda Package (Windows)
135
- if: (matrix.conda && runner.os == 'Windows')
136
- shell: cmd /C CALL {0}
137
- run: |
138
- conda install -c labscript-suite setuptools-conda && ^
139
- setuptools-conda build %CONDA_BUILD_ARGS% --croot ${{ runner.temp }}\cb .
140
-
141
- - name: Upload Artifact
142
- if: matrix.conda
143
- uses: actions/upload-artifact@v4
144
- with:
145
- name: conda_packages
146
- path: ./conda_packages
147
-
148
-
149
- manylinux:
150
- name: Build Manylinux
151
- runs-on: ubuntu-latest
152
- if: github.repository == 'labscript-suite/runviewer' && (github.event_name != 'create' || github.event.ref_type != 'branch')
153
- steps:
154
- - name: Checkout
155
- if: env.PURE == 'false'
156
- uses: actions/checkout@v4
157
- with:
158
- fetch-depth: 0
159
-
160
- - name: Ignore Tags
161
- if: github.event.ref_type != 'tag' && env.PURE == 'false'
162
- run: git tag -d $(git tag --points-at HEAD)
163
-
164
- - name: Build Manylinux Wheels
165
- if: env.PURE == 'false'
166
- uses: RalfG/python-wheels-manylinux-build@v0.4.2
167
- with:
168
- python-versions: 'cp37-cp37m cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311'
169
- pre-build-command: 'git config --global --add safe.directory "*"'
170
-
171
- - name: Upload Artifact
172
- if: env.PURE == 'false'
173
- uses: actions/upload-artifact@v4
174
- with:
175
- name: dist
176
- path: dist/*manylinux*.whl
177
-
178
- release:
179
- name: Release
180
- runs-on: ubuntu-latest
181
- needs: [build, manylinux]
182
- steps:
183
-
184
- - name: Download Artifact
185
- uses: actions/download-artifact@v4
186
- with:
187
- name: dist
188
- path: ./dist
189
-
190
- - name: Download Artifact
191
- uses: actions/download-artifact@v4
192
- with:
193
- name: conda_packages
194
- path: ./conda_packages
195
-
196
- - name: Get Version Number
197
- if: github.event.ref_type == 'tag'
198
- run: |
199
- VERSION="${GITHUB_REF/refs\/tags\/v/}"
200
- echo "VERSION=$VERSION" >> $GITHUB_ENV
201
-
202
- - name: Create GitHub Release and Upload Release Asset
203
- if: github.event.ref_type == 'tag'
204
- uses: softprops/action-gh-release@v1
205
- env:
206
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
207
- with:
208
- tag_name: ${{ github.event.ref }}
209
- name: ${{ env.PACKAGE_NAME }} ${{ env.VERSION }}
210
- draft: true
211
- prerelease: ${{ contains(github.event.ref, 'rc') }}
212
- files: ./dist/${{ env.PACKAGE_NAME }}-${{ env.VERSION }}.tar.gz
213
-
214
- - name: Publish on TestPyPI
215
- uses: pypa/gh-action-pypi-publish@release/v1
216
- with:
217
- user: __token__
218
- password: ${{ secrets.testpypi }}
219
- repository-url: https://test.pypi.org/legacy/
220
-
221
- - name: Publish on PyPI
222
- if: github.event.ref_type == 'tag'
223
- uses: pypa/gh-action-pypi-publish@release/v1
224
- with:
225
- user: __token__
226
- password: ${{ secrets.pypi }}
227
-
228
- - name: Install Miniconda
229
- uses: conda-incubator/setup-miniconda@v3
230
- with:
231
- auto-update-conda: true
232
-
233
- - name: Install Anaconda cloud client
234
- shell: bash -l {0}
235
- run: conda install anaconda-client
236
-
237
- - name: Publish to Anaconda test label
238
- if: github.event.ref_type != 'tag'
239
- shell: bash -l {0}
240
- run: |
241
- anaconda \
242
- --token ${{ secrets.ANACONDA_API_TOKEN }} \
243
- upload \
244
- --user $ANACONDA_USER \
245
- --label test \
246
- conda_packages/*/*
247
-
248
- - name: Publish to Anaconda main label
249
- shell: bash -l {0}
250
- if: github.event.ref_type == 'tag'
251
- run: |
252
- anaconda \
253
- --token ${{ secrets.ANACONDA_API_TOKEN }} \
254
- upload \
255
- --user $ANACONDA_USER \
256
- conda_packages/*/*
@@ -1,5 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=64", "wheel", "setuptools_scm>=8", "cython"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [tool.setuptools_scm]
@@ -1,21 +0,0 @@
1
- import os
2
- from pathlib import Path
3
- try:
4
- import importlib.metadata as importlib_metadata
5
- except ImportError:
6
- import importlib_metadata
7
-
8
- VERSION_SCHEME = {
9
- "version_scheme": os.getenv("SCM_VERSION_SCHEME", "release-branch-semver"),
10
- "local_scheme": os.getenv("SCM_LOCAL_SCHEME", "node-and-date"),
11
- }
12
-
13
- root = Path(__file__).parent.parent
14
- if (root / '.git').is_dir():
15
- from setuptools_scm import get_version
16
- __version__ = get_version(root, **VERSION_SCHEME)
17
- else:
18
- try:
19
- __version__ = importlib_metadata.version(__package__)
20
- except importlib_metadata.PackageNotFoundError:
21
- __version__ = None
runviewer-3.2.2/setup.cfg DELETED
@@ -1,59 +0,0 @@
1
- [metadata]
2
- name = runviewer
3
- description = A program to view shots compiled by labscript
4
- long_description = file: README.md
5
- long_description_content_type = text/markdown
6
- author = The labscript suite community
7
- author_email = labscriptsuite@googlegroups.com
8
- url = http://labscriptsuite.org
9
- project_urls =
10
- Source Code=https://github.com/labscript-suite/runviewer
11
- Download=https://github.com/labscript-suite/runviewer/releases
12
- Tracker=https://github.com/labscript-suite/runviewer/issues
13
- keywords = experiment visualization
14
- license = BSD
15
- classifiers =
16
- License :: OSI Approved :: BSD License
17
- Programming Language :: Python :: 3 :: Only
18
- Programming Language :: Python :: 3.6
19
- Programming Language :: Python :: 3.7
20
- Programming Language :: Python :: 3.8
21
- Programming Language :: Python :: 3.9
22
- Programming Language :: Python :: 3.10
23
- Programming Language :: Python :: 3.11
24
-
25
- [options]
26
- zip_safe = False
27
- include_package_data = True
28
- packages = find:
29
- python_requires = >=3.6
30
- install_requires =
31
- desktop-app>=0.1.2
32
- importlib_metadata
33
- labscript_utils>=3.1.0b1
34
- labscript-c-extensions
35
- pyqtgraph>=0.11.1
36
- qtutils>=2.0.0
37
- zprocess
38
- numpy>=1.15
39
- scipy
40
- h5py
41
-
42
- [options.entry_points]
43
- console_scripts =
44
- runviewer = desktop_app:entry_point
45
- gui_scripts =
46
- runviewer-gui = desktop_app:entry_point
47
-
48
- [options.extras_require]
49
- pyqt = PyQt5
50
- docs =
51
- PyQt5
52
- Sphinx==7.2.6
53
- sphinx-rtd-theme==2.0.0
54
- myst_parser==2.0.0
55
-
56
- [egg_info]
57
- tag_build =
58
- tag_date = 0
59
-
runviewer-3.2.2/setup.py DELETED
@@ -1,9 +0,0 @@
1
- import os
2
- from setuptools import setup
3
-
4
- VERSION_SCHEME = {
5
- "version_scheme": os.getenv("SCM_VERSION_SCHEME", "release-branch-semver"),
6
- "local_scheme": os.getenv("SCM_LOCAL_SCHEME", "node-and-date"),
7
- }
8
-
9
- setup(use_scm_version=VERSION_SCHEME)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes