labscript-c-extensions 1.2.1__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/.github/workflows/release.yml +38 -27
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/PKG-INFO +7 -2
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions/__version__.py +3 -6
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/PKG-INFO +7 -2
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/SOURCES.txt +2 -1
- labscript_c_extensions-1.4.0/labscript_c_extensions.egg-info/scm_file_list.json +14 -0
- labscript_c_extensions-1.4.0/labscript_c_extensions.egg-info/scm_version.json +8 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/pyproject.toml +10 -2
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/src/runviewer/resample.pyx +10 -8
- labscript_c_extensions-1.2.1/setup.py +0 -19
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/.github/workflows/release-vars.sh +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/.gitignore +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/LICENSE.txt +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/README.md +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions/__init__.py +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions/runviewer/__init__.py +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/dependency_links.txt +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/not-zip-safe +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/requires.txt +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions.egg-info/top_level.txt +0 -0
- {labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/setup.cfg +0 -0
|
@@ -10,7 +10,7 @@ on:
|
|
|
10
10
|
|
|
11
11
|
env:
|
|
12
12
|
OS_LIST_UBUNTU: '["ubuntu-latest"]'
|
|
13
|
-
OS_LIST_ALL: '["ubuntu-latest", "windows-
|
|
13
|
+
OS_LIST_ALL: '["ubuntu-latest", "windows-2022", "macos-latest", "macos-15-intel"]'
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
jobs:
|
|
@@ -34,23 +34,26 @@ jobs:
|
|
|
34
34
|
|
|
35
35
|
steps:
|
|
36
36
|
- name: Checkout
|
|
37
|
-
uses: actions/checkout@
|
|
37
|
+
uses: actions/checkout@v6
|
|
38
38
|
with:
|
|
39
39
|
fetch-depth: 0
|
|
40
40
|
|
|
41
|
-
- name: Ignore
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
- name: Ignore tags other than the pushed tag
|
|
42
|
+
# The version comes from the tags at HEAD, so a commit that carries both an rc
|
|
43
|
+
# tag and a final tag builds the version of the tag that was pushed, and a branch
|
|
44
|
+
# push of a tagged commit builds a development version.
|
|
45
|
+
shell: bash
|
|
46
|
+
run: git tag -d $(git tag --points-at HEAD | grep -vx "${GITHUB_REF_NAME}" || true)
|
|
44
47
|
|
|
45
48
|
- name: Install Python
|
|
46
|
-
uses: actions/setup-python@
|
|
49
|
+
uses: actions/setup-python@v6
|
|
47
50
|
with:
|
|
48
51
|
python-version: '3.x'
|
|
49
52
|
|
|
50
53
|
- name: Configure workflow
|
|
51
54
|
id: config
|
|
52
55
|
run: |
|
|
53
|
-
pip install ci-helper
|
|
56
|
+
pip install ci-helper
|
|
54
57
|
|
|
55
58
|
# Load repo-specific variables and overrides:
|
|
56
59
|
VARS_FILE=".github/workflows/release-vars.sh"
|
|
@@ -222,16 +225,19 @@ jobs:
|
|
|
222
225
|
|
|
223
226
|
steps:
|
|
224
227
|
- name: Checkout
|
|
225
|
-
uses: actions/checkout@
|
|
228
|
+
uses: actions/checkout@v6
|
|
226
229
|
with:
|
|
227
230
|
fetch-depth: 0
|
|
228
231
|
|
|
229
|
-
- name: Ignore
|
|
230
|
-
|
|
231
|
-
|
|
232
|
+
- name: Ignore tags other than the pushed tag
|
|
233
|
+
# The version comes from the tags at HEAD, so a commit that carries both an rc
|
|
234
|
+
# tag and a final tag builds the version of the tag that was pushed, and a branch
|
|
235
|
+
# push of a tagged commit builds a development version.
|
|
236
|
+
shell: bash
|
|
237
|
+
run: git tag -d $(git tag --points-at HEAD | grep -vx "${GITHUB_REF_NAME}" || true)
|
|
232
238
|
|
|
233
239
|
- name: Install Python
|
|
234
|
-
uses: actions/setup-python@
|
|
240
|
+
uses: actions/setup-python@v6
|
|
235
241
|
with:
|
|
236
242
|
python-version: ${{ env.DEFAULT_PYTHON }}
|
|
237
243
|
|
|
@@ -252,19 +258,19 @@ jobs:
|
|
|
252
258
|
|
|
253
259
|
- name: Upload artifact
|
|
254
260
|
if: env.PURE == 'false' || strategy.job-index == 0
|
|
255
|
-
uses: actions/upload-artifact@
|
|
261
|
+
uses: actions/upload-artifact@v6
|
|
256
262
|
with:
|
|
257
263
|
name: dist-${{ matrix.os }}
|
|
258
264
|
path: ./dist
|
|
259
265
|
if-no-files-found: error
|
|
260
266
|
|
|
261
267
|
- name: Install Miniforge
|
|
262
|
-
uses: conda-incubator/setup-miniconda@
|
|
268
|
+
uses: conda-incubator/setup-miniconda@v4
|
|
263
269
|
with:
|
|
264
270
|
miniforge-version: "latest"
|
|
265
271
|
auto-update-conda: true
|
|
266
272
|
conda-remove-defaults: true
|
|
267
|
-
auto-activate
|
|
273
|
+
auto-activate: true
|
|
268
274
|
activate-environment: ""
|
|
269
275
|
|
|
270
276
|
- name: Conda package
|
|
@@ -274,11 +280,11 @@ jobs:
|
|
|
274
280
|
# Short path to minimise odds of hitting Windows max path length
|
|
275
281
|
CONDA_BUILD_ARGS+=" --croot ${{ runner.temp }}\cb"
|
|
276
282
|
fi
|
|
277
|
-
conda install -c labscript-suite setuptools-conda
|
|
283
|
+
conda install -c labscript-suite setuptools-conda
|
|
278
284
|
setuptools-conda build $CONDA_BUILD_ARGS .
|
|
279
285
|
|
|
280
286
|
- name: Upload artifact
|
|
281
|
-
uses: actions/upload-artifact@
|
|
287
|
+
uses: actions/upload-artifact@v6
|
|
282
288
|
with:
|
|
283
289
|
name: conda_packages-${{ matrix.os }}
|
|
284
290
|
path: ./conda_packages
|
|
@@ -298,14 +304,14 @@ jobs:
|
|
|
298
304
|
|
|
299
305
|
steps:
|
|
300
306
|
- name: Download Artifact
|
|
301
|
-
uses: actions/download-artifact@
|
|
307
|
+
uses: actions/download-artifact@v8
|
|
302
308
|
with:
|
|
303
309
|
pattern: dist*
|
|
304
310
|
path: ./dist
|
|
305
311
|
merge-multiple: true
|
|
306
312
|
|
|
307
313
|
- name: Create GitHub release and upload release asset
|
|
308
|
-
uses: softprops/action-gh-release@
|
|
314
|
+
uses: softprops/action-gh-release@v3
|
|
309
315
|
env:
|
|
310
316
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
311
317
|
with:
|
|
@@ -332,7 +338,7 @@ jobs:
|
|
|
332
338
|
|
|
333
339
|
steps:
|
|
334
340
|
- name: Download Artifact
|
|
335
|
-
uses: actions/download-artifact@
|
|
341
|
+
uses: actions/download-artifact@v8
|
|
336
342
|
with:
|
|
337
343
|
pattern: dist*
|
|
338
344
|
path: ./dist
|
|
@@ -342,6 +348,8 @@ jobs:
|
|
|
342
348
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
343
349
|
with:
|
|
344
350
|
repository-url: https://test.pypi.org/legacy/
|
|
351
|
+
verbose: true
|
|
352
|
+
skip-existing: true
|
|
345
353
|
|
|
346
354
|
|
|
347
355
|
pypi-upload:
|
|
@@ -360,7 +368,7 @@ jobs:
|
|
|
360
368
|
|
|
361
369
|
steps:
|
|
362
370
|
- name: Download Artifact
|
|
363
|
-
uses: actions/download-artifact@
|
|
371
|
+
uses: actions/download-artifact@v8
|
|
364
372
|
with:
|
|
365
373
|
pattern: dist*
|
|
366
374
|
path: ./dist
|
|
@@ -368,6 +376,9 @@ jobs:
|
|
|
368
376
|
|
|
369
377
|
- name: Publish on PyPI
|
|
370
378
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
379
|
+
with:
|
|
380
|
+
verbose: true
|
|
381
|
+
skip-existing: true
|
|
371
382
|
|
|
372
383
|
|
|
373
384
|
test-anaconda-upload:
|
|
@@ -378,19 +389,19 @@ jobs:
|
|
|
378
389
|
|
|
379
390
|
steps:
|
|
380
391
|
- name: Download Artifact
|
|
381
|
-
uses: actions/download-artifact@
|
|
392
|
+
uses: actions/download-artifact@v8
|
|
382
393
|
with:
|
|
383
394
|
pattern: conda_packages-*
|
|
384
395
|
path: ./conda_packages
|
|
385
396
|
merge-multiple: true
|
|
386
397
|
|
|
387
398
|
- name: Install Miniforge
|
|
388
|
-
uses: conda-incubator/setup-miniconda@
|
|
399
|
+
uses: conda-incubator/setup-miniconda@v4
|
|
389
400
|
with:
|
|
390
401
|
miniforge-version: "latest"
|
|
391
402
|
auto-update-conda: true
|
|
392
403
|
conda-remove-defaults: true
|
|
393
|
-
auto-activate
|
|
404
|
+
auto-activate: true
|
|
394
405
|
activate-environment: ""
|
|
395
406
|
|
|
396
407
|
- name: Install Anaconda cloud client
|
|
@@ -417,19 +428,19 @@ jobs:
|
|
|
417
428
|
|
|
418
429
|
steps:
|
|
419
430
|
- name: Download Artifact
|
|
420
|
-
uses: actions/download-artifact@
|
|
431
|
+
uses: actions/download-artifact@v8
|
|
421
432
|
with:
|
|
422
433
|
pattern: conda_packages-*
|
|
423
434
|
path: ./conda_packages
|
|
424
435
|
merge-multiple: true
|
|
425
436
|
|
|
426
437
|
- name: Install Miniforge
|
|
427
|
-
uses: conda-incubator/setup-miniconda@
|
|
438
|
+
uses: conda-incubator/setup-miniconda@v4
|
|
428
439
|
with:
|
|
429
440
|
miniforge-version: "latest"
|
|
430
441
|
auto-update-conda: true
|
|
431
442
|
conda-remove-defaults: true
|
|
432
|
-
auto-activate
|
|
443
|
+
auto-activate: true
|
|
433
444
|
activate-environment: ""
|
|
434
445
|
|
|
435
446
|
- name: Install Anaconda cloud client
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: labscript-c-extensions
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: A module containing C-extensions for the labscript suite
|
|
5
5
|
Author-email: The labscript suite community <labscriptsuite@googlegroups.com>
|
|
6
6
|
License: BSD 2-Clause License
|
|
@@ -37,7 +37,12 @@ Project-URL: Tracker, https://github.com/labscript-suite/labscript-c-extension/i
|
|
|
37
37
|
Keywords: experiment control,automation,visualization
|
|
38
38
|
Classifier: License :: OSI Approved :: BSD License
|
|
39
39
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
40
|
-
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
41
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
42
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
43
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
44
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
45
|
+
Requires-Python: >=3.11
|
|
41
46
|
Description-Content-Type: text/markdown
|
|
42
47
|
License-File: LICENSE.txt
|
|
43
48
|
Requires-Dist: numpy>=1.17.3
|
{labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions/__version__.py
RENAMED
|
@@ -11,10 +11,7 @@
|
|
|
11
11
|
# #
|
|
12
12
|
#####################################################################
|
|
13
13
|
from pathlib import Path
|
|
14
|
-
|
|
15
|
-
import importlib.metadata as importlib_metadata
|
|
16
|
-
except ImportError:
|
|
17
|
-
import importlib_metadata
|
|
14
|
+
import importlib.metadata
|
|
18
15
|
|
|
19
16
|
root = Path(__file__).parent.parent
|
|
20
17
|
if (root / '.git').is_dir():
|
|
@@ -34,6 +31,6 @@ if scm_version is not None:
|
|
|
34
31
|
__version__ = scm_version
|
|
35
32
|
else:
|
|
36
33
|
try:
|
|
37
|
-
__version__ =
|
|
38
|
-
except
|
|
34
|
+
__version__ = importlib.metadata.version(__package__)
|
|
35
|
+
except importlib.metadata.PackageNotFoundError:
|
|
39
36
|
__version__ = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: labscript-c-extensions
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: A module containing C-extensions for the labscript suite
|
|
5
5
|
Author-email: The labscript suite community <labscriptsuite@googlegroups.com>
|
|
6
6
|
License: BSD 2-Clause License
|
|
@@ -37,7 +37,12 @@ Project-URL: Tracker, https://github.com/labscript-suite/labscript-c-extension/i
|
|
|
37
37
|
Keywords: experiment control,automation,visualization
|
|
38
38
|
Classifier: License :: OSI Approved :: BSD License
|
|
39
39
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
40
|
-
|
|
40
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
41
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
42
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
43
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
44
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
45
|
+
Requires-Python: >=3.11
|
|
41
46
|
Description-Content-Type: text/markdown
|
|
42
47
|
License-File: LICENSE.txt
|
|
43
48
|
Requires-Dist: numpy>=1.17.3
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
LICENSE.txt
|
|
3
3
|
README.md
|
|
4
4
|
pyproject.toml
|
|
5
|
-
setup.py
|
|
6
5
|
.github/workflows/release-vars.sh
|
|
7
6
|
.github/workflows/release.yml
|
|
8
7
|
labscript_c_extensions/__init__.py
|
|
@@ -12,6 +11,8 @@ labscript_c_extensions.egg-info/SOURCES.txt
|
|
|
12
11
|
labscript_c_extensions.egg-info/dependency_links.txt
|
|
13
12
|
labscript_c_extensions.egg-info/not-zip-safe
|
|
14
13
|
labscript_c_extensions.egg-info/requires.txt
|
|
14
|
+
labscript_c_extensions.egg-info/scm_file_list.json
|
|
15
|
+
labscript_c_extensions.egg-info/scm_version.json
|
|
15
16
|
labscript_c_extensions.egg-info/top_level.txt
|
|
16
17
|
labscript_c_extensions/runviewer/__init__.py
|
|
17
18
|
src/runviewer/resample.pyx
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".github/workflows/release-vars.sh",
|
|
4
|
+
".github/workflows/release.yml",
|
|
5
|
+
".gitignore",
|
|
6
|
+
"LICENSE.txt",
|
|
7
|
+
"README.md",
|
|
8
|
+
"labscript_c_extensions/__init__.py",
|
|
9
|
+
"labscript_c_extensions/__version__.py",
|
|
10
|
+
"labscript_c_extensions/runviewer/__init__.py",
|
|
11
|
+
"pyproject.toml",
|
|
12
|
+
"src/runviewer/resample.pyx"
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["setuptools>=
|
|
2
|
+
requires = ["setuptools>=74.1.0", "setuptools_scm>=8", "cython",
|
|
3
3
|
"numpy>=2.0,<3; python_version>'3.8'"]
|
|
4
4
|
build-backend = "setuptools.build_meta"
|
|
5
5
|
|
|
@@ -10,6 +10,9 @@ local_scheme = "no-local-version"
|
|
|
10
10
|
[tool.setuptools]
|
|
11
11
|
zip-safe = false
|
|
12
12
|
include-package-data = true
|
|
13
|
+
ext-modules = [
|
|
14
|
+
{name = "labscript_c_extensions.runviewer.resample", sources = ["src/runviewer/resample.pyx"]}
|
|
15
|
+
]
|
|
13
16
|
|
|
14
17
|
[tool.setuptools.packages]
|
|
15
18
|
find = {namespaces = false}
|
|
@@ -26,8 +29,13 @@ license = {file = 'LICENSE.txt'}
|
|
|
26
29
|
classifiers = [
|
|
27
30
|
"License :: OSI Approved :: BSD License",
|
|
28
31
|
"Programming Language :: Python :: 3 :: Only",
|
|
32
|
+
"Programming Language :: Python :: 3.11",
|
|
33
|
+
"Programming Language :: Python :: 3.12",
|
|
34
|
+
"Programming Language :: Python :: 3.13",
|
|
35
|
+
"Programming Language :: Python :: 3.14",
|
|
36
|
+
"Programming Language :: Python :: 3.15",
|
|
29
37
|
]
|
|
30
|
-
requires-python = ">=3.
|
|
38
|
+
requires-python = ">=3.11"
|
|
31
39
|
dependencies = [
|
|
32
40
|
"numpy>=1.17.3",
|
|
33
41
|
]
|
|
@@ -56,21 +56,23 @@ def resample(double [:] x_in, double [:] y_in,
|
|
|
56
56
|
else:
|
|
57
57
|
i = 0
|
|
58
58
|
j = 1
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
|
|
59
|
+
# Fill the output array with NaNs (which get ignored when plotted) up to
|
|
60
|
+
# the group of three output points that contains the first data point, so
|
|
61
|
+
# that the loop below sees every data point in that group:
|
|
62
|
+
while i + 3 < N_out and x_out[i + 3] <= x_in[0]:
|
|
62
63
|
y_out[i:i+3] = NAN
|
|
63
64
|
i += 3
|
|
64
65
|
# If we're some way into the data, we need to skip ahead to where we
|
|
65
66
|
# want to get the first datapoint from:
|
|
66
|
-
while x_in[j] < x_out[i]:
|
|
67
|
+
while j < N_in and x_in[j] < x_out[i]:
|
|
67
68
|
j += 1
|
|
68
69
|
|
|
69
70
|
# Get values until we get to the end of the data:
|
|
70
71
|
|
|
71
|
-
#
|
|
72
|
-
#
|
|
73
|
-
|
|
72
|
+
# Each pass writes y_out[i], y_out[i + 1] and y_out[i + 2]. One point
|
|
73
|
+
# must remain for the final data point, and y_out has N_out - 1
|
|
74
|
+
# elements because stepMode=True requires len(y)=len(x)-1.
|
|
75
|
+
while j < N_in and i < N_out - 4:
|
|
74
76
|
# This is 'nearest neighbour on the left' interpolation. It's
|
|
75
77
|
# what we want if none of the source values checked in the
|
|
76
78
|
# upcoming loop are used:
|
|
@@ -106,7 +108,7 @@ def resample(double [:] x_in, double [:] y_in,
|
|
|
106
108
|
i += 1
|
|
107
109
|
|
|
108
110
|
# Get the last datapoint:
|
|
109
|
-
if j < N_in:
|
|
111
|
+
if j < N_in and i < N_out - 1:
|
|
110
112
|
# If the sample rate of the raw data is low, then the current j
|
|
111
113
|
# point could be outside the current plot view range If so,
|
|
112
114
|
# decrease j so that we take a value that is within the plot view
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from setuptools import setup
|
|
3
|
-
from setuptools.extension import Extension
|
|
4
|
-
from Cython.Distutils import build_ext
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
CMDCLASS = {"build_ext": build_ext}
|
|
8
|
-
|
|
9
|
-
EXT_MODULES = [
|
|
10
|
-
Extension(
|
|
11
|
-
"labscript_c_extensions.runviewer.resample",
|
|
12
|
-
sources=[os.path.join("src", "runviewer", "resample.pyx")],
|
|
13
|
-
)
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
setup(
|
|
17
|
-
cmdclass=CMDCLASS,
|
|
18
|
-
ext_modules=EXT_MODULES,
|
|
19
|
-
)
|
{labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/.github/workflows/release-vars.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labscript_c_extensions-1.2.1 → labscript_c_extensions-1.4.0}/labscript_c_extensions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|