labscript-c-extensions 1.3.0__tar.gz → 1.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/.github/workflows/release.yml +13 -7
  2. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/PKG-INFO +7 -2
  3. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions/__version__.py +3 -6
  4. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/PKG-INFO +7 -2
  5. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/SOURCES.txt +2 -0
  6. labscript_c_extensions-1.4.1/labscript_c_extensions.egg-info/scm_file_list.json +14 -0
  7. labscript_c_extensions-1.4.1/labscript_c_extensions.egg-info/scm_version.json +8 -0
  8. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/pyproject.toml +13 -1
  9. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/src/runviewer/resample.pyx +10 -8
  10. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/.github/workflows/release-vars.sh +0 -0
  11. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/.gitignore +0 -0
  12. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/LICENSE.txt +0 -0
  13. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/README.md +0 -0
  14. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions/__init__.py +0 -0
  15. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions/runviewer/__init__.py +0 -0
  16. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/dependency_links.txt +0 -0
  17. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/not-zip-safe +0 -0
  18. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/requires.txt +0 -0
  19. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/labscript_c_extensions.egg-info/top_level.txt +0 -0
  20. {labscript_c_extensions-1.3.0 → labscript_c_extensions-1.4.1}/setup.cfg +0 -0
@@ -38,9 +38,12 @@ jobs:
38
38
  with:
39
39
  fetch-depth: 0
40
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)
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
49
  uses: actions/setup-python@v6
@@ -226,9 +229,12 @@ jobs:
226
229
  with:
227
230
  fetch-depth: 0
228
231
 
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
+ - 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
240
  uses: actions/setup-python@v6
@@ -305,7 +311,7 @@ jobs:
305
311
  merge-multiple: true
306
312
 
307
313
  - name: Create GitHub release and upload release asset
308
- uses: softprops/action-gh-release@v2
314
+ uses: softprops/action-gh-release@v3
309
315
  env:
310
316
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
311
317
  with:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: labscript-c-extensions
3
- Version: 1.3.0
3
+ Version: 1.4.1
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
- Requires-Python: >=3.8
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
@@ -11,10 +11,7 @@
11
11
  # #
12
12
  #####################################################################
13
13
  from pathlib import Path
14
- try:
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__ = importlib_metadata.version(__package__)
38
- except importlib_metadata.PackageNotFoundError:
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.0
3
+ Version: 1.4.1
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
- Requires-Python: >=3.8
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
@@ -11,6 +11,8 @@ labscript_c_extensions.egg-info/SOURCES.txt
11
11
  labscript_c_extensions.egg-info/dependency_links.txt
12
12
  labscript_c_extensions.egg-info/not-zip-safe
13
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
14
16
  labscript_c_extensions.egg-info/top_level.txt
15
17
  labscript_c_extensions/runviewer/__init__.py
16
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
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.4.1",
3
+ "distance": 0,
4
+ "node": "g9b89d0748267e78e752b4948e1d1f1dcdabfb9e3",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-27"
8
+ }
@@ -18,6 +18,13 @@ ext-modules = [
18
18
  find = {namespaces = false}
19
19
 
20
20
 
21
+ [tool.setuptools_conda]
22
+ # Linux conda packages are built with the GCC version that Anaconda's default channels
23
+ # use, c_compiler_version in
24
+ # https://github.com/AnacondaRecipes/aggregate/blob/master/conda_build_config.yaml,
25
+ # so that they install from those channels. Raise this when that version is raised.
26
+ conda_build_config = {c_compiler_version = '14; sys_platform == "linux"', cxx_compiler_version = '14; sys_platform == "linux"'}
27
+
21
28
  [project]
22
29
  name = "labscript-c-extensions"
23
30
  description = "A module containing C-extensions for the labscript suite"
@@ -29,8 +36,13 @@ license = {file = 'LICENSE.txt'}
29
36
  classifiers = [
30
37
  "License :: OSI Approved :: BSD License",
31
38
  "Programming Language :: Python :: 3 :: Only",
39
+ "Programming Language :: Python :: 3.11",
40
+ "Programming Language :: Python :: 3.12",
41
+ "Programming Language :: Python :: 3.13",
42
+ "Programming Language :: Python :: 3.14",
43
+ "Programming Language :: Python :: 3.15",
32
44
  ]
33
- requires-python = ">=3.8"
45
+ requires-python = ">=3.11"
34
46
  dependencies = [
35
47
  "numpy>=1.17.3",
36
48
  ]
@@ -56,21 +56,23 @@ def resample(double [:] x_in, double [:] y_in,
56
56
  else:
57
57
  i = 0
58
58
  j = 1
59
- # Until we get to the data, fill the output array with NaNs (which get
60
- # ignored when plotted)
61
- while x_out[i] < x_in[0]:
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
- # Leave one spare for the final data point and one because
72
- # stepMode=True requires len(y)=len(x)-1
73
- while j < N_in and i < N_out - 2:
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