From bf2887c2544969dbd2243ba05c7349cc3a99d5f1 Mon Sep 17 00:00:00 2001 From: James Myatt Date: Mon, 15 Jun 2026 10:54:27 +0100 Subject: [PATCH 1/2] Remove sync_credentials Only used in connect_client, but that should use async ones anyway --- adlfs/spec.py | 50 +++++++++++++------------------------------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/adlfs/spec.py b/adlfs/spec.py index 31a26121..6ad8998f 100644 --- a/adlfs/spec.py +++ b/adlfs/spec.py @@ -362,12 +362,7 @@ def __init__( and self.client_id is not None and self.connection_string is None ): - ( - self.credential, - self.sync_credential, - ) = self._get_credential_from_service_principal() - else: - self.sync_credential = None + self.credential = self._get_credential_from_service_principal() # Solving issue in https://github.com/fsspec/adlfs/issues/270 if ( @@ -377,10 +372,7 @@ def __init__( and self.account_key is None and self.connection_string is None ): - ( - self.credential, - self.sync_credential, - ) = self._get_default_azure_credential(**kwargs) + self.credential = self._get_default_azure_credential(**kwargs) self.do_connect() weakref.finalize(self, sync, self.loop, close_service_client, self) @@ -469,50 +461,34 @@ def _get_kwargs_from_urls(urlpath): def _get_credential_from_service_principal(self): """ - Create a Credential for authentication. This can include a TokenCredential - client_id, client_secret and tenant_id + Create a Credential for authentication. + + This can include a TokenCredential client_id, client_secret and tenant_id. Returns ------- - Tuple of (Async Credential, Sync Credential). + Async Credential """ - from azure.identity import ClientSecretCredential - from azure.identity.aio import ( - ClientSecretCredential as AIOClientSecretCredential, - ) - - async_credential = AIOClientSecretCredential( - tenant_id=self.tenant_id, - client_id=self.client_id, - client_secret=self.client_secret, - ) + from azure.identity.aio import ClientSecretCredential - sync_credential = ClientSecretCredential( + return ClientSecretCredential( tenant_id=self.tenant_id, client_id=self.client_id, client_secret=self.client_secret, ) - return (async_credential, sync_credential) - def _get_default_azure_credential(self, **kwargs): """ - Create a Credential for authentication using DefaultAzureCredential + Create a Credential for authentication using DefaultAzureCredential. Returns ------- - Tuple of (Async Credential, Sync Credential). + Async Credential """ - from azure.identity import DefaultAzureCredential - from azure.identity.aio import ( - DefaultAzureCredential as AIODefaultAzureCredential, - ) - - async_credential = AIODefaultAzureCredential(**kwargs) - sync_credential = DefaultAzureCredential(**kwargs) + from azure.identity.aio import DefaultAzureCredential - return (async_credential, sync_credential) + return DefaultAzureCredential(**kwargs) def do_connect(self): """Connect to the BlobServiceClient, using user-specified connection details. @@ -2140,7 +2116,7 @@ def connect_client(self): f"https://{self.fs.account_name}.blob.core.windows.net" ) - creds = [self.fs.sync_credential, self.fs.account_key, self.fs.credential] + creds = [self.fs.credential, self.fs.account_key] if any(creds): self.container_client = [ _create_aio_blob_service_client( From b0319530489f3fb28c8f6b7ada2beee65aa03b7a Mon Sep 17 00:00:00 2001 From: James Myatt Date: Mon, 15 Jun 2026 10:57:55 +0100 Subject: [PATCH 2/2] Fix blank lines --- adlfs/spec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adlfs/spec.py b/adlfs/spec.py index 6ad8998f..3675e80b 100644 --- a/adlfs/spec.py +++ b/adlfs/spec.py @@ -462,7 +462,7 @@ def _get_kwargs_from_urls(urlpath): def _get_credential_from_service_principal(self): """ Create a Credential for authentication. - + This can include a TokenCredential client_id, client_secret and tenant_id. Returns