Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/workflows/python-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ on:
- dev
workflow_dispatch:

# A new push to a PR supersedes the run already in flight for that ref, so a
# wedged job cannot sit on a runner while its replacement queues behind it.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
strategy:
Expand All @@ -17,6 +23,7 @@ jobs:
os:
- "ubuntu-latest"
runs-on: ${{matrix.os}}
timeout-minutes: 30

steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ readme = "README.md"
requires-python = ">=3.10"
dynamic = ["version"]
dependencies = [
# 3.10.0b2 for CoordinateAxis.fingerprint and AxisArray.chunk_dim, which
# 3.10.0b3 for CoordinateAxis.fingerprint and AxisArray.stream_dim, which
# ezmsg-baseproc's default state hash reads. Pinned directly rather than
# left to the transitive requirement: uv only enables pre-releases for a
# package named with a pre-release marker in *this* file.
"ezmsg>=3.10.0b2",
"ezmsg>=3.10.0b3",
"ezmsg-baseproc>=1.13.0",
"ezmsg-sigproc>=3.8.1", # BinnedAggregate must resolve chunk_dim from axis=None
"ezmsg-sigproc>=3.8.1", # BinnedAggregate must resolve stream_dim from axis=None
"sparse>=0.17.0",
"numpy>=2.2.6",
"numba>=0.65.1",
Expand Down
2 changes: 1 addition & 1 deletion src/ezmsg/event/binned.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class BinnedEventAggregatorSettings(ez.Settings):
Scheduled for removal in 2.0. Binning carries an open partial bin across
message boundaries, which is only meaningful along the dimension messages
accumulate along; that dimension now comes from
:attr:`~ezmsg.util.messages.axisarray.AxisArray.chunk_dim`."""
:attr:`~ezmsg.util.messages.axisarray.AxisArray.stream_dim`."""

def __post_init__(self) -> None:
warn_axis_deprecated(self, package="ezmsg-event", removal="2.0")
Expand Down
2 changes: 1 addition & 1 deletion src/ezmsg/event/peak.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def _reset_state(self, message: AxisArray) -> None:
# This module works on "time" throughout (see get_axis_idx calls
# below), so the scaler has to as well -- they share the state that
# normalises the samples being thresholded. Suppressed rather than
# dropped for that reason: letting the scaler follow chunk_dim while
# dropped for that reason: letting the scaler follow stream_dim while
# everything around it used "time" would be worse than either.
with suppress_axis_deprecation():
self._state.scaler = AdaptiveStandardScalerTransformer(
Expand Down
4 changes: 2 additions & 2 deletions tests/test_binned.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ def test_fractional_false_sample_locked(fs: float):
class TestTheAxisSettingIsDeprecated:
"""``axis`` is going away in 2.0: binning carries an open partial bin across
message boundaries, which is only meaningful along the dimension messages
accumulate along. That dimension comes from ``AxisArray.chunk_dim``."""
accumulate along. That dimension comes from ``AxisArray.stream_dim``."""

@staticmethod
def _msg(n=64, fs=200.0):
Expand All @@ -237,7 +237,7 @@ def _msg(n=64, fs=200.0):
dims=["time", "ch"],
axes={"time": AxisArray.TimeAxis(fs=fs)},
key="dev",
chunk_dim="time",
stream_dim="time",
)

@staticmethod
Expand Down
8 changes: 4 additions & 4 deletions tests/test_state_reset_semantics.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def dense_msg(labels, n_time=600, fs=FS, key="dev", seed=0):
"ch": CoordinateAxis(data=np.array(labels), dims=["ch"]),
},
key=key,
chunk_dim="time",
stream_dim="time",
)


Expand All @@ -67,7 +67,7 @@ def sparse_msg(labels, n_time=600, fs=FS, key="dev", dtype=bool):
"ch": CoordinateAxis(data=np.array(labels), dims=["ch"]),
},
key=key,
chunk_dim="time",
stream_dim="time",
)


Expand All @@ -83,7 +83,7 @@ def at_sample(labels, sample_ix, n_time=600, fs=FS, key="dev"):
"ch": CoordinateAxis(data=np.array(labels), dims=["ch"]),
},
key=key,
chunk_dim="time",
stream_dim="time",
)


Expand Down Expand Up @@ -150,7 +150,7 @@ def test_refractory_elapsed_counters_do_not_carry_over(self):

class TestWhatMustNotResetStillDoesNot:
def test_chunk_size_jitter_is_ignored(self):
"""The chunk dimension's length is whatever arrived; rebuilding on it
"""The stream dimension's length is whatever arrived; rebuilding on it
would throw away the trailing buffer on every irregular chunk."""
proc = ThresholdCrossingTransformer(ThresholdSettings(threshold=-1.0))
proc(dense_msg(ARM_A, n_time=600))
Expand Down
Loading