Skip to content

Commit 57d9ba4

Browse files
committed
[AML-96242] Add Type annotations
1 parent d2c317d commit 57d9ba4

File tree

6 files changed

+257
-235
lines changed

6 files changed

+257
-235
lines changed

src/sagemaker/lineage/_utils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ def get_module(module_name):
4545
Returns:
4646
[obj]: The imported module
4747
"""
48-
return import_module(module_name)
48+
return import_module(module_name)

src/sagemaker/lineage/action.py

+54-49
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@
1313
"""This module contains code to create and manage SageMaker ``Actions``."""
1414
from __future__ import absolute_import
1515

16+
from typing import Type, Iterator, Optional
17+
from datetime import datetime
18+
19+
from sagemaker import Session
1620
from sagemaker.apiutils import _base_types
1721
from sagemaker.lineage import _api_types, _utils
22+
from sagemaker.lineage._api_types import ActionSource
1823

1924

2025
class Action(_base_types.Record):
@@ -53,46 +58,46 @@ class Action(_base_types.Record):
5358
last_modified_by (obj): Contextual info on which account created the action.
5459
"""
5560

56-
action_arn = None
57-
action_name = None
58-
action_type = None
59-
description = None
60-
status = None
61-
source = None
62-
properties = None
63-
properties_to_remove = None
64-
tags = None
65-
creation_time = None
66-
created_by = None
67-
last_modified_time = None
68-
last_modified_by = None
69-
70-
_boto_create_method = "create_action"
71-
_boto_load_method = "describe_action"
72-
_boto_update_method = "update_action"
73-
_boto_delete_method = "delete_action"
74-
75-
_boto_update_members = [
61+
action_arn: str = None
62+
action_name: str = None
63+
action_type: str = None
64+
description: str = None
65+
status: str = None
66+
source: object = None
67+
properties: dict[str, str] = None
68+
properties_to_remove: list[str] = None
69+
tags: list[dict[str, str]] = None
70+
creation_time: datetime = None
71+
created_by: object = None
72+
last_modified_time: datetime = None
73+
last_modified_by: object = None
74+
75+
_boto_create_method: str = "create_action"
76+
_boto_load_method: str = "describe_action"
77+
_boto_update_method: str = "update_action"
78+
_boto_delete_method: str = "delete_action"
79+
80+
_boto_update_members: list[str] = [
7681
"action_name",
7782
"description",
7883
"status",
7984
"properties",
8085
"properties_to_remove",
8186
]
8287

83-
_boto_delete_members = ["action_name"]
88+
_boto_delete_members: list[str] = ["action_name"]
8489

85-
_custom_boto_types = {"source": (_api_types.ActionSource, False)}
90+
_custom_boto_types: dict[str, tuple[Type[ActionSource], bool]] = {"source": (_api_types.ActionSource, False)}
8691

87-
def save(self):
92+
def save(self) -> object:
8893
"""Save the state of this Action to SageMaker.
8994
9095
Returns:
9196
Action: A SageMaker ``Action``object.
9297
"""
9398
return self._invoke_api(self._boto_update_method, self._boto_update_members)
9499

95-
def delete(self, disassociate=False):
100+
def delete(self, disassociate: bool = False):
96101
"""Delete the action.
97102
98103
Args:
@@ -110,7 +115,7 @@ def delete(self, disassociate=False):
110115
self._invoke_api(self._boto_delete_method, self._boto_delete_members)
111116

112117
@classmethod
113-
def load(cls, action_name, sagemaker_session=None):
118+
def load(cls, action_name: str, sagemaker_session: Session = None) -> object:
114119
"""Load an existing action and return an ``Action`` object representing it.
115120
116121
Args:
@@ -130,7 +135,7 @@ def load(cls, action_name, sagemaker_session=None):
130135
)
131136
return result
132137

133-
def set_tag(self, tag=None):
138+
def set_tag(self, tag: object = None) -> list[{str: str}]:
134139
"""Add a tag to the object.
135140
136141
Args:
@@ -140,7 +145,7 @@ def set_tag(self, tag=None):
140145
"""
141146
return self._set_tags(resource_arn=self.action_arn, tags=[tag])
142147

143-
def set_tags(self, tags=None):
148+
def set_tags(self, tags: list[{str: str}] = None) -> list[{str: str}]:
144149
"""Add tags to the object.
145150
146151
Args:
@@ -153,17 +158,17 @@ def set_tags(self, tags=None):
153158

154159
@classmethod
155160
def create(
156-
cls,
157-
action_name=None,
158-
source_uri=None,
159-
source_type=None,
160-
action_type=None,
161-
description=None,
162-
status=None,
163-
properties=None,
164-
tags=None,
165-
sagemaker_session=None,
166-
):
161+
cls,
162+
action_name: str = None,
163+
source_uri: str = None,
164+
source_type: str = None,
165+
action_type: str = None,
166+
description: str = None,
167+
status: str = None,
168+
properties: dict[str:str] = None,
169+
tags: list[dict[str:str]] = None,
170+
sagemaker_session: Session = None,
171+
) -> object:
167172
"""Create an action and return an ``Action`` object representing it.
168173
169174
Args:
@@ -197,17 +202,17 @@ def create(
197202

198203
@classmethod
199204
def list(
200-
cls,
201-
source_uri=None,
202-
action_type=None,
203-
created_after=None,
204-
created_before=None,
205-
sort_by=None,
206-
sort_order=None,
207-
sagemaker_session=None,
208-
max_results=None,
209-
next_token=None,
210-
):
205+
cls,
206+
source_uri: Optional[str] = None,
207+
action_type: Optional[str] = None,
208+
created_after: Optional[datetime] = None,
209+
created_before: Optional[datetime] = None,
210+
sort_by: Optional[str] = None,
211+
sort_order: Optional[str] = None,
212+
sagemaker_session: Session = None,
213+
max_results: Optional[int] = None,
214+
next_token: Optional[str] = None,
215+
) -> Iterator:
211216
"""Return a list of action summaries.
212217
213218
Args:

0 commit comments

Comments
 (0)