From d721b0f7b64fb5b399a36f907fda8bafbbaad9ae Mon Sep 17 00:00:00 2001
From: bruno-f-cruz <7049351+bruno-f-cruz@users.noreply.github.com>
Date: Tue, 17 Mar 2026 00:59:30 -0700
Subject: [PATCH 1/2] Explicitly define Behavior Board event emission at
startup
---
src/workflows/foraging.bonsai | 46 +++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 13 deletions(-)
diff --git a/src/workflows/foraging.bonsai b/src/workflows/foraging.bonsai
index ce21209b8..77cac7884 100644
--- a/src/workflows/foraging.bonsai
+++ b/src/workflows/foraging.bonsai
@@ -2896,6 +2896,23 @@
BehaviorEvents
+
+
+ 1
+
+
+
+ Write
+
+ PortDI PortDIO AnalogData Camera0 Camera1
+
+
+
+ BehaviorCommands
+
+
+ BehaviorEvents
+
@@ -3579,24 +3596,27 @@
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
+
+
+
From f37f15cb0334ffa476ce0567c100cac24c35f82b Mon Sep 17 00:00:00 2001
From: Galen Lynch
Date: Thu, 19 Mar 2026 17:26:59 -0700
Subject: [PATCH 2/2] Fix numpy crash when calling float() on 1D array
---
pyproject.toml | 4 ++--
src/foraging_gui/MyFunctions.py | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 5deac563e..f034a5e98 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -37,7 +37,7 @@ dependencies = [
"deepdiff >=8, <9",
"aind-data-schema==1.1.0",
"aind-data-schema-models==0.5.6",
- "pydantic >=2.9.2, <3",
+ "pydantic==2.10.6",
"stagewidget==1.0.5",
"python-logging-loki >=0.3.1, <2",
"pykeepass >=4.0.7, <5",
@@ -103,4 +103,4 @@ profile = "black"
[tool.interrogate]
exclude = ["setup.py", "docs", "build", "tests"]
-fail-under = 70
\ No newline at end of file
+fail-under = 70
diff --git a/src/foraging_gui/MyFunctions.py b/src/foraging_gui/MyFunctions.py
index 71f3289af..06dfc6809 100644
--- a/src/foraging_gui/MyFunctions.py
+++ b/src/foraging_gui/MyFunctions.py
@@ -500,7 +500,7 @@ def _generate_next_coupled_block(self):
if self.TP_Randomness == "Exponential":
self.BlockLen = np.array(
int(
- np.random.exponential(float(self.TP_BlockBeta), 1)
+ np.random.exponential(float(self.TP_BlockBeta))
+ float(self.TP_BlockMin)
)
)
@@ -520,7 +520,7 @@ def _generate_next_trial_other_paras(self):
# get the ITI time and delay time
if self.TP_Randomness == "Exponential":
self.CurrentITI = float(
- np.random.exponential(float(self.TP_ITIBeta), 1)
+ np.random.exponential(float(self.TP_ITIBeta))
+ float(self.TP_ITIMin)
)
elif self.TP_Randomness == "Even":
@@ -531,7 +531,7 @@ def _generate_next_trial_other_paras(self):
self.CurrentITI = float(self.TP_ITIMax)
if self.TP_Randomness == "Exponential":
self.CurrentDelay = float(
- np.random.exponential(float(self.TP_DelayBeta), 1)
+ np.random.exponential(float(self.TP_DelayBeta))
+ float(self.TP_DelayMin)
)
elif self.TP_Randomness == "Even":