|
1 | | -from botocore import UNSIGNED, translate |
| 1 | +from botocore import UNSIGNED |
| 2 | +from botocore import __version__ as botocore_version |
| 3 | +from botocore import translate |
2 | 4 | from botocore.exceptions import PartialCredentialsError |
3 | 5 | from botocore.session import EVENT_ALIASES, ServiceModel |
4 | 6 | from botocore.session import Session as _SyncSession |
5 | 7 | from botocore.session import UnknownServiceError, copy |
6 | 8 |
|
7 | | -from . import retryhandler |
| 9 | +from . import __version__, retryhandler |
8 | 10 | from .client import AioBaseClient, AioClientCreator |
9 | 11 | from .configprovider import AioSmartDefaultsConfigStoreFactory |
10 | 12 | from .credentials import AioCredentials, create_credential_resolver |
@@ -43,6 +45,16 @@ def __init__( |
43 | 45 | session_vars, event_hooks, include_builtin_handlers, profile |
44 | 46 | ) |
45 | 47 |
|
| 48 | + self._set_user_agent_for_session() |
| 49 | + |
| 50 | + def _set_user_agent_for_session(self): |
| 51 | + # Mimic approach taken by AWS's aws-cli project |
| 52 | + # https://github.com/aws/aws-cli/blob/b862122c76a3f280ff34e93c9dcafaf964e7bf9b/awscli/clidriver.py#L84 |
| 53 | + |
| 54 | + self.user_agent_name = 'aiobotocore' |
| 55 | + self.user_agent_version = __version__ |
| 56 | + self.user_agent_extra = 'botocore/%s' % botocore_version |
| 57 | + |
46 | 58 | def _create_token_resolver(self): |
47 | 59 | return create_token_resolver(self) |
48 | 60 |
|
|
0 commit comments