From c8c7f80fcf8732ca3c794a61275b86da4c017ac6 Mon Sep 17 00:00:00 2001 From: ponsoc <36486184+ponsoc@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:19:24 +0100 Subject: [PATCH 1/2] Fix delete issue --- README.md | 4 ++++ pyproject.toml | 2 +- src/ststeroids/store.py | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 747787c..459f4d6 100644 --- a/README.md +++ b/README.md @@ -430,6 +430,10 @@ app_style.apply_style() ### Release notes +1.0.2 + +- Fixed an issue where deleting a property from a store instance would lead to an error when the property doesn't exist + 1.0.1 - Version bump to make sure upload to pypi works diff --git a/pyproject.toml b/pyproject.toml index 377ff6f..837ef6c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ststeroids" -version = "1.0.1" +version = "1.0.2" description = "A framework supercharging Streamlit for building advanced multi-page applications" readme = "README.md" authors = [{ name = "ponsoc"}] diff --git a/src/ststeroids/store.py b/src/ststeroids/store.py index f974c46..9b4c4f4 100644 --- a/src/ststeroids/store.py +++ b/src/ststeroids/store.py @@ -69,7 +69,8 @@ def del_property(self, property_name: str) -> None: :return: None """ - del st.session_state[self.name][property_name] + if self.has_property(property_name): + del st.session_state[self.name][property_name] class ComponentStore(Store): From 1f6c9725791634c36102cf28478be9b5860b0f2f Mon Sep 17 00:00:00 2001 From: ponsoc <36486184+ponsoc@users.noreply.github.com> Date: Fri, 20 Mar 2026 14:24:31 +0100 Subject: [PATCH 2/2] Update test_store.py --- tests/test_store.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_store.py b/tests/test_store.py index 8fd0ddf..ac811d7 100644 --- a/tests/test_store.py +++ b/tests/test_store.py @@ -42,11 +42,12 @@ def test_store_get_property(mock_session_state): def test_store_del_property(mock_session_state): store = Store.create("test_store") store.set_property("key", "value") + store.del_property("key") - with pytest.raises(KeyError, match="'key' doesn't exist in store 'test_store'."): - store.get_property("key") + assert not store.has_property("key") + store.del_property("key") def test_store_get_property_key_error(mock_session_state): store = Store.create("test_store")