From 84c4498be94ced5a743de97fca99ab9c23194703 Mon Sep 17 00:00:00 2001 From: TrevorBurgoyne Date: Mon, 2 Mar 2026 13:39:56 -0600 Subject: [PATCH 1/4] reset boto3 resources when setting bucket --- S3MP/global_config.py | 4 ++++ pyproject.toml | 2 +- uv.lock | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/S3MP/global_config.py b/S3MP/global_config.py index 2da71b7..578331c 100644 --- a/S3MP/global_config.py +++ b/S3MP/global_config.py @@ -82,6 +82,10 @@ def set_default_bucket_key(self, bucket_key: str) -> None: """Set default bucket key.""" self._default_bucket_key = bucket_key + # Reset client/resource + self._s3_client = None + self._s3_resource = None + @property def s3_client(self) -> S3Client: """Get S3 client.""" diff --git a/pyproject.toml b/pyproject.toml index 4b34468..4fe27cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "S3MP" -version = "0.8.1" +version = "0.8.2" description = "" authors = [ {name = "Joshua Dean", email = "joshua.dean@sentera.com"}, diff --git a/uv.lock b/uv.lock index b6eb775..696d5ea 100644 --- a/uv.lock +++ b/uv.lock @@ -1515,7 +1515,7 @@ wheels = [ [[package]] name = "s3mp" -version = "0.8.1" +version = "0.8.2" source = { editable = "." } dependencies = [ { name = "aioboto3" }, From 4ccaad46bf8c658c7f7482aa269c2e705d20a843 Mon Sep 17 00:00:00 2001 From: TrevorBurgoyne Date: Mon, 2 Mar 2026 13:55:53 -0600 Subject: [PATCH 2/4] clear bucket as well --- S3MP/global_config.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/S3MP/global_config.py b/S3MP/global_config.py index 578331c..2a7359d 100644 --- a/S3MP/global_config.py +++ b/S3MP/global_config.py @@ -81,10 +81,13 @@ def default_bucket_key(self) -> str: def set_default_bucket_key(self, bucket_key: str) -> None: """Set default bucket key.""" self._default_bucket_key = bucket_key + self.clear_boto3_cache() - # Reset client/resource + def clear_boto3_cache(self) -> None: + """Clear cached boto3 client and resource.""" self._s3_client = None self._s3_resource = None + self._bucket = None @property def s3_client(self) -> S3Client: From cf0cff051743341b7f89c87c1c2fd1925e0bc5a5 Mon Sep 17 00:00:00 2001 From: TrevorBurgoyne Date: Mon, 2 Mar 2026 15:43:42 -0600 Subject: [PATCH 3/4] just clear cached bucket --- S3MP/global_config.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/S3MP/global_config.py b/S3MP/global_config.py index 2a7359d..8b4091e 100644 --- a/S3MP/global_config.py +++ b/S3MP/global_config.py @@ -81,7 +81,8 @@ def default_bucket_key(self) -> str: def set_default_bucket_key(self, bucket_key: str) -> None: """Set default bucket key.""" self._default_bucket_key = bucket_key - self.clear_boto3_cache() + # Clear cached bucket + self._bucket = None def clear_boto3_cache(self) -> None: """Clear cached boto3 client and resource.""" From 8fe1ebfb823b1cbb31c387b69bdfdfdf36c78df6 Mon Sep 17 00:00:00 2001 From: TrevorBurgoyne Date: Mon, 2 Mar 2026 15:45:17 -0600 Subject: [PATCH 4/4] clear cached bucket when assuming new rolw --- S3MP/global_config.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/S3MP/global_config.py b/S3MP/global_config.py index 8b4091e..93318e9 100644 --- a/S3MP/global_config.py +++ b/S3MP/global_config.py @@ -69,6 +69,9 @@ def assume_role(self, role_arn: str) -> None: ) self._iam_role_arn = role_arn + # Clear cached bucket + self._bucket = None + @property def default_bucket_key(self) -> str: """Get default bucket key."""