From 2cf8ade50da27459e9dd9c900d0565aedbd6d1b6 Mon Sep 17 00:00:00 2001 From: Nico Bako <26750598+nicobako@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:37:40 -0500 Subject: [PATCH 1/4] Fixed type hint for patch_signals --- src/datastar_py/sse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/datastar_py/sse.py b/src/datastar_py/sse.py index c5f7577..41488ba 100644 --- a/src/datastar_py/sse.py +++ b/src/datastar_py/sse.py @@ -136,7 +136,7 @@ def remove_elements( @classmethod def patch_signals( cls, - signals: dict | str, + signals: dict[str, str] | str, event_id: str | None = None, only_if_missing: bool | None = None, retry_duration: int | None = None, From d4e321c99fc6fa1a28916f90631d1d3f13a9d6cc Mon Sep 17 00:00:00 2001 From: Nico Bako <26750598+nicobako@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:54:50 -0500 Subject: [PATCH 2/4] Added more json-encodable types --- src/datastar_py/sse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/datastar_py/sse.py b/src/datastar_py/sse.py index 41488ba..376d221 100644 --- a/src/datastar_py/sse.py +++ b/src/datastar_py/sse.py @@ -136,7 +136,7 @@ def remove_elements( @classmethod def patch_signals( cls, - signals: dict[str, str] | str, + signals: dict[str, str | int | float | None] | str, event_id: str | None = None, only_if_missing: bool | None = None, retry_duration: int | None = None, From f363e4279358384d86ecefeb537308d881cf58dd Mon Sep 17 00:00:00 2001 From: Nico Bako <26750598+nicobako@users.noreply.github.com> Date: Tue, 10 Mar 2026 14:00:05 -0500 Subject: [PATCH 3/4] Added bool --- src/datastar_py/sse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/datastar_py/sse.py b/src/datastar_py/sse.py index 376d221..dc9b5e7 100644 --- a/src/datastar_py/sse.py +++ b/src/datastar_py/sse.py @@ -136,7 +136,7 @@ def remove_elements( @classmethod def patch_signals( cls, - signals: dict[str, str | int | float | None] | str, + signals: dict[str, str | int | float | bool | None] | str, event_id: str | None = None, only_if_missing: bool | None = None, retry_duration: int | None = None, From f0b3a9a8e1d60b5bf5b000ae055b0d9d4364c8d2 Mon Sep 17 00:00:00 2001 From: Nico Bako <26750598+nicobako@users.noreply.github.com> Date: Tue, 10 Mar 2026 14:50:12 -0500 Subject: [PATCH 4/4] Use SignalValue as type hint instead --- src/datastar_py/sse.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/datastar_py/sse.py b/src/datastar_py/sse.py index dc9b5e7..d8e50a1 100644 --- a/src/datastar_py/sse.py +++ b/src/datastar_py/sse.py @@ -6,7 +6,7 @@ from typing import Literal, Protocol, TypeAlias, overload, runtime_checkable import datastar_py.consts as consts -from datastar_py.attributes import _escape +from datastar_py.attributes import _escape, SignalValue SSE_HEADERS: dict[str, str] = { "Cache-Control": "no-cache", @@ -136,7 +136,7 @@ def remove_elements( @classmethod def patch_signals( cls, - signals: dict[str, str | int | float | bool | None] | str, + signals: dict[str, SignalValue] | str, event_id: str | None = None, only_if_missing: bool | None = None, retry_duration: int | None = None,