Skip to content

Commit c1dc778

Browse files
committed
Session is inherited from Boto3Session
1 parent 6947c42 commit c1dc778

File tree

3 files changed

+23
-27
lines changed

3 files changed

+23
-27
lines changed

.vscode/settings.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
"[python]": {
33
"editor.formatOnSave": true,
44
"editor.defaultFormatter": "charliermarsh.ruff",
5-
"ruff.nativeServer": "on",
5+
"editor.codeActionsOnSave": {
6+
"source.organizeImports": "explicit"
7+
}
8+
},
9+
"files.exclude": {
10+
".venv": true,
11+
".mypy_cache": true,
12+
".ruff_cache": true,
13+
"*.egg-info": true,
14+
"build": true,
615
}
716
}

aioboto3-stubs/session.pyi

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ from aioboto3.resources.factory import AIOBoto3ResourceFactory
1212
from aiobotocore.client import AioBaseClient
1313
from aiobotocore.config import AioConfig
1414
from aiobotocore.credentials import AioCredentials
15-
from botocore.hooks import BaseEventHooks
15+
from aiobotocore.session import ClientCreatorContext
16+
from boto3.session import Session as Boto3Session
1617
from botocore.loaders import Loader
1718
from botocore.session import Session as BotocoreSession
1819

19-
class Session:
20+
class Session(Boto3Session):
2021
def __init__(
2122
self,
2223
aws_access_key_id: str | None = ...,
@@ -30,26 +31,7 @@ class Session:
3031
self.resource_factory: AIOBoto3ResourceFactory
3132
self._loader: Loader
3233

33-
@property
34-
def profile_name(self) -> str: ...
35-
@property
36-
def region_name(self) -> str: ...
37-
@property
38-
def events(self) -> BaseEventHooks: ...
39-
@property
40-
def available_profiles(self) -> list[str]: ...
41-
def _setup_loader(self) -> None: ...
42-
def get_available_services(self) -> list[str]: ...
43-
def get_available_resources(self) -> list[str]: ...
44-
def get_available_partitions(self) -> list[str]: ...
45-
def get_available_regions(
46-
self,
47-
service_name: str,
48-
partition_name: str = ...,
49-
allow_non_regional: bool = ...,
50-
) -> list[str]: ...
5134
def get_credentials(self) -> AioCredentials | None: ...
52-
def _register_default_handlers(self) -> None: ...
5335
def client( # type: ignore [override]
5436
self,
5537
service_name: str,
@@ -62,8 +44,8 @@ class Session:
6244
aws_secret_access_key: str | None = ...,
6345
aws_session_token: str | None = ...,
6446
config: AioConfig | None = ...,
65-
) -> AioBaseClient: ...
66-
def resource(
47+
) -> ClientCreatorContext[AioBaseClient]: ...
48+
def resource( # type: ignore [override]
6749
self,
6850
service_name: str,
6951
region_name: str | None = ...,

test.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
from aioboto3.session import Session
66

7-
session = Session("aws_access_key_id")
8-
session = Session(None)
9-
session = Session(123)
7+
8+
async def main() -> None:
9+
session = Session("aws_access_key_id")
10+
session = Session(None)
11+
session = Session(123)
12+
13+
async with session.client("s3") as client:
14+
client.create_bucket(Bucket="bucket")

0 commit comments

Comments
 (0)