4747import warnings
4848from abc import abstractmethod
4949from collections .abc import Iterator
50+ from collections .abc import Sequence
5051from concurrent .futures import ThreadPoolExecutor
5152from dataclasses import dataclass
5253from datetime import datetime
5960from typing import List
6061from typing import Literal
6162from typing import Optional
63+ from typing import Set
6264from typing import Tuple
6365from typing import TypedDict
6466from typing import Union
@@ -189,7 +191,7 @@ def __init__(
189191 headers : Optional [Dict [str , str ]] = None ,
190192 transaction_id : Optional [str ] = None ,
191193 extra_credential : Optional [List [Tuple [str , str ]]] = None ,
192- client_tags : Optional [List [str ]] = None ,
194+ client_tags : Optional [Sequence [str ]] = None ,
193195 client_info : Optional [str ] = None ,
194196 trace_token : Optional [str ] = None ,
195197 sql_path : Optional [str ] = None ,
@@ -210,7 +212,7 @@ def __init__(
210212 self ._headers = headers .copy () if headers is not None else {}
211213 self ._transaction_id = transaction_id
212214 self ._extra_credential = extra_credential
213- self ._client_tags = client_tags . copy ( ) if client_tags is not None else list ()
215+ self ._client_tags = set ( client_tags ) if client_tags is not None else set ()
214216 self ._client_info = client_info
215217 self ._trace_token = trace_token
216218 self ._sql_path = sql_path
@@ -291,7 +293,7 @@ def extra_credential(self) -> Optional[List[Tuple[str, str]]]:
291293 return self ._extra_credential
292294
293295 @property
294- def client_tags (self ) -> List [str ]:
296+ def client_tags (self ) -> Set [str ]:
295297 return self ._client_tags
296298
297299 @property
0 commit comments