Skip to content

Commit 22c97b5

Browse files
committed
Add default credential_provider argument
1 parent d5a6ef5 commit 22c97b5

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

planetary_computer/_obstore.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
import sys
99

1010
from obstore.store import (
11-
AzureStore,
1211
AzureConfig,
12+
AzureCredentialProvider,
13+
AzureSASToken,
14+
AzureStore,
1315
ClientConfig,
1416
RetryConfig,
15-
AzureSASToken,
1617
)
1718

1819
if sys.version_info >= (3, 11):
@@ -21,14 +22,15 @@
2122
from typing_extensions import Unpack
2223

2324

24-
def get_obstore_store( # type: ignore[misc] # overlap with kwargs
25+
def get_obstore( # type: ignore[misc] # overlap with kwargs
2526
account_name: str,
2627
container_name: str,
2728
*,
2829
prefix: str | None = None,
2930
config: AzureConfig | None = None,
3031
client_options: ClientConfig | None = None,
3132
retry_config: RetryConfig | None = None,
33+
credential_provider: AzureCredentialProvider | None = None,
3234
**kwargs: Unpack[AzureConfig], # type: ignore # noqa: PGH003 (container_name key overlaps with positional arg)
3335
) -> AzureStore:
3436
try:
@@ -39,13 +41,15 @@ def get_obstore_store( # type: ignore[misc] # overlap with kwargs
3941
"the optional dependency 'obstore'."
4042
) from e
4143

42-
def credential_provider() -> AzureSASToken:
44+
def default_credential_provider() -> AzureSASToken:
4345
token = get_token(account_name, container_name)
4446
return {
4547
"sas_token": token.token,
4648
"expires_at": token.expiry,
4749
}
4850

51+
credential_provider = credential_provider or default_credential_provider
52+
4953
return obstore.store.AzureStore(
5054
account_name=account_name,
5155
container_name=container_name,

0 commit comments

Comments
 (0)